From 4542f7a7449b4a6c8273ae15d6e854ead0dfe13a Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Tue, 9 Feb 2010 21:41:44 -0500 Subject: Don't leak memory on parse failures from within buffers. --- dimension/tokenize.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'dimension/tokenize.c') diff --git a/dimension/tokenize.c b/dimension/tokenize.c index 8d85b2d..7269fb4 100644 --- a/dimension/tokenize.c +++ b/dimension/tokenize.c @@ -788,3 +788,15 @@ dmnsn_yylex(dmnsn_parse_item *lvalp, dmnsn_parse_location *llocp, } } } + +void +dmnsn_yylex_cleanup(void *yyscanner) +{ + dmnsn_token_buffer *tbuffer = dmnsn_yyget_extra(yyscanner); + while (tbuffer) { + dmnsn_token_buffer *prev = tbuffer->prev; + dmnsn_delete_token_buffer(tbuffer); + tbuffer = prev; + } + dmnsn_yyset_extra(NULL, yyscanner); +} -- cgit v1.2.3