Fix memory leak in wat2wasm function

This commit is contained in:
Mark McCaskey
2020-12-01 11:38:25 -08:00
parent 7a45d7d1d5
commit deec77d2df
4 changed files with 22 additions and 11 deletions

View File

@@ -102,12 +102,13 @@ macro_rules! wasm_declare_vec {
#[no_mangle]
pub unsafe extern "C" fn [<wasm_ $name _vec_delete>](ptr: *mut [<wasm_ $name _vec_t>]) {
let vec = &mut *ptr;
if !vec.data.is_null() {
Vec::from_raw_parts(vec.data, vec.size, vec.size);
vec.data = ::std::ptr::null_mut();
vec.size = 0;
pub unsafe extern "C" fn [<wasm_ $name _vec_delete>](ptr: Option<&mut [<wasm_ $name _vec_t>]>) {
if let Some(vec) = ptr {
if !vec.data.is_null() {
Vec::from_raw_parts(vec.data, vec.size, vec.size);
vec.data = ::std::ptr::null_mut();
vec.size = 0;
}
}
}
}