From 7214a25e9b9b70c9b61eeb78b35f970eb552641e Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 6 Feb 2019 23:53:07 -0800 Subject: 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. --- ffi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ffi.c') 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 *, -- cgit v1.2.3