From e4bb77ecef25bc5996e48a75ed1872cbc2229efc Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Tue, 5 Aug 2025 21:17:18 +0200 Subject: [PATCH] vkd3d-shader: Cleanup the vsir program on vsir_program_transform_early() failure in vsir_parse(). --- libs/vkd3d-shader/vkd3d_shader_main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libs/vkd3d-shader/vkd3d_shader_main.c b/libs/vkd3d-shader/vkd3d_shader_main.c index 343e2633a..6ef16e302 100644 --- a/libs/vkd3d-shader/vkd3d_shader_main.c +++ b/libs/vkd3d-shader/vkd3d_shader_main.c @@ -808,8 +808,10 @@ static enum vkd3d_result vsir_parse(const struct vkd3d_shader_compile_info *comp return ret; } - if (compile_info->target_type != VKD3D_SHADER_TARGET_NONE) - ret = vsir_program_transform_early(program, config_flags, compile_info, message_context); + if (compile_info->target_type != VKD3D_SHADER_TARGET_NONE + && (ret = vsir_program_transform_early(program, config_flags, compile_info, message_context)) < 0) + vsir_program_cleanup(program); + return ret; }