glsl: Also strdup the names of uniform list entries for >vec4 types.
authorEric Anholt <eric@anholt.net>
Thu, 19 Aug 2010 00:39:57 +0000 (17:39 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 19 Aug 2010 00:45:08 +0000 (17:45 -0700)
Fixes double-free since the fix to free all of the uniform list.

src/glsl/linker.cpp

index b256574..2dc5697 100644 (file)
@@ -843,7 +843,7 @@ assign_uniform_locations(struct gl_shader_program *prog)
 
            n->u[0].Name = strdup(var->name);
            for (unsigned j = 1; j < vec4_slots; j++)
-              n->u[j].Name = n->u[0].Name;
+              n->u[j].Name = strdup(var->name);
 
            hash_table_insert(ht, n, n->u[0].Name);
            uniforms.push_tail(& n->link);