mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-21 17:20:21 +01:00
vulkan/runtime: allow null/empty debug names
VkDebugUtilsObjectNameInfoEXT::pObjectName can be NULL [1] :
"Applications may change the name associated with an object simply
by calling vkSetDebugUtilsObjectNameEXT again with a new string. If
pObjectName is either NULL or an empty string, then any previously
set name is removed."
The current code will segfault.
[1] : https://registry.khronos.org/vulkan/specs/1.3-extensions/html/chap50.html#VkDebugUtilsObjectNameInfoEXT
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 3b361b234a ("vulkan: Implement VK_EXT_debug_utils")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30516>
(cherry picked from commit ae9a249dfe)
This commit is contained in:
parent
b00b73c046
commit
f80caae143
2 changed files with 7 additions and 5 deletions
|
|
@ -114,7 +114,7 @@
|
|||
"description": "vulkan/runtime: allow null/empty debug names",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "3b361b234ac49f41a94a9bcf94fb68d5407b4b83",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -302,10 +302,12 @@ vk_common_SetDebugUtilsObjectNameEXT(
|
|||
vk_free(alloc, object->object_name);
|
||||
object->object_name = NULL;
|
||||
}
|
||||
object->object_name = vk_strdup(alloc, pNameInfo->pObjectName,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!object->object_name)
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
if (pNameInfo->pObjectName != NULL) {
|
||||
object->object_name = vk_strdup(alloc, pNameInfo->pObjectName,
|
||||
VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
|
||||
if (!object->object_name)
|
||||
return VK_ERROR_OUT_OF_HOST_MEMORY;
|
||||
}
|
||||
|
||||
return VK_SUCCESS;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue