From b63dfcc1722b2da4d360f8cbcce32530b90303be Mon Sep 17 00:00:00 2001 From: YaoBing Xiao Date: Thu, 24 Oct 2024 10:48:13 +0800 Subject: [PATCH] vulkan/x11: use xcb_connection_has_error to check for failue xcb_connectxx() always returns a non-NULL pointer to a xcb_connection_t, even on failure. cc: mesa-stable Signed-off-by: YaoBing Xiao Part-of: --- src/vulkan/device-select-layer/device_select_x11.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/vulkan/device-select-layer/device_select_x11.c b/src/vulkan/device-select-layer/device_select_x11.c index dbfd622cd78..6bf6e0c5c57 100644 --- a/src/vulkan/device-select-layer/device_select_x11.c +++ b/src/vulkan/device-select-layer/device_select_x11.c @@ -70,8 +70,10 @@ int device_select_find_xcb_pci_default(struct device_pci_info *devices, uint32_t drmDevicePtr xdev = NULL; conn = xcb_connect(NULL, &scrn); - if (!conn) + if (xcb_connection_has_error(conn)) { + xcb_disconnect(conn); return -1; + } xcb_query_extension_cookie_t dri3_cookie; xcb_query_extension_reply_t *dri3_reply = NULL;