Author: aandrejevic
Date: Sat Nov  8 05:56:49 2014
New Revision: 65313

URL: http://svn.reactos.org/svn/reactos?rev=65313&view=rev
Log:
[FAST486]
Clear the prefix flags when an exception occurs.
Add another missing return after a call to Fast486Exception.


Modified:
    trunk/reactos/lib/fast486/common.c

Modified: trunk/reactos/lib/fast486/common.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/fast486/common.c?rev=65313&r1=65312&r2=65313&view=diff
==============================================================================
--- trunk/reactos/lib/fast486/common.c  [iso-8859-1] (original)
+++ trunk/reactos/lib/fast486/common.c  [iso-8859-1] Sat Nov  8 05:56:49 2014
@@ -290,11 +290,8 @@
         
         if (GateSize != (State->SegmentRegs[FAST486_REG_CS].Size))
         {
-            /*
-             * The gate size doesn't match the current operand size, so toggle
-             * the OPSIZE flag.
-             */
-            State->PrefixFlags ^= FAST486_PREFIX_OPSIZE;
+            /* The gate size doesn't match the current operand size, so set 
the OPSIZE flag. */
+            State->PrefixFlags |= FAST486_PREFIX_OPSIZE;
         }
 
         /* Check if the interrupt handler is more privileged */
@@ -469,6 +466,9 @@
         return;
     }
 
+    /* Clear the prefix flags */
+    State->PrefixFlags = 0;
+
     /* Restore the IP to the saved IP */
     State->InstPtr = State->SavedInstPtr;
 
@@ -566,7 +566,8 @@
     if (NewTssLimit < sizeof(FAST486_TSS))
     {
         /* TSS limit too small */
-        Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_TS, Selector); 
+        Fast486ExceptionWithErrorCode(State, FAST486_EXCEPTION_TS, Selector);
+        return FALSE;
     }
 
     /*


Reply via email to