mesa: use alloca in search_resource_hash
authorMarek Olšák <marek.olsak@amd.com>
Fri, 22 Oct 2021 22:15:43 +0000 (18:15 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Fri, 29 Oct 2021 09:09:55 +0000 (05:09 -0400)
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13507>

src/mesa/main/shader_query.cpp

index 00f9d42..8b2fe7d 100644 (file)
@@ -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;