[PATCH vkd3d 2/6] vkd3d-shader: Cleanup predefined macro body on allocation failure.
Matteo Bruni
mbruni at codeweavers.com
Tue Jan 26 13:26:33 CST 2021
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
---
libs/vkd3d-shader/preproc.l | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libs/vkd3d-shader/preproc.l b/libs/vkd3d-shader/preproc.l
index 82b6492..bf4d669 100644
--- a/libs/vkd3d-shader/preproc.l
+++ b/libs/vkd3d-shader/preproc.l
@@ -743,10 +743,14 @@ int preproc_lexer_parse(const struct vkd3d_shader_compile_info *compile_info,
vkd3d_string_buffer_init(&body);
vkd3d_string_buffer_printf(&body, "%s", ctx.preprocess_info->macros[i].value);
if (!(name = vkd3d_strdup(ctx.preprocess_info->macros[i].name)))
+ {
+ vkd3d_string_buffer_cleanup(&body);
goto fail;
+ }
if (!preproc_add_macro(&ctx, &loc, name, NULL, 0, &loc, &body))
{
vkd3d_free(name);
+ vkd3d_string_buffer_cleanup(&body);
goto fail;
}
}
--
2.26.2
More information about the wine-devel
mailing list