From 0f5c66351336e0c2cbc3b060fc65d41f16656688 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 8 Jul 2025 09:53:08 -0400 Subject: [PATCH] vulkan/cmd_queue: don't null deref when freeing pNext Part-of: --- src/vulkan/util/vk_cmd_queue_gen.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vulkan/util/vk_cmd_queue_gen.py b/src/vulkan/util/vk_cmd_queue_gen.py index b7498d5d7ec..e80790b669b 100644 --- a/src/vulkan/util/vk_cmd_queue_gen.py +++ b/src/vulkan/util/vk_cmd_queue_gen.py @@ -583,9 +583,9 @@ def get_struct_free(field_name, struct_type, types): member_frees = "" if (struct_type in types): for member in types[struct_type].members: - member_name = "%s->%s" % (field_name, member.name) + member_name = "%s ? %s->%s : NULL" % (field_name, field_name, member.name) if member.len and member.len != 'null-terminated': - member_frees += "vk_free(queue->alloc, (void*)%s);\n" % member_name + member_frees += "vk_free(queue->alloc, (void*)(%s));\n" % member_name elif member.name == 'pNext': member_frees += get_pnext_member_free(struct_type, types, member_name) return "%s %s\n" % (member_frees, struct_free)