summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-02-06 23:53:07 -0800
committerKaz Kylheku <kaz@kylheku.com>2019-02-06 23:53:07 -0800
commit7214a25e9b9b70c9b61eeb78b35f970eb552641e (patch)
tree97041f82d3aed4c532e0ddff03252eb99953e3ee
parent20a069da3522593439d1c0e291c119010f276184 (diff)
downloadtxr-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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ffi.c b/ffi.c
index 1cc004cc..c21a004c 100644
--- a/ffi.c
+++ b/ffi.c
@@ -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 *,