From ebe83cbab4aaa8a530d0f31f438b263a99f36fb0 Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Mon, 26 Oct 2020 17:23:01 -0700 Subject: [PATCH 1/3] Fix issue with `path_rename` moving down 1 directory --- lib/wasi/src/syscalls/mod.rs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/wasi/src/syscalls/mod.rs b/lib/wasi/src/syscalls/mod.rs index 6fbd345ff5a..23ecd7b58b4 100644 --- a/lib/wasi/src/syscalls/mod.rs +++ b/lib/wasi/src/syscalls/mod.rs @@ -2030,12 +2030,16 @@ pub fn path_rename( new_path: WasmPtr, new_path_len: u32, ) -> __wasi_errno_t { - debug!("wasi::path_rename"); + debug!( + "wasi::path_rename: old_fd = {}, new_fd = {}", + old_fd, new_fd + ); let (memory, mut state) = env.get_memory_and_wasi_state(0); let source_str = get_input_str!(memory, old_path, old_path_len); let source_path = std::path::Path::new(source_str); let target_str = get_input_str!(memory, new_path, new_path_len); let target_path = std::path::Path::new(target_str); + debug!("=> rename from {} to {}", source_str, target_str); { let source_fd = wasi_try!(state.fs.get_fd(old_fd)); @@ -2059,8 +2063,6 @@ pub fn path_rename( return __WASI_EEXIST; } let mut out_path = path.clone(); - // remove fd's own name which will be double counted - out_path.pop(); out_path.push(target_path); out_path } From 506781482662e874dd89d166bd8577422925d771 Mon Sep 17 00:00:00 2001 From: Mark McCaskey Date: Mon, 16 Nov 2020 12:23:10 -0800 Subject: [PATCH 2/3] Squashed 'tests/wasi-wast/' changes from f3af784fb..bf069e946 bf069e946 Update path rename WASI test to ensure that things work as expected dd93cb4d6 Clarify that `wasm-opt` comes from binaryen git-subtree-dir: tests/wasi-wast git-subtree-split: bf069e94621d6a72cdcaf5e30844cdbe19b75530 --- README.md | 2 +- wasi/snapshot1/path_rename.wasm | Bin 76002 -> 81030 bytes wasi/snapshot1/path_rename.wast | 2 +- wasi/tests/path_rename.rs | 19 +++++++++++++++++++ wasi/unstable/path_rename.wasm | Bin 74738 -> 79808 bytes wasi/unstable/path_rename.wast | 2 +- 6 files changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 42a05578a40..36968c6318f 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ WASI test files with expected output in a custom WAST format. In order to run the test generator properly you will need: - `rustup` installed and on your PATH -- `wasm-opt` and `wasm-strip` from `wabt` installed and on your PATH +- `wasm-opt` from `binaryen` and `wasm-strip` from `wabt` are installed and on your PATH ## Usage diff --git a/wasi/snapshot1/path_rename.wasm b/wasi/snapshot1/path_rename.wasm index 5250a1d40016548389fe834e9e82b704bb94d4ca..9d5c5377ecf2c38b8054b7c645d0a0b13d8a3b1e 100755 GIT binary patch delta 24495 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

l{kP< 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 Date: Mon, 16 Nov 2020 12:26:59 -0800 Subject: [PATCH 3/3] Add WASI path_rename fix to changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8da0234457..8b0db1ecd8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ ### Fixed +- [#1764](https://github.com/wasmerio/wasmer/pull/1764) Fix bug in WASI `path_rename` allowing renamed files to be 1 directory below a preopened directory. + ## 1.0.0-alpha5 - 2020-11-06 ### Added