diff --git a/src/mesa/state_tracker/st_nir_lower_builtin.c b/src/mesa/state_tracker/st_nir_lower_builtin.c index b4da9017d5c..20b04d1e20f 100644 --- a/src/mesa/state_tracker/st_nir_lower_builtin.c +++ b/src/mesa/state_tracker/st_nir_lower_builtin.c @@ -128,9 +128,12 @@ get_variable(lower_builtin_state *state, nir_deref_var *deref, char *name = _mesa_program_state_string((gl_state_index *)tokens); - nir_foreach_variable(var, &shader->uniforms) - if (strcmp(var->name, name) == 0) + nir_foreach_variable(var, &shader->uniforms) { + if (strcmp(var->name, name) == 0) { + free(name); return var; + } + } /* variable doesn't exist yet, so create it: */ nir_variable *var =