diff options
| author | Mike Blumenkrantz <michael.blumenkrantz@gmail.com> | 2025-07-08 09:53:08 -0400 |
|---|---|---|
| committer | Marge Bot <marge-bot@fdo.invalid> | 2025-07-09 05:48:22 +0000 |
| commit | 0f5c66351336e0c2cbc3b060fc65d41f16656688 (patch) | |
| tree | 1165ac85327fd1c42746b83ddde93fe7d506e8ae | |
| parent | eed207e597534813f457fa584bd404b40b32b3db (diff) | |
vulkan/cmd_queue: don't null deref when freeing pNext
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36004>
| -rw-r--r-- | src/vulkan/util/vk_cmd_queue_gen.py | 4 |
1 files 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) |