diff options
author | Carl Worth <[email protected]> | 2010-08-10 16:58:28 -0700 |
---|---|---|
committer | Carl Worth <[email protected]> | 2010-08-10 16:58:28 -0700 |
commit | 485f84d36608b4545fc5a0061f9ab3ac71b9e36e (patch) | |
tree | 7f9adebdb09ea6af779bb67788b6a3c05c94bf5d /src/glsl/glcpp/glcpp-parse.y | |
parent | a7d6c496cfe2165468c4151f0838ebfd2122a990 (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.
Diffstat (limited to 'src/glsl/glcpp/glcpp-parse.y')
-rw-r--r-- | src/glsl/glcpp/glcpp-parse.y | 8 |
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} |