wasm-micro-runtime/core/iwasm/libraries/libc-wasi
Callum Macmillan 8dd1c8ab86
Copy only received bytes from socket recv buffer into the app buffer (#1497)
**What**

* Updated `copy_buffer_to_iovec_app` so that it copies as much of the buffer into the iovec as specified
* Throw invalid value when allocating an iovec of size 0

**Why**

* A bug found from TCP client example which allocates 1024 for the iovec size (where the buf size is also 1024) but received bytes is passed in as the `buf_size` argument to `copy_buffer_to_iovec_app`. This would return early after hitting this check `buf + data->buf_len > buf_begin + buf_size`. However, if the amount to copy is less than the iovec size, we should copy that much of the buf size. Eg TCP client sample receives 27(?) bytes at a time, and this copies 27 bytes into the iovec of size 1024
* The TCP client example attempts to recv bytes of size 0, this attempts to wasm malloc size 0, which outputs a warning. We should early return if recv bytes of size 0
2022-09-21 06:11:03 +08:00
..
sandboxed-system-primitives Added http downloader and multicast socket options (#1467) 2022-09-15 17:09:39 +08:00
libc_wasi_wrapper.c Copy only received bytes from socket recv buffer into the app buffer (#1497) 2022-09-21 06:11:03 +08:00
libc_wasi_wrapper.h Implement part of Berkeley Socket API for libc-wasi (#1036) 2022-03-10 15:13:38 +08:00
libc_wasi.cmake Enable AoT and wamr-sdk, and change arguments of call wasm API (#157) 2020-01-21 13:26:14 +08:00
SConscript add porting codes of rt-thread (#494) 2021-01-14 11:26:35 +08:00