Skip to content

Commit

Permalink
Fix return size of fd_read, fd_pread, and fd_pwrite (#17608)
Browse files Browse the repository at this point in the history
The three functions declared the return size pointer as `i32`, which is
incorrect on WASM64. It is a `SIZE_TYPE`.

Closes: #17607
  • Loading branch information
tiran authored Aug 10, 2022
1 parent 4cca7fb commit 2b2e142
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/library_wasi.js
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ var WasiLibrary = {
{{{ receiveI64ParamAsI53('offset', cDefine('EOVERFLOW')) }}}
var stream = SYSCALLS.getStreamFromFD(fd)
var num = doWritev(stream, iov, iovcnt, offset);
{{{ makeSetValue('pnum', 0, 'num', 'i32') }}};
{{{ makeSetValue('pnum', 0, 'num', SIZE_TYPE) }}};
return 0;
#elif ASSERTIONS
abort('fd_pwrite called without SYSCALLS_REQUIRE_FILESYSTEM');
Expand Down Expand Up @@ -330,7 +330,7 @@ var WasiLibrary = {
#if SYSCALLS_REQUIRE_FILESYSTEM
var stream = SYSCALLS.getStreamFromFD(fd);
var num = doReadv(stream, iov, iovcnt);
{{{ makeSetValue('pnum', 0, 'num', 'i32') }}};
{{{ makeSetValue('pnum', 0, 'num', SIZE_TYPE) }}};
return 0;
#elif ASSERTIONS
abort('fd_read called without SYSCALLS_REQUIRE_FILESYSTEM');
Expand All @@ -350,7 +350,7 @@ var WasiLibrary = {
{{{ receiveI64ParamAsI53('offset', cDefine('EOVERFLOW')) }}}
var stream = SYSCALLS.getStreamFromFD(fd)
var num = doReadv(stream, iov, iovcnt, offset);
{{{ makeSetValue('pnum', 0, 'num', 'i32') }}};
{{{ makeSetValue('pnum', 0, 'num', SIZE_TYPE) }}};
return 0;
#elif ASSERTIONS
abort('fd_pread called without SYSCALLS_REQUIRE_FILESYSTEM');
Expand Down

0 comments on commit 2b2e142

Please sign in to comment.