[PATCH v2 1/3] d3drm: Check for NULL pointer in d3drm_viewport2_GetDevice().

Jeff Smith whydoubt at gmail.com
Mon Jul 8 10:19:43 CDT 2019


Signed-off-by: Jeff Smith <whydoubt at gmail.com>
---
 dlls/d3drm/tests/d3drm.c | 4 ++++
 dlls/d3drm/viewport.c    | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/dlls/d3drm/tests/d3drm.c b/dlls/d3drm/tests/d3drm.c
index ea68838948..ba34ecddfb 100644
--- a/dlls/d3drm/tests/d3drm.c
+++ b/dlls/d3drm/tests/d3drm.c
@@ -2153,6 +2153,8 @@ static void test_Viewport(void)
 
     hr = IDirect3DRMViewport_Init(viewport, device1, frame, rc.left, rc.top, rc.right, rc.bottom);
     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);
 
     IDirect3DRMViewport_Release(viewport);
     ref4 = get_refcount((IUnknown *)d3drm1);
@@ -2241,6 +2243,8 @@ static void test_Viewport(void)
 
     hr = IDirect3DRMViewport2_Init(viewport2, device3, frame3, rc.left, rc.top, rc.right, rc.bottom);
     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);
 
     IDirect3DRMViewport2_Release(viewport2);
     ref4 = get_refcount((IUnknown *)d3drm1);
diff --git a/dlls/d3drm/viewport.c b/dlls/d3drm/viewport.c
index 51174cd59e..d049f37213 100644
--- a/dlls/d3drm/viewport.c
+++ b/dlls/d3drm/viewport.c
@@ -683,6 +683,9 @@ static HRESULT WINAPI d3drm_viewport2_GetDevice(IDirect3DRMViewport2 *iface, IDi
 
     TRACE("iface %p, device %p.\n", iface, device);
 
+    if (!device)
+        return D3DRMERR_BADVALUE;
+
     if (!viewport->device)
         return D3DRMERR_BADOBJECT;
 
@@ -698,6 +701,9 @@ static HRESULT WINAPI d3drm_viewport1_GetDevice(IDirect3DRMViewport *iface, IDir
 
     TRACE("iface %p, device %p.\n\n", iface, device);
 
+    if (!device)
+        return D3DRMERR_BADVALUE;
+
     if (!viewport->device)
         return D3DRMERR_BADOBJECT;
 
-- 
2.14.3




More information about the wine-devel mailing list