diff --git a/crates/zx_document_ffi/src/lib.rs b/crates/zx_document_ffi/src/lib.rs index d9a3b88..dd240f8 100644 --- a/crates/zx_document_ffi/src/lib.rs +++ b/crates/zx_document_ffi/src/lib.rs @@ -157,6 +157,15 @@ pub extern "C" fn ffi_zx_document_ffi_rustbuffer_from_bytes_separate( &mut call_status, ) }; + // Check if allocation succeeded + if call_status.code != uniffi::RustCallStatusCode::Success { + unsafe { + *out_capacity = 0; + *out_len = 0; + *out_data = std::ptr::null_mut(); + } + return; + } unsafe { *out_capacity = buf.capacity() as u64; *out_len = buf.len() as u64;