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/dllm…
==============================================================================
--- 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"));