From 081555c58bef67b31c915a280a3e765840b21e9f Mon Sep 17 00:00:00 2001 From: "Juan A. Suarez Romero" Date: Tue, 18 Jun 2024 17:27:28 +0200 Subject: [PATCH] vulkan: do not access member of a NULL structure Check if the structure is NULL before trying to get access to its members. This has been detected by the Undefined Behaviour Sanitizer (UBSan). Reviewed-by: Alyssa Rosenzweig Signed-off-by: Juan A. Suarez Romero Part-of: --- src/vulkan/runtime/vk_object.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/vulkan/runtime/vk_object.h b/src/vulkan/runtime/vk_object.h index c94c7050215..72a7831d56c 100644 --- a/src/vulkan/runtime/vk_object.h +++ b/src/vulkan/runtime/vk_object.h @@ -161,9 +161,10 @@ vk_object_base_from_u64_handle(uint64_t handle, VkObjectType obj_type) static inline __VkType \ __driver_type ## _to_handle(struct __driver_type *_obj) \ { \ - vk_object_base_assert_valid(&_obj->__base, __VK_TYPE); \ - if (_obj != NULL) \ + if (_obj != NULL) { \ + vk_object_base_assert_valid(&_obj->__base, __VK_TYPE); \ _obj->__base.client_visible = true; \ + } \ return (__VkType) _obj; \ } @@ -201,9 +202,10 @@ vk_object_base_from_u64_handle(uint64_t handle, VkObjectType obj_type) UNUSED static inline __VkType \ __driver_type ## _to_handle(struct __driver_type *_obj) \ { \ - vk_object_base_assert_valid(&_obj->__base, __VK_TYPE); \ - if (_obj != NULL) \ + if (_obj != NULL) { \ + vk_object_base_assert_valid(&_obj->__base, __VK_TYPE); \ _obj->__base.client_visible = true; \ + } \ return (__VkType)(uintptr_t) _obj; \ }