Stream: git-wasmtime

Topic: wasmtime / PR #3582 C api vec


view this post on Zulip Wasmtime GitHub notifications bot (Dec 03 2021 at 00:29):

Amanieu opened PR #3582 from c-api-vec to main:

While working on https://github.com/wasmerio/wasmer/pull/2683 I noticed a few bugs in wasmtime's implementation of the Wasm C API, specifically the vector types.

The first issue is the incorrect implementation of Clone using #[derive]. This only performs a shallow copy of the vector, which means that you can end up with a double-free once both clones are freed.

The second issue is that the wasm_*_vec_new functions are supposed to take ownership of objects in the given slice, not clone them. This is apparent if you look at the declaration and how it is used in the C API header.


Last updated: Nov 22 2024 at 16:03 UTC