diff --git a/src/mesa/main/shader_query.cpp b/src/mesa/main/shader_query.cpp index 00f9d423670..8b2fe7d2aea 100644 --- a/src/mesa/main/shader_query.cpp +++ b/src/mesa/main/shader_query.cpp @@ -568,7 +568,7 @@ search_resource_hash(struct gl_shader_program *shProg, /* If dealing with array, we need to get the basename. */ if (index >= 0) { - name_copy = (char *) malloc(base_name_end - name + 1); + name_copy = (char *) alloca(base_name_end - name + 1); memcpy(name_copy, name, base_name_end - name); name_copy[base_name_end - name] = '\0'; len = base_name_end - name; @@ -580,9 +580,6 @@ search_resource_hash(struct gl_shader_program *shProg, struct gl_program_resource *res = (struct gl_program_resource *) _mesa_hash_table_u64_search(shProg->data->ProgramResourceHash, key); - if (name_copy != name) - free(name_copy); - if (res && array_index) *array_index = index >= 0 ? index : 0;