diff options
Diffstat (limited to 'cli/ops/fs.rs')
-rw-r--r-- | cli/ops/fs.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/cli/ops/fs.rs b/cli/ops/fs.rs index 6b259e033..c46da6c04 100644 --- a/cli/ops/fs.rs +++ b/cli/ops/fs.rs @@ -245,12 +245,14 @@ struct ChdirArgs { } fn op_chdir( - _state: &State, + state: &State, args: Value, _zero_copy: Option<ZeroCopyBuf>, ) -> Result<JsonOp, OpError> { let args: ChdirArgs = serde_json::from_value(args)?; - set_current_dir(&args.directory)?; + let d = PathBuf::from(&args.directory); + state.check_write(&d)?; + set_current_dir(&d)?; Ok(JsonOp::Sync(json!({}))) } |