mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
- Don't continue the exception if there are no seh frames at all.
svn path=/trunk/; revision=5286
This commit is contained in:
parent
4a35181ef2
commit
fc10a5b013
1 changed files with 10 additions and 3 deletions
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: exception.c,v 1.7 2003/07/11 01:23:16 royce Exp $
|
/* $Id: exception.c,v 1.8 2003/07/27 11:49:32 dwelch Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS kernel
|
* PROJECT: ReactOS kernel
|
||||||
|
@ -164,6 +164,13 @@ RtlpDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
|
||||||
|
|
||||||
DPRINT("RegistrationFrame is 0x%X\n", RegistrationFrame);
|
DPRINT("RegistrationFrame is 0x%X\n", RegistrationFrame);
|
||||||
|
|
||||||
|
/* Check if there are any exception handlers at all. */
|
||||||
|
if ((ULONG_PTR)RegistrationFrame == (ULONG_PTR)-1)
|
||||||
|
{
|
||||||
|
ExceptionRecord->ExceptionFlags |= EXCEPTION_NONCONTINUABLE;
|
||||||
|
return ExceptionContinueExecution;
|
||||||
|
}
|
||||||
|
|
||||||
while ((ULONG_PTR)RegistrationFrame != (ULONG_PTR)-1)
|
while ((ULONG_PTR)RegistrationFrame != (ULONG_PTR)-1)
|
||||||
{
|
{
|
||||||
EXCEPTION_RECORD ExceptionRecord2;
|
EXCEPTION_RECORD ExceptionRecord2;
|
||||||
|
@ -273,9 +280,9 @@ RtlpDispatchException(IN PEXCEPTION_RECORD ExceptionRecord,
|
||||||
|
|
||||||
ExceptionRecord->ExceptionFlags |= EXCEPTION_EXIT_UNWIND;
|
ExceptionRecord->ExceptionFlags |= EXCEPTION_EXIT_UNWIND;
|
||||||
if (DispatcherContext > Temp)
|
if (DispatcherContext > Temp)
|
||||||
{
|
{
|
||||||
Temp = DispatcherContext;
|
Temp = DispatcherContext;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else /* if (ReturnValue == ExceptionCollidedUnwind) */
|
else /* if (ReturnValue == ExceptionCollidedUnwind) */
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue