lib: Fix use after free in lexer

Fix occasional bug where deleting flex's input
buffer happens earlier than flex expects

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
Quentin Young 2016-08-09 19:30:40 +00:00
parent 4427e9b3ee
commit 07079d78bc

View File

@ -152,7 +152,6 @@ start:
{ {
// tack on the command element // tack on the command element
terminate_graph (startnode, currnode, element); terminate_graph (startnode, currnode, element);
cleanup();
} }
| sentence_root cmd_token_seq '.' placeholder_token | sentence_root cmd_token_seq '.' placeholder_token
{ {
@ -165,7 +164,6 @@ start:
// tack on the command element // tack on the command element
terminate_graph (startnode, currnode, element); terminate_graph (startnode, currnode, element);
cleanup();
} }
sentence_root: WORD sentence_root: WORD
@ -396,6 +394,9 @@ parse_command_format(struct graph_node *start, struct cmd_element *cmd)
// parse command into DFA // parse command into DFA
yyparse (cmd, start); yyparse (cmd, start);
/* cleanup */
cleanup ();
return start; return start;
} }