[FAST486]
authorAleksandar Andrejevic <aandrejevic@reactos.org>
Fri, 1 Nov 2013 02:08:34 +0000 (02:08 +0000)
committerAleksandar Andrejevic <aandrejevic@reactos.org>
Fri, 1 Nov 2013 02:08:34 +0000 (02:08 +0000)
Fix a bug in the IRET instruction.

svn path=/branches/ntvdm/; revision=60817

lib/fast486/opcodes.c

index 66e1d70..1ef0dec 100644 (file)
@@ -4613,7 +4613,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeInt)
 
 FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
 {
-    USHORT i;
+    FAST486_SEG_REGS i;
     ULONG InstPtr, CodeSel, StackPtr, StackSel;
     FAST486_FLAGS_REG NewFlags;
     BOOLEAN Size = State->SegmentRegs[FAST486_REG_CS].Size;
@@ -4777,7 +4777,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeIret)
             Cpl = Fast486GetCurrentPrivLevel(State);
 
             /* Check segment security */
-            for (i = 0; i <= FAST486_NUM_SEG_REGS; i++)
+            for (i = 0; i < FAST486_NUM_SEG_REGS; i++)
             {
                 /* Don't check CS or SS */
                 if ((i == FAST486_REG_CS) || (i == FAST486_REG_SS)) continue;