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=65... ============================================================================== --- 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; }
/*