[Mesa-dev] [PATCH] glsl: avoid leaking hiddenUniforms map when there are no uniforms

Iago Toral itoral at igalia.com
Thu Oct 1 23:51:25 PDT 2015


On Thu, 2015-10-01 at 20:22 -0400, Ilia Mirkin wrote:
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>  src/glsl/link_uniforms.cpp | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/glsl/link_uniforms.cpp b/src/glsl/link_uniforms.cpp
> index 47d49c8..740b0a4 100644
> --- a/src/glsl/link_uniforms.cpp
> +++ b/src/glsl/link_uniforms.cpp
> @@ -1131,15 +1131,15 @@ link_assign_uniform_locations(struct gl_shader_program *prog,
>     const unsigned num_data_slots = uniform_size.num_values;
>     const unsigned hidden_uniforms = uniform_size.num_hidden_uniforms;
>  
> +   /* assign hidden uniforms a slot id */
> +   hiddenUniforms->iterate(assign_hidden_uniform_slot_id, &uniform_size);
> +   delete hiddenUniforms;
> +
>     /* On the outside chance that there were no uniforms, bail out.
>      */
>     if (num_uniforms == 0)
>        return;
>  
> -   /* assign hidden uniforms a slot id */
> -   hiddenUniforms->iterate(assign_hidden_uniform_slot_id, &uniform_size);
> -   delete hiddenUniforms;
> -

I suppose there is no much gain in simply adding the delete statement
right before the return...

Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>


>     struct gl_uniform_storage *uniforms =
>        rzalloc_array(prog, struct gl_uniform_storage, num_uniforms);
>     union gl_constant_value *data =




More information about the mesa-dev mailing list