diff options
author | 2023-01-06 16:41:23 -0800 | |
---|---|---|
committer | 2023-01-06 16:41:34 -0800 | |
commit | 8dc811e4aa3b5e8e6c17914e465d0af5ac52aeb3 (patch) | |
tree | 98e8b82bdc1bb351bcda33f62c43cd2e8f88e014 | |
parent | 1e1c8176031cefffcdc0e4673f408c6a98da659d (diff) | |
download | bun-8dc811e4aa3b5e8e6c17914e465d0af5ac52aeb3.tar.gz bun-8dc811e4aa3b5e8e6c17914e465d0af5ac52aeb3.tar.zst bun-8dc811e4aa3b5e8e6c17914e465d0af5ac52aeb3.zip |
Add missing null check
Fixes https://github.com/oven-sh/bun/issues/1739
probably
-rw-r--r-- | src/napi/napi.zig | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/napi/napi.zig b/src/napi/napi.zig index 033b4d758..b4f054a21 100644 --- a/src/napi/napi.zig +++ b/src/napi/napi.zig @@ -744,16 +744,19 @@ pub export fn napi_create_external_arraybuffer(env: napi_env, external_data: ?*a result.* = external.toArrayBuffer(env); return .ok; } -pub export fn napi_get_arraybuffer_info(env: napi_env, arraybuffer: napi_value, data: *[*]u8, byte_length: *usize) napi_status { +pub export fn napi_get_arraybuffer_info(env: napi_env, arraybuffer: napi_value, data: ?*[*]u8, byte_length: ?*usize) napi_status { const array_buffer = arraybuffer.asArrayBuffer(env) orelse return .arraybuffer_expected; var slice = array_buffer.slice(); - data.* = slice.ptr; - byte_length.* = slice.len; + if (data) |dat| + dat.* = slice.ptr; + if (byte_length) |len| + len.* = slice.len; return .ok; } -pub export fn napi_is_typedarray(_: napi_env, value: napi_value, result: *bool) napi_status { - result.* = value.jsTypeLoose().isTypedArray(); - return .ok; +pub export fn napi_is_typedarray(_: napi_env, value: napi_value, result: ?*bool) napi_status { + if (result != null) + result.?.* = value.jsTypeLoose().isTypedArray(); + return if (result != null) .ok else .invalid_arg; } pub export fn napi_create_typedarray(env: napi_env, @"type": napi_typedarray_type, length: usize, arraybuffer: napi_value, byte_offset: usize, result: *napi_value) napi_status { result.* = JSValue.c( |