fd_read or fd_write with a 0 length iovec succeeds on host Linux as well as other Wasm runtimes (Wasmer, Wasmtime, WasmEdge, WAMR). However, uvwasi returns inval. This is a result of libuv performing null checks at the start of uv_fs_{read,write}.
I want to raise this issue to see if maintainers wish to converge with other runtimes here. 0 length read or write should intuitively be a no-op, and we can address this edge case in uvwasi without changing libuv.
fd_read
orfd_write
with a 0 length iovec succeeds on host Linux as well as other Wasm runtimes (Wasmer, Wasmtime, WasmEdge, WAMR). However, uvwasi returnsinval
. This is a result of libuv performing null checks at the start ofuv_fs_{read,write}
.I want to raise this issue to see if maintainers wish to converge with other runtimes here. 0 length read or write should intuitively be a no-op, and we can address this edge case in uvwasi without changing libuv.