From 6e368fae8dd345f3467a05fa45ccbc747879f33d Mon Sep 17 00:00:00 2001 From: "K.Kosako" Date: Fri, 30 Jun 2017 10:25:31 +0900 Subject: [PATCH] fix memory leaks --- src/regparse.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/regparse.c b/src/regparse.c index 5d057ef..b53f2bf 100644 --- a/src/regparse.c +++ b/src/regparse.c @@ -4433,7 +4433,7 @@ parse_char_class(Node** np, OnigToken* tok, UChar** src, UChar* end, case TK_CHAR_TYPE: r = add_ctype_to_cc(cc, tok->u.prop.ctype, tok->u.prop.not, env); - if (r != 0) return r; + if (r != 0) goto err; next_class: r = next_state_class(cc, &vs, &val_type, &state, env); @@ -4443,9 +4443,12 @@ parse_char_class(Node** np, OnigToken* tok, UChar** src, UChar* end, case TK_CHAR_PROPERTY: { int ctype = fetch_char_property_to_ctype(&p, end, env); - if (ctype < 0) return ctype; + if (ctype < 0) { + r = ctype; + goto err; + } r = add_ctype_to_cc(cc, ctype, tok->u.prop.not, env); - if (r != 0) return r; + if (r != 0) goto err; goto next_class; } break; -- 2.50.1