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.
This commit is contained in:
@@ -142,7 +142,15 @@ add_builtin_define(glcpp_parser_t *parser, const char *name, int value);
|
|||||||
|
|
||||||
%pure-parser
|
%pure-parser
|
||||||
%error-verbose
|
%error-verbose
|
||||||
|
|
||||||
%locations
|
%locations
|
||||||
|
%initial-action {
|
||||||
|
@$.first_line = 1;
|
||||||
|
@$.first_column = 1;
|
||||||
|
@$.last_line = 1;
|
||||||
|
@$.last_column = 1;
|
||||||
|
@$.source = 0;
|
||||||
|
}
|
||||||
|
|
||||||
%parse-param {glcpp_parser_t *parser}
|
%parse-param {glcpp_parser_t *parser}
|
||||||
%lex-param {glcpp_parser_t *parser}
|
%lex-param {glcpp_parser_t *parser}
|
||||||
|
Reference in New Issue
Block a user