diff options
author | Watson <watson1978@gmail.com> | 2020-07-13 21:51:57 +0900 |
---|---|---|
committer | Watson <watson1978@gmail.com> | 2020-07-18 13:11:33 +0900 |
commit | 2c9c517876fd115191cd05f62ff8e77ebd493641 (patch) | |
tree | a612f3d1a970f707424c334e20b15492506957d4 /ext/ffi_c/Function.c | |
parent | d15fa0615df0f20fbcf4b3c23a353a4ec002f555 (diff) | |
download | ffi-2c9c517876fd115191cd05f62ff8e77ebd493641.tar.gz |
Use ffi_closure_alloc() on Apple silicon to fix crash
Diffstat (limited to 'ext/ffi_c/Function.c')
-rw-r--r-- | ext/ffi_c/Function.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/ffi_c/Function.c b/ext/ffi_c/Function.c index 506d79b..b1d5a65 100644 --- a/ext/ffi_c/Function.c +++ b/ext/ffi_c/Function.c @@ -849,7 +849,7 @@ callback_prep(void* ctx, void* code, Closure* closure, char* errmsg, size_t errm FunctionType* fnInfo = (FunctionType *) ctx; ffi_status ffiStatus; - ffiStatus = ffi_prep_closure_loc(code, &fnInfo->ffi_cif, callback_invoke, closure, code); + ffiStatus = ffi_prep_closure_loc(closure->pcl, &fnInfo->ffi_cif, callback_invoke, closure, code); if (ffiStatus != FFI_OK) { snprintf(errmsg, errmsgsize, "ffi_prep_closure_loc failed. status=%#x", ffiStatus); return false; |