summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/ops.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/cli/ops.rs b/cli/ops.rs
index d5da90567..166610bac 100644
--- a/cli/ops.rs
+++ b/cli/ops.rs
@@ -1404,10 +1404,13 @@ fn op_rename(
) -> CliOpResult {
assert!(data.is_none());
let inner = base.inner_as_rename().unwrap();
- let (oldpath, _) = deno_fs::resolve_from_cwd(inner.oldpath().unwrap())?;
+ let (oldpath, oldpath_) =
+ deno_fs::resolve_from_cwd(inner.oldpath().unwrap())?;
let (newpath, newpath_) =
deno_fs::resolve_from_cwd(inner.newpath().unwrap())?;
+ state.check_read(&oldpath_)?;
+ state.check_write(&oldpath_)?;
state.check_write(&newpath_)?;
blocking(base.sync(), move || {
@@ -1424,10 +1427,12 @@ fn op_link(
) -> CliOpResult {
assert!(data.is_none());
let inner = base.inner_as_link().unwrap();
- let (oldname, _) = deno_fs::resolve_from_cwd(inner.oldname().unwrap())?;
+ let (oldname, oldpath_) =
+ deno_fs::resolve_from_cwd(inner.oldname().unwrap())?;
let (newname, newname_) =
deno_fs::resolve_from_cwd(inner.newname().unwrap())?;
+ state.check_read(&oldpath_)?;
state.check_write(&newname_)?;
blocking(base.sync(), move || {