From: Ulya Trofimovich Date: Wed, 26 Jun 2019 10:15:40 +0000 (+0100) Subject: libre2c: don't forget to free static lists (AST nodes, etc.) at the end of 'regfree()'. X-Git-Tag: 1.2~52 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0d5342dd9733833a7a30af4120cf05740967b5d5;p=re2c libre2c: don't forget to free static lists (AST nodes, etc.) at the end of 'regfree()'. Otherwise they accumulate at every 'regcomp()'. --- diff --git a/lib/regfree.cc b/lib/regfree.cc index 5222f64d..2779b672 100644 --- a/lib/regfree.cc +++ b/lib/regfree.cc @@ -1,7 +1,8 @@ #include "lib/regex.h" #include "lib/regex_impl.h" -#include "src/nfa/nfa.h" #include "src/dfa/dfa.h" +#include "src/encoding/range_suffix.h" +#include "src/nfa/nfa.h" using namespace re2c; @@ -40,4 +41,7 @@ void regfree(regex_t *preg) delete &preg->dfa->tcpool; delete preg->dfa; } + + AST::flist.clear(); + RangeSuffix::freeList.clear(); }