From daf43c1ac8484fde7ed8d060f7dc20114b20f9fe Mon Sep 17 00:00:00 2001 From: "K.Kosako" Date: Wed, 5 Jul 2017 16:31:14 +0900 Subject: [PATCH] add ENCLOSURE_IF_ELSE case into onig_node_free() --- src/regparse.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/regparse.c b/src/regparse.c index 0351ae9..fafd02c 100644 --- a/src/regparse.c +++ b/src/regparse.c @@ -1109,8 +1109,20 @@ onig_node_free(Node* node) xfree(BACKREF_(node)->back_dynamic); break; - case NODE_QUANT: case NODE_ENCLOSURE: + if (NODE_BODY(node)) + onig_node_free(NODE_BODY(node)); + + { + EnclosureNode* en = ENCLOSURE_(node); + if (en->type == ENCLOSURE_IF_ELSE) { + onig_node_free(en->te.Then); + onig_node_free(en->te.Else); + } + } + break; + + case NODE_QUANT: case NODE_ANCHOR: if (NODE_BODY(node)) onig_node_free(NODE_BODY(node)); -- 2.40.0