diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2011-02-27 01:17:29 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2011-02-28 10:35:40 -0800 |
commit | eb639349e289a6b8be06a54f5e9e0ce18c71d511 (patch) | |
tree | 4dba5f0f10c7c077b372b33aa82b5baacd1837b2 /src/glsl | |
parent | c33e091d17b90df61f7b3873a2f124c4f26adf06 (diff) |
glsl: Use reralloc instead of plain realloc.
Plugs a memory leak when compiling shaders with user defined structures.
NOTE: This is a candidate for the 7.9 and 7.10 branches.
Diffstat (limited to 'src/glsl')
-rw-r--r-- | src/glsl/ast_to_hir.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index bef099cca3..fd1f0b49f4 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -3445,11 +3445,9 @@ ast_struct_specifier::hir(exec_list *instructions, if (!state->symbols->add_type(name, t)) { _mesa_glsl_error(& loc, state, "struct `%s' previously defined", name); } else { - - const glsl_type **s = (const glsl_type **) - realloc(state->user_structures, - sizeof(state->user_structures[0]) * - (state->num_user_structures + 1)); + const glsl_type **s = reralloc(state, state->user_structures, + const glsl_type *, + state->num_user_structures + 1); if (s != NULL) { s[state->num_user_structures] = t; state->user_structures = s; |