diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-02-06 23:53:07 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-02-06 23:53:07 -0800 |
commit | 7214a25e9b9b70c9b61eeb78b35f970eb552641e (patch) | |
tree | 97041f82d3aed4c532e0ddff03252eb99953e3ee | |
parent | 20a069da3522593439d1c0e291c119010f276184 (diff) | |
download | txr-7214a25e9b9b70c9b61eeb78b35f970eb552641e.tar.gz txr-7214a25e9b9b70c9b61eeb78b35f970eb552641e.tar.bz2 txr-7214a25e9b9b70c9b61eeb78b35f970eb552641e.zip |
bugfix: ffi-make-closure safe-p param.
* ffi.c (ffi_make_closure): Fix wrong argument defaulting on
safe_p_in parameter, which leaves it always true, preventing
unsafely dispatched closures from being created.
-rw-r--r-- | ffi.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -4239,7 +4239,7 @@ val ffi_make_closure(val fun, val call_desc, val safe_p_in, val abort_ret_in) chk_calloc(1, sizeof *tfcl)); struct txr_ffi_call_desc *tfcd = ffi_call_desc_checked(self, call_desc); val obj = cobj(coerce(mem_t *, tfcl), ffi_closure_s, &ffi_closure_ops); - val safe_p = default_arg(safe_p_in, t); + val safe_p = default_arg_strict(safe_p_in, t); ffi_status ffis = FFI_OK; tfcl->clo = convert(ffi_closure *, |