Author: hpoussin Date: Sun Jul 19 20:37:58 2009 New Revision: 42089
URL: http://svn.reactos.org/svn/reactos?rev=42089&view=rev Log: Fix bug introduced in r1514, where memory was freed once in DLL_THREAD_DETACH and once more in DLL_PROCESS_DETACH
Modified: trunk/reactos/dll/win32/ws2_32/misc/dllmain.c
Modified: trunk/reactos/dll/win32/ws2_32/misc/dllmain.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ws2_32/misc/dllma... ============================================================================== --- trunk/reactos/dll/win32/ws2_32/misc/dllmain.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ws2_32/misc/dllmain.c [iso-8859-1] Sun Jul 19 20:37:58 2009 @@ -885,25 +885,20 @@
case DLL_PROCESS_DETACH: { + DestroyCatalog(); + + FreeProviderHandleTable(); + } + break; + + case DLL_THREAD_DETACH: + { p = NtCurrentTeb()->WinSockData;
if (p) HeapFree(GlobalHeap, 0, p); - - DestroyCatalog(); - - FreeProviderHandleTable(); } break; - - case DLL_THREAD_DETACH: - { - p = NtCurrentTeb()->WinSockData; - - if (p) - HeapFree(GlobalHeap, 0, p); - } - break; }
WS_DbgPrint(MAX_TRACE, ("DllMain of ws2_32.dll. Leaving.\n"));