From: Iago Toral Quiroga Date: Wed, 1 Oct 2014 10:12:38 +0000 (+0200) Subject: glsl: Fix memory leak in builtin_builder::_image_prototype. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=db8cd4d519d8b4cb2c05901e4f1a80a41ae67b2b;p=mesa.git glsl: Fix memory leak in builtin_builder::_image_prototype. in_var calls the ir_variable constructor, which dups the variable name. Reviewed-by: Ilia Mirkin --- diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp index 5a024cb4386..7d61fcc3561 100644 --- a/src/glsl/builtin_functions.cpp +++ b/src/glsl/builtin_functions.cpp @@ -4465,9 +4465,11 @@ builtin_builder::_image_prototype(const glsl_type *image_type, sig->parameters.push_tail(in_var(glsl_type::int_type, "sample")); /* Data arguments. */ - for (unsigned i = 0; i < num_arguments; ++i) - sig->parameters.push_tail(in_var(data_type, - ralloc_asprintf(NULL, "arg%d", i))); + for (unsigned i = 0; i < num_arguments; ++i) { + char *arg_name = ralloc_asprintf(NULL, "arg%d", i); + sig->parameters.push_tail(in_var(data_type, arg_name)); + ralloc_free(arg_name); + } /* Set the maximal set of qualifiers allowed for this image * built-in. Function calls with arguments having fewer