aboutsummaryrefslogtreecommitdiffstats
path: root/extension/intdiv.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2020-07-13 16:05:08 +0300
committerArnold D. Robbins <arnold@skeeve.com>2020-07-13 16:05:08 +0300
commit0446a2679b81c5e319dfe74074d1b9ab441213f1 (patch)
tree395d5cb00059d4b47bbe51ba93338df9cdefb741 /extension/intdiv.c
parentdd9a8ec89c51dba47e63640a9705017399ec32d0 (diff)
downloadegawk-0446a2679b81c5e319dfe74074d1b9ab441213f1.tar.gz
egawk-0446a2679b81c5e319dfe74074d1b9ab441213f1.tar.bz2
egawk-0446a2679b81c5e319dfe74074d1b9ab441213f1.zip
Fix memory leak in intdiv extension. Update doc.
Diffstat (limited to 'extension/intdiv.c')
-rw-r--r--extension/intdiv.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/extension/intdiv.c b/extension/intdiv.c
index 4e3ae50d..34b19a02 100644
--- a/extension/intdiv.c
+++ b/extension/intdiv.c
@@ -223,6 +223,13 @@ do_intdiv(int nargs, awk_value_t *result, struct awk_ext_func *unused)
array_set_mpz(array, "quotient", 8, quotient);
array_set_mpz(array, "remainder", 9, remainder);
+ /* values were copied, so release out local ones */
+ mpz_clear(quotient);
+ gawk_free(quotient);
+
+ mpz_clear(remainder);
+ gawk_free(remainder);
+
/* release temporary variables */
if (numer == numer_tmp)
mpz_clear(numer);