aboutsummaryrefslogtreecommitdiffstats
path: root/builtin.c
diff options
context:
space:
mode:
authorAndrew J. Schorr <aschorr@telemetry-investments.com>2019-01-14 09:56:14 -0500
committerAndrew J. Schorr <aschorr@telemetry-investments.com>2019-01-14 09:56:14 -0500
commit99e184df5e808dd4de24b3e41c724bf9b00b9bb4 (patch)
tree4b40beb082fcbade974f46e7e151cc8cf2a7e604 /builtin.c
parent663aff4ae012468c54d2e994e839d0e75210ef80 (diff)
downloadegawk-99e184df5e808dd4de24b3e41c724bf9b00b9bb4.tar.gz
egawk-99e184df5e808dd4de24b3e41c724bf9b00b9bb4.tar.bz2
egawk-99e184df5e808dd4de24b3e41c724bf9b00b9bb4.zip
Fix memory leak in new do_typeof optional array arg.
Diffstat (limited to 'builtin.c')
-rw-r--r--builtin.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/builtin.c b/builtin.c
index c92a5982..9cf817ac 100644
--- a/builtin.c
+++ b/builtin.c
@@ -4090,6 +4090,9 @@ do_typeof(int nargs)
NODE **lhs = assoc_lookup(dbg, sub);
unref(*lhs);
*lhs = make_string(arg->array_funcs->name, strlen(arg->array_funcs->name));
+ if (dbg->astore != NULL)
+ (*dbg->astore)(dbg, sub);
+ unref(sub);
}
break;
case Node_val:
@@ -4125,6 +4128,9 @@ do_typeof(int nargs)
NODE **lhs = assoc_lookup(dbg, sub);
unref(*lhs);
*lhs = make_string(s, strlen(s));
+ if (dbg->astore != NULL)
+ (*dbg->astore)(dbg, sub);
+ unref(sub);
}
break;
case Node_var_new: