From 7d82d5c8b05bce4a4b02367f85f09009b25ebb2e Mon Sep 17 00:00:00 2001 From: hyung-hwan Date: Tue, 10 Mar 2020 14:32:30 +0000 Subject: [PATCH] fixed a memory leak upon an error in hawk_fnc_match() --- qse/lib/awk/fnc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qse/lib/awk/fnc.c b/qse/lib/awk/fnc.c index 0e24efa7..ff727791 100644 --- a/qse/lib/awk/fnc.c +++ b/qse/lib/awk/fnc.c @@ -1413,7 +1413,11 @@ int qse_awk_fnc_match (qse_awk_rtx_t* rtx, const qse_awk_fnc_info_t* fi) tmp.len = len0 - start + 1; n = qse_awk_rtx_matchrex(rtx, a1, &tmp, &tmp, &mat, (nargs >= 4? submat: QSE_NULL)); - if (n <= -1) return -1; + if (n <= -1) + { + qse_awk_rtx_freevalstr (rtx, a0, str0); + return -1; + } } qse_awk_rtx_freevalstr (rtx, a0, str0);