- A missing "return" statement to KiDispatchException which was causing all user-mode exceptions to become second-chance and thus crash the app. mIRC works again, and probably numerous other apps (mozilla as well i think, since it had the same issue)

svn path=/trunk/; revision=24169
This commit is contained in:
Alex Ionescu 2006-09-17 15:01:57 +00:00
parent 551811ac52
commit adb93d9531

View file

@ -594,11 +594,11 @@ KeTrapFrameToContext(IN PKTRAP_FRAME TrapFrame,
VOID VOID
NTAPI NTAPI
KiDispatchException(PEXCEPTION_RECORD ExceptionRecord, KiDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
PKEXCEPTION_FRAME ExceptionFrame, IN PKEXCEPTION_FRAME ExceptionFrame,
PKTRAP_FRAME TrapFrame, IN PKTRAP_FRAME TrapFrame,
KPROCESSOR_MODE PreviousMode, IN KPROCESSOR_MODE PreviousMode,
BOOLEAN FirstChance) IN BOOLEAN FirstChance)
{ {
CONTEXT Context; CONTEXT Context;
ULONG_PTR Stack, NewStack; ULONG_PTR Stack, NewStack;
@ -636,6 +636,7 @@ KiDispatchException(PEXCEPTION_RECORD ExceptionRecord,
Context.Eip--; Context.Eip--;
} }
/* Sanity check */
ASSERT(!((PreviousMode == KernelMode) && ASSERT(!((PreviousMode == KernelMode) &&
(Context.EFlags & EFLAGS_V86_MASK))); (Context.EFlags & EFLAGS_V86_MASK)));
@ -784,6 +785,9 @@ DispatchToUser:
} }
} }
_SEH_END; _SEH_END;
/* Dispatch exception to user-mode */
return;
} }
/* Try second chance */ /* Try second chance */