mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-25 04:50:38 +02:00
vulkan/wsi: fix double free on error condition
On error during wsi_wl_surface_create_swapchain(), wsi_wl_swapchain_chain_free() is called, followed by vk_free() of the recently freed chain. Move the vk_free() to wsi_wl_swapchain_destroy() to avoid the double free. Fixes dEQP-VK.wsi.wayland.swapchain.simulate_oom.* Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23383>
This commit is contained in:
parent
d22a86c77c
commit
39e057028c
1 changed files with 2 additions and 2 deletions
|
|
@ -2168,8 +2168,6 @@ wsi_wl_swapchain_chain_free(struct wsi_wl_swapchain *chain,
|
|||
}
|
||||
|
||||
wsi_swapchain_finish(&chain->base);
|
||||
|
||||
vk_free(pAllocator, chain);
|
||||
}
|
||||
|
||||
static VkResult
|
||||
|
|
@ -2181,6 +2179,8 @@ wsi_wl_swapchain_destroy(struct wsi_swapchain *wsi_chain,
|
|||
wsi_wl_swapchain_images_free(chain);
|
||||
wsi_wl_swapchain_chain_free(chain, pAllocator);
|
||||
|
||||
vk_free(pAllocator, chain);
|
||||
|
||||
return VK_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue