diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-07-13 16:05:08 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-07-13 16:05:08 +0300 |
commit | 0446a2679b81c5e319dfe74074d1b9ab441213f1 (patch) | |
tree | 395d5cb00059d4b47bbe51ba93338df9cdefb741 /extension/intdiv.c | |
parent | dd9a8ec89c51dba47e63640a9705017399ec32d0 (diff) | |
download | egawk-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.c | 7 |
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); |