diff options
Diffstat (limited to 'regparse.c')
-rw-r--r-- | regparse.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/regparse.c b/regparse.c index 33815f2445..6f1fbf8191 100644 --- a/regparse.c +++ b/regparse.c @@ -6682,7 +6682,10 @@ parse_subexp(Node** top, OnigToken* tok, int term, headp = &(NCDR(*top)); while (r == TK_ALT) { r = fetch_token(tok, src, end, env); - if (r < 0) return r; + if (r < 0) { + onig_node_free(node); + return r; + } r = parse_branch(&node, tok, term, src, end, env); if (r < 0) { onig_node_free(node); |