diff --git a/.pick_status.json b/.pick_status.json index 652f042db8a..e210f7b7ba2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -31,7 +31,7 @@ "description": "vulkan: fix use-after-free in vk_common_DestroyDebugReportCallbackEXT", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "bd1705a4808f61513f5ff818679efd5c5f105f8a" }, diff --git a/src/vulkan/util/vk_debug_report.c b/src/vulkan/util/vk_debug_report.c index 376d7248347..db89e3d6f5d 100644 --- a/src/vulkan/util/vk_debug_report.c +++ b/src/vulkan/util/vk_debug_report.c @@ -88,10 +88,9 @@ vk_common_DestroyDebugReportCallbackEXT(VkInstance _instance, /* Remove from list and destroy given callback. */ mtx_lock(&instance->debug_report.callbacks_mutex); list_del(&callback->link); + vk_object_base_finish(&callback->base); vk_free2(&instance->alloc, pAllocator, callback); mtx_unlock(&instance->debug_report.callbacks_mutex); - - vk_object_base_finish(&callback->base); } static void