From 3912085c5f94d63d4f9a9d04c3684646d2c762a9 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 3 Jun 2020 12:09:48 +0100 Subject: [PATCH] Check output pointer before writing --- renderdoc/driver/dxgi/dxgi_hooks.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/renderdoc/driver/dxgi/dxgi_hooks.cpp b/renderdoc/driver/dxgi/dxgi_hooks.cpp index 115c61ffa..9cd903100 100644 --- a/renderdoc/driver/dxgi/dxgi_hooks.cpp +++ b/renderdoc/driver/dxgi/dxgi_hooks.cpp @@ -314,7 +314,8 @@ private: if(riid == __uuidof(IDXGraphicsAnalysis)) { dxgihooks.m_RenderDocAnalysis.AddRef(); - *ppDebug = &dxgihooks.m_RenderDocAnalysis; + if(ppDebug) + *ppDebug = &dxgihooks.m_RenderDocAnalysis; return S_OK; } if(riid == __uuidof(IDXGIInfoQueue)) @@ -323,7 +324,8 @@ private: "Returning a dummy IDXGIInfoQueue that does nothing. RenderDoc takes control of the " "debug layer."); dxgihooks.m_DummyInfoQueue.AddRef(); - *ppDebug = &dxgihooks.m_DummyInfoQueue; + if(ppDebug) + *ppDebug = &dxgihooks.m_DummyInfoQueue; return S_OK; } @@ -343,7 +345,8 @@ private: if(riid == __uuidof(IDXGraphicsAnalysis)) { dxgihooks.m_RenderDocAnalysis.AddRef(); - *ppDebug = &dxgihooks.m_RenderDocAnalysis; + if(ppDebug) + *ppDebug = &dxgihooks.m_RenderDocAnalysis; return S_OK; } if(riid == __uuidof(IDXGIInfoQueue)) @@ -352,7 +355,8 @@ private: "Returning a dummy IDXGIInfoQueue that does nothing. RenderDoc takes control of the " "debug layer."); dxgihooks.m_DummyInfoQueue.AddRef(); - *ppDebug = &dxgihooks.m_DummyInfoQueue; + if(ppDebug) + *ppDebug = &dxgihooks.m_DummyInfoQueue; return S_OK; }