The modifiers array hasn't been initialised by then, much less with data that would need freeing. Move the label after the loop to fix this.
Signed-off-by: Eric Engestrom <[email protected]> --- src/vulkan/wsi/wsi_common_x11.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/vulkan/wsi/wsi_common_x11.c b/src/vulkan/wsi/wsi_common_x11.c index 62739b99125412ec9d73..1bfbc7c30019a63b6599 100644 --- a/src/vulkan/wsi/wsi_common_x11.c +++ b/src/vulkan/wsi/wsi_common_x11.c @@ -1421,10 +1421,10 @@ x11_surface_create_swapchain(VkIcdSurfaceBase *icd_surface, for (uint32_t j = 0; j < image; j++) x11_image_finish(chain, pAllocator, &chain->images[j]); + for (int i = 0; i < ARRAY_SIZE(modifiers); i++) + vk_free(pAllocator, modifiers[i]); + fail_register: - for (int i = 0; i < ARRAY_SIZE(modifiers); i++) - vk_free(pAllocator, modifiers[i]); - xcb_unregister_for_special_event(chain->conn, chain->special_event); wsi_swapchain_finish(&chain->base); -- Cheers, Eric _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
