ole32: Free the memory associated with the open DLL list on unloading of ole32.
This commit is contained in:
parent
1dc91c41a7
commit
433639f783
|
@ -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)
|
||||||
OLEDD_UnInitialize();
|
OLEDD_UnInitialize();
|
||||||
COMPOBJ_UninitProcess();
|
COMPOBJ_UninitProcess();
|
||||||
RPC_UnregisterAllChannelHooks();
|
RPC_UnregisterAllChannelHooks();
|
||||||
|
COMPOBJ_DllList_Free();
|
||||||
OLE32_hInstance = 0;
|
OLE32_hInstance = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue