summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarl Worth <[email protected]>2010-08-10 16:58:28 -0700
committerCarl Worth <[email protected]>2010-08-10 16:58:28 -0700
commit485f84d36608b4545fc5a0061f9ab3ac71b9e36e (patch)
tree7f9adebdb09ea6af779bb67788b6a3c05c94bf5d
parenta7d6c496cfe2165468c4151f0838ebfd2122a990 (diff)
glcpp: 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. We apparently don't yet have a test case that allowed valgrind to find this bug for us, but valgrind found a similar problem in the other parser, so we fix this one as well.
-rw-r--r--src/glsl/glcpp/glcpp-parse.y8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/glsl/glcpp/glcpp-parse.y b/src/glsl/glcpp/glcpp-parse.y
index df1a649d9bc..a4383574506 100644
--- a/src/glsl/glcpp/glcpp-parse.y
+++ b/src/glsl/glcpp/glcpp-parse.y
@@ -142,7 +142,15 @@ add_builtin_define(glcpp_parser_t *parser, const char *name, int value);
%pure-parser
%error-verbose
+
%locations
+%initial-action {
+ @$.first_line = 1;
+ @$.first_column = 1;
+ @$.last_line = 1;
+ @$.last_column = 1;
+ @$.source = 0;
+}
%parse-param {glcpp_parser_t *parser}
%lex-param {glcpp_parser_t *parser}