diff options
author | Kenny Levinsen <kl@kl.wtf> | 2024-02-22 23:07:58 +0100 |
---|---|---|
committer | Kenny Levinsen <kl@kl.wtf> | 2024-02-22 23:07:58 +0100 |
commit | 4d68d3759b92f9192ced0dc9ed2572c33e894a7b (patch) | |
tree | 33433567f6ce256f5b82587d46cd07c0474c3599 | |
parent | 73dd9347949378fca13f5a6cfb351cfef7c8d2a7 (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.c | 2 |
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; } |