Jeff Smith : d3drm: Check for NULL pointer in d3drm_viewport2_GetDirect3DViewport().

Alexandre Julliard julliard at winehq.org
Wed Jul 31 13:55:51 CDT 2019


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

Author: Jeff Smith <whydoubt at gmail.com>
Date:   Mon Jul  8 10:19:44 2019 -0500

d3drm: Check for NULL pointer in d3drm_viewport2_GetDirect3DViewport().

Signed-off-by: Jeff Smith <whydoubt at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3drm/tests/d3drm.c | 4 ++++
 dlls/d3drm/viewport.c    | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index 67696d5..88f3db8 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -2155,6 +2155,8 @@ static void test_Viewport(void)
     ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
     hr = IDirect3DRMViewport_GetDevice(viewport, NULL);
     ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
+    hr = IDirect3DRMViewport_GetDirect3DViewport(viewport, NULL);
+    ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
 
     IDirect3DRMViewport_Release(viewport);
     ref4 = get_refcount((IUnknown *)d3drm1);
@@ -2245,6 +2247,8 @@ static void test_Viewport(void)
     ok(hr == D3DRMERR_BADOBJECT, "Expected hr == D3DRMERR_BADOBJECT, got %#x.\n", hr);
     hr = IDirect3DRMViewport2_GetDevice(viewport2, NULL);
     ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
+    hr = IDirect3DRMViewport2_GetDirect3DViewport(viewport2, NULL);
+    ok(hr == D3DRMERR_BADVALUE, "Expected hr == D3DRMERR_BADVALUE, got %#x.\n", hr);
 
     IDirect3DRMViewport2_Release(viewport2);
     ref4 = get_refcount((IUnknown *)d3drm1);
diff --git a/dlls/d3drm/viewport.c b/dlls/d3drm/viewport.c
index d049f37..430c9d4 100644
--- a/dlls/d3drm/viewport.c
+++ b/dlls/d3drm/viewport.c
@@ -896,6 +896,9 @@ static HRESULT WINAPI d3drm_viewport2_GetDirect3DViewport(IDirect3DRMViewport2 *
 
     TRACE("iface %p, viewport %p.\n", iface, viewport);
 
+    if (!viewport)
+        return D3DRMERR_BADVALUE;
+
     if (!viewport_object->d3d_viewport)
         return D3DRMERR_BADOBJECT;
 




More information about the wine-cvs mailing list