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=6…
==============================================================================
--- 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;
}
/*