diff --git a/parser/parser_lex.l b/parser/parser_lex.l index 1938297d7..1b6005336 100644 --- a/parser/parser_lex.l +++ b/parser/parser_lex.l @@ -273,8 +273,7 @@ LT_EQUAL <= { (\<([^\> \t\n]+)\>|\"([^\" \t\n]+)\") { /* */ - char *filename = strdup(yytext); - filename[strlen(filename) - 1] = '\0'; + char *filename = strndup(yytext, yyleng - 1); include_filename(filename + 1, *filename == '<'); free(filename); yy_pop_state();