diff --git a/renderdoc/driver/d3d11/d3d11_device.cpp b/renderdoc/driver/d3d11/d3d11_device.cpp index 432248fe7..41beb31e3 100644 --- a/renderdoc/driver/d3d11/d3d11_device.cpp +++ b/renderdoc/driver/d3d11/d3d11_device.cpp @@ -953,7 +953,10 @@ ReplayStatus WrappedID3D11Device::ReadLogInitialisation(RDCFile *rdc, bool store StreamReader *reader = rdc->ReadSection(sectionIdx); if(reader->IsErrored()) + { + delete reader; return ReplayStatus::FileIOFailed; + } ReadSerialiser ser(reader, Ownership::Stream); diff --git a/renderdoc/driver/d3d12/d3d12_device.cpp b/renderdoc/driver/d3d12/d3d12_device.cpp index baad4c0d5..3e2daa268 100644 --- a/renderdoc/driver/d3d12/d3d12_device.cpp +++ b/renderdoc/driver/d3d12/d3d12_device.cpp @@ -2398,7 +2398,10 @@ ReplayStatus WrappedID3D12Device::ReadLogInitialisation(RDCFile *rdc, bool store StreamReader *reader = rdc->ReadSection(sectionIdx); if(reader->IsErrored()) + { + delete reader; return ReplayStatus::FileIOFailed; + } ReadSerialiser ser(reader, Ownership::Stream); diff --git a/renderdoc/driver/gl/gl_driver.cpp b/renderdoc/driver/gl/gl_driver.cpp index a2155bca6..129cda445 100644 --- a/renderdoc/driver/gl/gl_driver.cpp +++ b/renderdoc/driver/gl/gl_driver.cpp @@ -3078,7 +3078,10 @@ ReplayStatus WrappedOpenGL::ReadLogInitialisation(RDCFile *rdc, bool storeStruct StreamReader *reader = rdc->ReadSection(sectionIdx); if(reader->IsErrored()) + { + delete reader; return ReplayStatus::FileIOFailed; + } ReadSerialiser ser(reader, Ownership::Stream); diff --git a/renderdoc/driver/vulkan/vk_core.cpp b/renderdoc/driver/vulkan/vk_core.cpp index f7860a8c0..9085900d3 100644 --- a/renderdoc/driver/vulkan/vk_core.cpp +++ b/renderdoc/driver/vulkan/vk_core.cpp @@ -1440,7 +1440,10 @@ ReplayStatus WrappedVulkan::ReadLogInitialisation(RDCFile *rdc, bool storeStruct StreamReader *reader = rdc->ReadSection(sectionIdx); if(reader->IsErrored()) + { + delete reader; return ReplayStatus::FileIOFailed; + } ReadSerialiser ser(reader, Ownership::Stream);