diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-08-17 20:13:12 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-08-17 20:13:12 -0700 |
commit | e9aed57f78b50482c87599dc28ef5606b1dab9bb (patch) | |
tree | 2c507034998f64815f74670a5d96c6f537c6101d | |
parent | 22460fb5930d630172c69ecf0e2bfdcb73958445 (diff) | |
download | txr-e9aed57f78b50482c87599dc28ef5606b1dab9bb.tar.gz txr-e9aed57f78b50482c87599dc28ef5606b1dab9bb.tar.bz2 txr-e9aed57f78b50482c87599dc28ef5606b1dab9bb.zip |
Bugfix: forgotten zaps could lead to spurious retention.
* lib.c (generic_funcall): Added forgotten z() calls to zap arguments
in some variadic cases.
-rw-r--r-- | lib.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -4389,11 +4389,11 @@ val generic_funcall(val fun, val arg[], int nargs) case F1: return fun->f.f.f1v(fun->f.env, z(arg[0]), z(arglist)); case F2: - return fun->f.f.f2v(fun->f.env, arg[0], arg[1], z(arglist)); + return fun->f.f.f2v(fun->f.env, z(arg[0]), z(arg[1]), z(arglist)); case F3: - return fun->f.f.f3v(fun->f.env, arg[0], arg[1], arg[2], z(arglist)); + return fun->f.f.f3v(fun->f.env, z(arg[0]), z(arg[1]), z(arg[2]), z(arglist)); case F4: - return fun->f.f.f4v(fun->f.env, arg[0], arg[1], arg[2], arg[3], z(arglist)); + return fun->f.f.f4v(fun->f.env, z(arg[0]), z(arg[1]), z(arg[2]), z(arg[3]), z(arglist)); case N0: return fun->f.f.n0v(z(arglist)); case N1: |