diff --git a/.pick_status.json b/.pick_status.json index 2f5f3da4e69..127cd989001 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4984,7 +4984,7 @@ "description": "vtn: fix use-after-free on function parameter names", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "5d7a2303243a32f47d402e3335b16967b49a1362", "notes": null diff --git a/src/compiler/spirv/vtn_cfg.c b/src/compiler/spirv/vtn_cfg.c index 595171261f1..711b99df077 100644 --- a/src/compiler/spirv/vtn_cfg.c +++ b/src/compiler/spirv/vtn_cfg.c @@ -401,7 +401,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);