Nikolay Sivov : dmime: Fix handling of NULL out pointer in QI.

Alexandre Julliard julliard at winehq.org
Mon May 5 15:03:26 CDT 2014


Module: wine
Branch: master
Commit: a596cbb8478372411f8596e28b68ff547ec6aee7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a596cbb8478372411f8596e28b68ff547ec6aee7

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Sun May  4 20:35:15 2014 +0400

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 8a9ed1f..b1b176c 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 669e99e..c1c2caa 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));
 }
 




More information about the wine-cvs mailing list