diff options
Diffstat (limited to 'ports/unix/modffi.c')
| -rw-r--r-- | ports/unix/modffi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ports/unix/modffi.c b/ports/unix/modffi.c index 51beb355f..dc3ed4dc7 100644 --- a/ports/unix/modffi.c +++ b/ports/unix/modffi.c @@ -334,7 +334,8 @@ static mp_obj_t mod_ffi_callback(size_t n_args, const mp_obj_t *pos_args, mp_map const char *rettype = mp_obj_str_get_str(rettype_in); mp_int_t nparams = MP_OBJ_SMALL_INT_VALUE(mp_obj_len_maybe(paramtypes_in)); - mp_obj_fficallback_t *o = mp_obj_malloc_var(mp_obj_fficallback_t, params, ffi_type *, nparams, &fficallback_type); + mp_obj_fficallback_t *o = (mp_obj_fficallback_t *)m_tracked_calloc(offsetof(mp_obj_fficallback_t, params) + sizeof(ffi_type *) * nparams, sizeof(uint8_t)); + o->base.type = &fficallback_type; o->clo = ffi_closure_alloc(sizeof(ffi_closure), &o->func); |
