From: Kenneth Graunke Date: Sun, 27 Feb 2011 09:17:29 +0000 (-0800) Subject: glsl: Use reralloc instead of plain realloc. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=eb639349e289a6b8be06a54f5e9e0ce18c71d511;p=mesa.git 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. --- diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index bef099cca3b..fd1f0b49f42 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;