From fc9a5ff65cbcb0247d4c8a6897418364033e4fd8 Mon Sep 17 00:00:00 2001 From: aliaspider Date: Thu, 22 Mar 2018 22:10:05 +0100 Subject: [PATCH] prevent use-after-free. --- Common/LogManager.cpp | 1 + GPU/Vulkan/TextureCacheVulkan.cpp | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Common/LogManager.cpp b/Common/LogManager.cpp index 50375b8c21..c138f34533 100644 --- a/Common/LogManager.cpp +++ b/Common/LogManager.cpp @@ -176,6 +176,7 @@ void LogManager::ChangeFileLog(const char *filename) { if (fileLog_) { RemoveListener(fileLog_); delete fileLog_; + fileLog_ = nullptr; } if (filename) { diff --git a/GPU/Vulkan/TextureCacheVulkan.cpp b/GPU/Vulkan/TextureCacheVulkan.cpp index 73085778f1..cd2fd70008 100644 --- a/GPU/Vulkan/TextureCacheVulkan.cpp +++ b/GPU/Vulkan/TextureCacheVulkan.cpp @@ -182,7 +182,11 @@ void TextureCacheVulkan::DeviceLost() { } samplerCache_.DeviceLost(); - vulkan_->Delete().QueueDeleteSampler(samplerNearest_); + + if(samplerNearest_) { + vulkan_->Delete().QueueDeleteSampler(samplerNearest_); + samplerNearest_ = VK_NULL_HANDLE; + } nextTexture_ = nullptr; }