Mesa (glsl2): glsl2: Initialize location structure at beginning of parse.
Carl Worth
cworth at kemper.freedesktop.org
Tue Aug 10 23:55:06 UTC 2010
Module: Mesa
Branch: glsl2
Commit: 60d8c46995aa9cf3f80592b9c9bb8e5be6e87502
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60d8c46995aa9cf3f80592b9c9bb8e5be6e87502
Author: Carl Worth <cworth at cworth.org>
Date: Tue Aug 10 16:52:54 2010 -0700
glsl2: Initialize location structure at beginning of parse.
Since we have a custom structure for YYLTYPE locations, we need to use
an %initial-action directive to avoid triggering use of uninitialized
memory when, for example, printing error messages.
Thanks to valgrind for noticing this bug.
---
src/glsl/glsl_parser.ypp | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/src/glsl/glsl_parser.ypp b/src/glsl/glsl_parser.ypp
index 493b74f..3e60454 100644
--- a/src/glsl/glsl_parser.ypp
+++ b/src/glsl/glsl_parser.ypp
@@ -35,9 +35,17 @@
%}
%pure-parser
-%locations
%error-verbose
+%locations
+%initial-action {
+ @$.first_line = 1;
+ @$.first_column = 1;
+ @$.last_line = 1;
+ @$.last_column = 1;
+ @$.source = 0;
+}
+
%lex-param {void *scanner}
%parse-param {struct _mesa_glsl_parse_state *state}
%name-prefix "_mesa_glsl_"
More information about the mesa-commit
mailing list