diff --git a/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp index 7bf50e371..dd9b137f1 100644 --- a/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp @@ -103,8 +103,10 @@ bool WrappedOpenGL::Serialise_glShaderSource(GLuint shader, GLsizei count, const if(m_State == READING) { - const char **strings = new const char*[srcs.size()]; - for(size_t i=0; i < srcs.size(); i++) + size_t numStrings = srcs.size(); + + const char **strings = new const char*[numStrings]; + for(size_t i=0; i < numStrings; i++) strings[i] = srcs[i].c_str(); ResourceId liveId = GetResourceManager()->GetLiveID(id); diff --git a/renderdoc/hooks/dxgi_hooks.cpp b/renderdoc/hooks/dxgi_hooks.cpp index 1238f79ed..5fbb67510 100644 --- a/renderdoc/hooks/dxgi_hooks.cpp +++ b/renderdoc/hooks/dxgi_hooks.cpp @@ -93,6 +93,7 @@ private: static HRESULT WINAPI CreateDXGIFactory_hook(__in REFIID riid, __out void **ppFactory) { + if(ppFactory) *ppFactory = NULL; HRESULT ret = dxgihooks.CreateDXGIFactory()(riid, ppFactory); if(SUCCEEDED(ret) && dxgihooks.m_EnabledHooks) @@ -103,6 +104,7 @@ private: static HRESULT WINAPI CreateDXGIFactory1_hook(__in REFIID riid, __out void **ppFactory) { + if(ppFactory) *ppFactory = NULL; HRESULT ret = dxgihooks.CreateDXGIFactory1()(riid, ppFactory); if(SUCCEEDED(ret) && dxgihooks.m_EnabledHooks) diff --git a/renderdoc/hooks/sys_win32_hooks.cpp b/renderdoc/hooks/sys_win32_hooks.cpp index da388e709..5e18663a1 100644 --- a/renderdoc/hooks/sys_win32_hooks.cpp +++ b/renderdoc/hooks/sys_win32_hooks.cpp @@ -112,6 +112,10 @@ class SysHook : LibraryHook { lpProcessInformation = &dummy; } + else + { + *lpProcessInformation = dummy; + } dwCreationFlags |= CREATE_SUSPENDED; @@ -164,6 +168,10 @@ class SysHook : LibraryHook { lpProcessInformation = &dummy; } + else + { + *lpProcessInformation = dummy; + } dwCreationFlags |= CREATE_SUSPENDED;