Commit 433639f7 authored by Rob Shearman's avatar Rob Shearman Committed by Alexandre Julliard

ole32: Free the memory associated with the open DLL list on unloading of ole32.

parent 1dc91c41
...@@ -965,6 +965,21 @@ static void COMPOBJ_DllList_ReleaseRef(OpenDll *entry, BOOL free_entry) ...@@ -965,6 +965,21 @@ static void COMPOBJ_DllList_ReleaseRef(OpenDll *entry, BOOL free_entry)
} }
} }
/* frees memory associated with active dll list */
static void COMPOBJ_DllList_Free(void)
{
OpenDll *entry, *cursor2;
EnterCriticalSection(&csOpenDllList);
LIST_FOR_EACH_ENTRY_SAFE(entry, cursor2, &openDllList, OpenDll, entry)
{
list_remove(&entry->entry);
HeapFree(GetProcessHeap(), 0, entry->library_name);
HeapFree(GetProcessHeap(), 0, entry);
}
LeaveCriticalSection(&csOpenDllList);
}
/****************************************************************************** /******************************************************************************
* CoBuildVersion [OLE32.@] * CoBuildVersion [OLE32.@]
* CoBuildVersion [COMPOBJ.1] * CoBuildVersion [COMPOBJ.1]
...@@ -3721,6 +3736,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) ...@@ -3721,6 +3736,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
OLEDD_UnInitialize(); OLEDD_UnInitialize();
COMPOBJ_UninitProcess(); COMPOBJ_UninitProcess();
RPC_UnregisterAllChannelHooks(); RPC_UnregisterAllChannelHooks();
COMPOBJ_DllList_Free();
OLE32_hInstance = 0; OLE32_hInstance = 0;
break; break;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment