Mesa (mesa_7_6_branch): ARB prog parser: Don't leak program string

Ian Romanick idr at kemper.freedesktop.org
Wed Oct 28 00:10:42 UTC 2009


Module: Mesa
Branch: mesa_7_6_branch
Commit: 8df9587d68752f3369cc1eda1606d3b7c1041ec6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8df9587d68752f3369cc1eda1606d3b7c1041ec6

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue Oct 27 11:46:29 2009 -0700

ARB prog parser: Don't leak program string

The program string is kept in the program object.  On the second call
into glProgramStringARB the previous kept string would be leaked.

---

 src/mesa/shader/program_parse.y |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y
index ae9e15a..c3152aa 100644
--- a/src/mesa/shader/program_parse.y
+++ b/src/mesa/shader/program_parse.y
@@ -2278,6 +2278,10 @@ _mesa_parse_arb_program(GLcontext *ctx, GLenum target, const GLubyte *str,
    _mesa_memcpy (strz, str, len);
    strz[len] = '\0';
 
+   if (state->prog->String != NULL) {
+      _mesa_free(state->prog->String);
+   }
+
    state->prog->String = strz;
 
    state->st = _mesa_symbol_table_ctor();




More information about the mesa-commit mailing list