diff options
author | Nayeem Rahman <muhammed.9939@gmail.com> | 2020-01-20 14:45:44 +0000 |
---|---|---|
committer | Ry Dahl <ry@tinyclouds.org> | 2020-01-20 09:45:44 -0500 |
commit | 7f80f9db3f4c3b064b230adfec7ff958fc195da6 (patch) | |
tree | bda74057420a1b51ce293918b6e67123715ee945 /cli/ops/files.rs | |
parent | 60b53fd6b6dc2af83a64c332b9f3a1926f43d631 (diff) |
refactor: Improve path handling in permission checks (#3714)
Diffstat (limited to 'cli/ops/files.rs')
-rw-r--r-- | cli/ops/files.rs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/cli/ops/files.rs b/cli/ops/files.rs index 5a8694019..8bb3c8acb 100644 --- a/cli/ops/files.rs +++ b/cli/ops/files.rs @@ -12,6 +12,7 @@ use futures::future::FutureExt; use std; use std::convert::From; use std::io::SeekFrom; +use std::path::Path; use tokio; pub fn init(i: &mut Isolate, s: &ThreadSafeState) { @@ -34,7 +35,7 @@ fn op_open( _zero_copy: Option<PinnedBuf>, ) -> Result<JsonOp, ErrBox> { let args: OpenArgs = serde_json::from_value(args)?; - let (filename, filename_) = deno_fs::resolve_from_cwd(&args.filename)?; + let filename = deno_fs::resolve_from_cwd(Path::new(&args.filename))?; let mode = args.mode.as_ref(); let state_ = state.clone(); let mut open_options = tokio::fs::OpenOptions::new(); @@ -75,14 +76,14 @@ fn op_open( match mode { "r" => { - state.check_read(&filename_)?; + state.check_read(&filename)?; } "w" | "a" | "x" => { - state.check_write(&filename_)?; + state.check_write(&filename)?; } &_ => { - state.check_read(&filename_)?; - state.check_write(&filename_)?; + state.check_read(&filename)?; + state.check_write(&filename)?; } } |