From: Guido van Rossum Date: Sun, 18 Nov 1990 17:38:42 +0000 (+0000) Subject: Free parse tree when deleting parser. X-Git-Tag: v0.9.8~1104 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=99f02d43f3d8d771b9e1b4784a72937bffff5647;p=thirdparty%2FPython%2Fcpython.git Free parse tree when deleting parser. --- diff --git a/Parser/parser.c b/Parser/parser.c index e0b3530f511b..294c534d0ff4 100644 --- a/Parser/parser.c +++ b/Parser/parser.c @@ -96,8 +96,6 @@ newparser(g, start) ps->p_grammar = g; ps->p_tree = newnode(start); if (ps->p_tree == NULL) { - if (ps->p_tree != NULL) - DEL(ps->p_tree); /* XXX freeing a node!?! */ DEL(ps); return NULL; } @@ -110,6 +108,9 @@ void delparser(ps) parser_state *ps; { + /* NB If you want to save the parse tree, + you must set p_tree to NULL before calling delparser! */ + freenode(ps->p_tree); DEL(ps); }