aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenny Levinsen <kl@kl.wtf>2024-02-22 23:07:58 +0100
committerKenny Levinsen <kl@kl.wtf>2024-02-22 23:07:58 +0100
commit4d68d3759b92f9192ced0dc9ed2572c33e894a7b (patch)
tree33433567f6ce256f5b82587d46cd07c0474c3599
parent73dd9347949378fca13f5a6cfb351cfef7c8d2a7 (diff)
render/vulkan: Avoid double-free on calloc error
In query_modifier_support, the calloc for either or both of render_mods and texture_mods may fail, in which case both are freed for convenience. However, if one is non-NULL, vulkan_format_props_finish will try to free it again. NULL them to avoid double-free.
-rw-r--r--render/vulkan/pixel_format.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/render/vulkan/pixel_format.c b/render/vulkan/pixel_format.c
index 0568c023..f55691e9 100644
--- a/render/vulkan/pixel_format.c
+++ b/render/vulkan/pixel_format.c
@@ -401,6 +401,8 @@ static bool query_modifier_support(struct wlr_vk_device *dev,
free(modp.pDrmFormatModifierProperties);
free(props->dmabuf.render_mods);
free(props->dmabuf.texture_mods);
+ props->dmabuf.render_mods = NULL;
+ props->dmabuf.texture_mods = NULL;
return false;
}