Module: Mesa
Branch: 7.9
Commit: 1156006e4ab758077068097cf073113d6e80315f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1156006e4ab758077068097cf073113d6e80315f

Author: Kenneth Graunke <kenn...@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.
(cherry picked from commit eb639349e289a6b8be06a54f5e9e0ce18c71d511)

---

 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 4b95a30..6a916bb 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -2991,11 +2991,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;

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to