From 20511cf608c686a3352af13c5bf840e38b950413 Mon Sep 17 00:00:00 2001 From: Calvin Rose Date: Sat, 18 Jun 2022 16:53:01 -0500 Subject: [PATCH] Cast NULL pointer to nil in return in ffi. --- src/core/ffi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/ffi.c b/src/core/ffi.c index 1b77ccea..0c47439c 100644 --- a/src/core/ffi.c +++ b/src/core/ffi.c @@ -491,8 +491,10 @@ static Janet janet_ffi_read_one(const uint8_t *from, JanetFFIType type, int recu return janet_wrap_number(((double *)(from))[0]); case JANET_FFI_TYPE_FLOAT: return janet_wrap_number(((float *)(from))[0]); - case JANET_FFI_TYPE_PTR: - return janet_wrap_pointer(((void **)(from))[0]); + case JANET_FFI_TYPE_PTR: { + void *ptr = ((void **)(from))[0]; + return (NULL == ptr) ? janet_wrap_nil() : janet_wrap_pointer(ptr); + } case JANET_FFI_TYPE_BOOL: return janet_wrap_boolean(((bool *)(from))[0]); case JANET_FFI_TYPE_INT8: