Mesa (master): glsl: Use reralloc instead of plain realloc.

Kenneth Graunke kwg at kemper.freedesktop.org
Mon Feb 28 18:45:38 UTC 2011


Module: Mesa
Branch: master
Commit: eb639349e289a6b8be06a54f5e9e0ce18c71d511
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb639349e289a6b8be06a54f5e9e0ce18c71d511

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun Feb 27 01:17:29 2011 -0800

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.

---

 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 bef099c..fd1f0b4 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;




More information about the mesa-commit mailing list