From abbb0c0125f76a3eb47289cbfec12ab50cdfca14 Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Thu, 22 May 2025 12:15:08 +0200 Subject: [PATCH] vtn: fix use-after-free on function parameter names Fixes: 5d7a2303243 ("vtn: gather function parameter names") Reviewed-by: Alyssa Rosenzweig Acked-by: Faith Ekstrand Part-of: --- src/compiler/spirv/vtn_cfg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/spirv/vtn_cfg.c b/src/compiler/spirv/vtn_cfg.c index 45513649aa8..24bb0725e13 100644 --- a/src/compiler/spirv/vtn_cfg.c +++ b/src/compiler/spirv/vtn_cfg.c @@ -402,7 +402,7 @@ vtn_cfg_handle_prepass_instruction(struct vtn_builder *b, SpvOp opcode, struct vtn_ssa_value *ssa = vtn_create_ssa_value(b, type->type); struct vtn_value *val = vtn_untyped_value(b, w[2]); - b->func->nir_func->params[b->func_param_idx].name = val->name; + b->func->nir_func->params[b->func_param_idx].name = ralloc_strdup(b->shader, val->name); vtn_foreach_decoration(b, val, function_parameter_decoration_cb, &arg_info); vtn_ssa_value_load_function_param(b, ssa, type, &arg_info, &b->func_param_idx);