From 7daa262486aa266e039e344f8ff66177714fcfb7 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Mon, 2 Mar 2020 17:05:59 -0600 Subject: [PATCH] vulkan/wsi: Don't leak the FD when GetImageDrmFormatModifierProperties fails Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Lionel Landwerlin Part-of: (cherry picked from commit 34d2637fa76ba4dd1969f06352e191ccb228d8f3) --- .pick_status.json | 2 +- src/vulkan/wsi/wsi_common.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index c8944a35687..50c7863d733 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -31,7 +31,7 @@ "description": "vulkan/wsi: Don't leak the FD when GetImageDrmFormatModifierProperties fails", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/vulkan/wsi/wsi_common.c b/src/vulkan/wsi/wsi_common.c index 0adf54eab8f..c278d5d1347 100644 --- a/src/vulkan/wsi/wsi_common.c +++ b/src/vulkan/wsi/wsi_common.c @@ -588,8 +588,10 @@ wsi_create_native_image(const struct wsi_swapchain *chain, result = wsi->GetImageDrmFormatModifierPropertiesEXT(chain->device, image->image, &image_mod_props); - if (result != VK_SUCCESS) + if (result != VK_SUCCESS) { + close(fd); goto fail; + } image->drm_modifier = image_mod_props.drmFormatModifier; assert(image->drm_modifier != DRM_FORMAT_MOD_INVALID);