render/drm_format_set: Clean up on union failure

If drm_format_set_extend fails, we need to make sure each wlr_drm_format
is cleaned up together with the formats array. Finish the set to take
care of it.
This commit is contained in:
Kenny Levinsen 2024-02-22 23:03:50 +01:00
parent 484a87ce61
commit 73dd934794
1 changed files with 3 additions and 4 deletions

View File

@ -271,10 +271,9 @@ bool wlr_drm_format_set_union(struct wlr_drm_format_set *dst,
} }
// Add both a and b sets into out // Add both a and b sets into out
if (!drm_format_set_extend(&out, a)) { if (!drm_format_set_extend(&out, a) ||
return false; !drm_format_set_extend(&out, b)) {
} wlr_drm_format_set_finish(&out);
if (!drm_format_set_extend(&out, b)) {
return false; return false;
} }