From 824e5dba51aca08204045e440be9c253a8469ac2 Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sat, 20 Oct 2018 15:38:21 +0200 Subject: [PATCH] [KERNEL32] Directly use UnhandledExceptionFilter in BaseProcessStartup --- dll/win32/kernel32/client/proc.c | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/dll/win32/kernel32/client/proc.c b/dll/win32/kernel32/client/proc.c index dbd5c10d0ff..f36219457b2 100644 --- a/dll/win32/kernel32/client/proc.c +++ b/dll/win32/kernel32/client/proc.c @@ -445,33 +445,6 @@ BasepSxsCloseHandles(IN PBASE_MSG_SXS_HANDLES Handles) } } -static -LONG BaseExceptionFilter(EXCEPTION_POINTERS *ExceptionInfo) -{ - LONG ExceptionDisposition = EXCEPTION_EXECUTE_HANDLER; - LPTOP_LEVEL_EXCEPTION_FILTER RealFilter; - RealFilter = RtlDecodePointer(GlobalTopLevelExceptionFilter); - - if (RealFilter != NULL) - { - _SEH2_TRY - { - ExceptionDisposition = RealFilter(ExceptionInfo); - } - _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) - { - } - _SEH2_END; - } - if ((ExceptionDisposition == EXCEPTION_CONTINUE_SEARCH || ExceptionDisposition == EXCEPTION_EXECUTE_HANDLER) && - RealFilter != UnhandledExceptionFilter) - { - ExceptionDisposition = UnhandledExceptionFilter(ExceptionInfo); - } - - return ExceptionDisposition; -} - VOID WINAPI BaseProcessStartup(PPROCESS_START_ROUTINE lpStartAddress) @@ -489,7 +462,7 @@ BaseProcessStartup(PPROCESS_START_ROUTINE lpStartAddress) /* Call the Start Routine */ ExitThread(lpStartAddress()); } - _SEH2_EXCEPT(BaseExceptionFilter(_SEH2_GetExceptionInformation())) + _SEH2_EXCEPT(UnhandledExceptionFilter(_SEH2_GetExceptionInformation())) { /* Get the Exit code from the SEH Handler */ if (!BaseRunningInServerProcess)