diff options
author | F001 <changchun.fan@qq.com> | 2018-12-04 11:07:34 +0800 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-12-03 19:07:34 -0800 |
commit | 9e839b7e2325e55147cc7e49ed9576cc000eaf63 (patch) | |
tree | decb837a389fb07f65d7b681208ae4b5549f321a /src/libdeno.rs | |
parent | f6c841a6cd85b8e8db3c6cb52fa41811535a72ca (diff) |
Avoid memory leak (#1265)
Diffstat (limited to 'src/libdeno.rs')
-rw-r--r-- | src/libdeno.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/libdeno.rs b/src/libdeno.rs index c831dc73a..35278a7da 100644 --- a/src/libdeno.rs +++ b/src/libdeno.rs @@ -29,6 +29,18 @@ impl deno_buf { } } +/// Converts Rust &Buf to libdeno `deno_buf`. +impl<'a> From<&'a [u8]> for deno_buf { + fn from(x: &'a [u8]) -> Self { + Self { + alloc_ptr: std::ptr::null_mut(), + alloc_len: 0, + data_ptr: x.as_ref().as_ptr() as *mut u8, + data_len: x.len(), + } + } +} + type DenoRecvCb = unsafe extern "C" fn( user_data: *mut c_void, req_id: i32, |