From a596cbb8478372411f8596e28b68ff547ec6aee7 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Sun, 4 May 2014 20:35:15 +0400 Subject: [PATCH] dmime: Fix handling of NULL out pointer in QI. --- dlls/dmime/segmentstate.c | 3 +++ dlls/dmime/tests/dmime.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/dlls/dmime/segmentstate.c b/dlls/dmime/segmentstate.c index 8a9ed1fb573..b1b176ca5ca 100644 --- a/dlls/dmime/segmentstate.c +++ b/dlls/dmime/segmentstate.c @@ -37,6 +37,9 @@ static HRESULT WINAPI DirectMusicSegmentState8_QueryInterface(IDirectMusicSegmen TRACE("(%p, %s, %p)\n", This, debugstr_dmguid(riid), ppobj); + if (!ppobj) + return E_POINTER; + *ppobj = NULL; if (IsEqualIID(riid, &IID_IUnknown) || diff --git a/dlls/dmime/tests/dmime.c b/dlls/dmime/tests/dmime.c index 669e99ec978..c1c2caa145f 100644 --- a/dlls/dmime/tests/dmime.c +++ b/dlls/dmime/tests/dmime.c @@ -293,6 +293,9 @@ static void test_COM_segmentstate(void) ok(refcount == 4, "refcount == %u, expected 4\n", refcount); refcount = IUnknown_Release(unk); + hr = IDirectMusicSegmentState8_QueryInterface(dmss8, &IID_IUnknown, NULL); + ok(hr == E_POINTER, "got %08x\n", hr); + while (IDirectMusicSegmentState8_Release(dmss8)); } -- 2.11.4.GIT