Commit d8ac37fcc8

mlugg <mlugg@mlugg.co.uk>
2025-03-12 03:08:02
stage1: fix `wasi_snapshot_preview1_fd_seek` on cache files
`wasm2c` uses an interesting mechanism to "fake" the existence of cache directories. However, `wasi_snapshot_preview1_fd_seek` was not correctly integrated with this system, so previously crashed when run on a file in a cache directory due to trying to call `fseek` on a `FILE *` which was `NULL`.
1 parent 8720995
Changed files (1)
stage1
stage1/wasi.c
@@ -1003,6 +1003,8 @@ uint32_t wasi_snapshot_preview1_fd_seek(uint32_t fd, uint64_t in_offset, uint32_
         default: panic("unimplemented");
     }
 
+    if (fds[fd].stream == NULL) return wasi_errno_success;
+
     int seek_whence;
     switch (whence) {
         case wasi_whence_set: