diff --git a/src/frontend/parser.c b/src/frontend/parser.c
index f16b71fd952a0bcc4c94c95c5d6eedb8d0dad21c..785b7e40b59caecc3f34d5e8660f7d04f918e397 100644 (file)
--- a/src/frontend/parser.c
+++ b/src/frontend/parser.c
}
node = SDB_CONN_NODE(sdb_llist_get(yyextra.parsetree, 0));
- if (! node)
+ if (! node) {
+ sdb_llist_destroy(yyextra.parsetree);
return NULL;
+ }
if (node->cmd == CONNECTION_MATCHER) {
m = CONN_MATCHER(node)->matcher;
}
node = SDB_CONN_NODE(sdb_llist_get(yyextra.parsetree, 0));
- if (! node)
+ if (! node) {
+ sdb_llist_destroy(yyextra.parsetree);
return NULL;
+ }
if (node->cmd == CONNECTION_EXPR) {
e = CONN_EXPR(node)->expr;