Fixes incorrect guest fd encoding

Surfaced when running sunfishcode/misc-tests. When trying to
truncate the file without the __WASI_RIGHT_PATH_FILESTAT_SET_SIZE
right, error __WASI_ENOTCAPABLE was correctly returned, however,
the guest fd pointer was not encoded to -1 in that case. This
commit fixes it by taking out the guest fd encoding out of the
conditional branch which turns out obsolete.
This commit is contained in:
Jakub Konka
2019-06-09 12:56:54 +02:00
committed by Dan Gohman
parent 8dc1d90352
commit 7ac6666fcb

View File

@@ -956,10 +956,8 @@ syscalls! {
&mut host_fd,
);
if u32::from(e) == host::__WASI_ESUCCESS {
trace!(" | *fd={:?}", host_fd);
encode_fd_byref(vmctx, fd, host_fd);
}
trace!(" | *fd={:?}", host_fd);
encode_fd_byref(vmctx, fd, host_fd);
return_encoded_errno(e)
}