From af8c6800875292d7d00f375e26e32710c970409e Mon Sep 17 00:00:00 2001 From: David Rosca Date: Thu, 5 Sep 2024 09:30:35 +0200 Subject: [PATCH] vulkan/wsi: Fix stack-use-after-scope in x11_surface_create_swapchain drm_image_params and num_modifiers are used outside the if-scope as wsi_swapchain_init argument. Fixes: 8f6fca89aa1 ("meson: delete dri3 build option") Part-of: --- src/vulkan/wsi/wsi_common_x11.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/vulkan/wsi/wsi_common_x11.c b/src/vulkan/wsi/wsi_common_x11.c index dd57862e357..9cc4b25ad2e 100644 --- a/src/vulkan/wsi/wsi_common_x11.c +++ b/src/vulkan/wsi/wsi_common_x11.c @@ -2620,6 +2620,10 @@ x11_surface_create_swapchain(VkIcdSurfaceBase *icd_surface, } #endif +#ifdef HAVE_X11_DRM + struct wsi_drm_image_params drm_image_params; + uint32_t num_modifiers[2] = {0, 0}; +#endif struct wsi_base_image_params *image_params = NULL; struct wsi_cpu_image_params cpu_image_params; uint64_t *modifiers[2] = {NULL, NULL}; @@ -2631,8 +2635,7 @@ x11_surface_create_swapchain(VkIcdSurfaceBase *icd_surface, image_params = &cpu_image_params.base; } else { #ifdef HAVE_X11_DRM - uint32_t num_modifiers[2] = {0, 0}; - struct wsi_drm_image_params drm_image_params = { + drm_image_params = (struct wsi_drm_image_params) { .base.image_type = WSI_IMAGE_TYPE_DRM, .same_gpu = wsi_x11_check_dri3_compatible(wsi_device, conn), .explicit_sync =