From: Zebediah Figura Subject: [PATCH 4/7] compobj: Always set the IMalloc pointer in CoInitialize(). Message-Id: <20200115062433.778937-4-z.figura12@gmail.com> Date: Wed, 15 Jan 2020 00:24:30 -0600 In-Reply-To: <20200115062433.778937-1-z.figura12@gmail.com> References: <20200115062433.778937-1-z.figura12@gmail.com> Signed-off-by: Zebediah Figura --- dlls/compobj.dll16/compobj.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/dlls/compobj.dll16/compobj.c b/dlls/compobj.dll16/compobj.c index 701f0012ff..44a7091ef1 100644 --- a/dlls/compobj.dll16/compobj.c +++ b/dlls/compobj.dll16/compobj.c @@ -253,8 +253,6 @@ DWORD WINAPI CoBuildVersion16(void) */ HRESULT WINAPI CoGetMalloc16(MEMCTX context, SEGPTR *malloc) { - if (!compobj_malloc) - compobj_malloc = IMalloc16_Constructor(); *malloc = compobj_malloc; return S_OK; } @@ -275,17 +273,13 @@ HRESULT WINAPI CoCreateStandardMalloc16(MEMCTX context, SEGPTR *malloc) */ SEGPTR WINAPI CoMemAlloc(DWORD size, MEMCTX context, DWORD unknown) { - SEGPTR malloc; - TRACE("size %u, context %d, unknown %#x.\n", size, context, unknown); if (context != MEMCTX_TASK) FIXME("Ignoring context %d.\n", context); if (unknown) FIXME("Ignoring unknown parameter %#x.\n", unknown); - if (CoGetMalloc16(0, &malloc)) - return 0; - return call_IMalloc_Alloc(malloc, size); + return call_IMalloc_Alloc(compobj_malloc, size); } /*********************************************************************** @@ -293,6 +287,8 @@ SEGPTR WINAPI CoMemAlloc(DWORD size, MEMCTX context, DWORD unknown) */ HRESULT WINAPI CoInitialize16(SEGPTR malloc) { + if (!malloc) + CoCreateStandardMalloc16(MEMCTX_TASK, &malloc); compobj_malloc = malloc; return S_OK; } -- 2.25.0