From cf81f8dccef7e33763ddd35a148ea0a0ff4fb0df Mon Sep 17 00:00:00 2001 From: "K.Kosako" Date: Mon, 21 Aug 2017 16:20:04 +0900 Subject: [PATCH] fix to assign error code in make_absent_clear() --- src/regparse.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/regparse.c b/src/regparse.c index 42cbb5c..c98d809 100644 --- a/src/regparse.c +++ b/src/regparse.c @@ -1803,7 +1803,7 @@ make_absent_clear(Node** node, ScanEnv* env) if (r != 0) goto err; x = make_list(2, ns); - if (IS_NULL(x)) goto err; + if (IS_NULL(x)) goto err0; ns[0] = NULL_NODE; ns[1] = x; @@ -1812,17 +1812,19 @@ make_absent_clear(Node** node, ScanEnv* env) if (r != 0) goto err; x = make_alt(2, ns); - if (IS_NULL(x)) goto err; + if (IS_NULL(x)) goto err0; ns[0] = save; ns[1] = x; save = NULL_NODE; x = make_list(2, ns); - if (IS_NULL(x)) goto err; + if (IS_NULL(x)) goto err0; *node = x; return ONIG_NORMAL; + err0: + r = ONIGERR_MEMORY; err: onig_node_free(save); onig_node_free(ns[0]); -- 2.40.0