ole32: Improve locking safety in IMalloc::HeapMinimize().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2020-04-20 10:59:20 +03:00 committed by Alexandre Julliard
parent da5903e7d1
commit 1039a77562
1 changed files with 14 additions and 9 deletions

View File

@ -363,17 +363,22 @@ static INT WINAPI IMalloc_fnDidAlloc(IMalloc *iface, void *mem)
*/
static void WINAPI IMalloc_fnHeapMinimize(IMalloc *iface)
{
TRACE("()\n");
BOOL spy_active = FALSE;
if(Malloc32.pSpy) {
EnterCriticalSection(&IMalloc32_SpyCS);
IMallocSpy_PreHeapMinimize(Malloc32.pSpy);
}
TRACE("()\n");
if(Malloc32.pSpy) {
IMallocSpy_PostHeapMinimize(Malloc32.pSpy);
LeaveCriticalSection(&IMalloc32_SpyCS);
}
if (Malloc32.pSpy)
{
EnterCriticalSection(&IMalloc32_SpyCS);
spy_active = TRUE;
IMallocSpy_PreHeapMinimize(Malloc32.pSpy);
}
if (spy_active)
{
IMallocSpy_PostHeapMinimize(Malloc32.pSpy);
LeaveCriticalSection(&IMalloc32_SpyCS);
}
}
static const IMallocVtbl VT_IMalloc32 =