From c9522f3ab89be41f473f938b2a6414228b6185a0 Mon Sep 17 00:00:00 2001 From: Andrew Munger Date: Tue, 16 Aug 2005 23:37:17 +0000 Subject: [PATCH] Do not free a Critical Section we did not initialize. Fixes the silent UM exception I was seeing while trying to install VMWare tools. Patch by Filip. svn path=/trunk/; revision=17418 --- reactos/lib/kernel32/misc/dllmain.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/reactos/lib/kernel32/misc/dllmain.c b/reactos/lib/kernel32/misc/dllmain.c index f429dbfaec7..53ed5666adc 100644 --- a/reactos/lib/kernel32/misc/dllmain.c +++ b/reactos/lib/kernel32/misc/dllmain.c @@ -26,6 +26,7 @@ HMODULE hCurrentModule = NULL; HANDLE hBaseDir = NULL; static BOOL DllInitialized = FALSE; +static BOOL ConsoleInitialized = FALSE; BOOL STDCALL DllMain(HANDLE hInst, @@ -141,6 +142,7 @@ BasepInitConsole(VOID) } /* Initialize Console Ctrl Handler */ + ConsoleInitialized = TRUE; RtlInitializeCriticalSection(&ConsoleLock); SetConsoleCtrlHandler(DefaultConsoleCtrlHandler, TRUE); @@ -289,7 +291,10 @@ DllMain(HANDLE hDll, NlsUninit(); /* Delete DLL critical section */ - RtlDeleteCriticalSection (&ConsoleLock); + if (ConsoleInitialized == TRUE) + { + RtlDeleteCriticalSection (&ConsoleLock); + } RtlDeleteCriticalSection (&DllLock); /* Close object base directory */ -- 2.17.1