diff --git a/src/mount/redox/scheme.rs b/src/mount/redox/scheme.rs index cd52fbaeb78a9a0da881cd5a9b69de1c6c3cf663..0a135fd2fa0f4976503981236341f3bf836922d7 100644 --- a/src/mount/redox/scheme.rs +++ b/src/mount/redox/scheme.rs @@ -481,6 +481,9 @@ impl<D: Disk> SchemeMut for FileScheme<D> { let scheme_name = &self.name; self.fs.tx(|tx| { let mut nodes = Vec::new(); + + // TODO: Clean up indentation using let-else, possibly elsewhere too. + if let Some((child, child_name)) = Self::path_nodes(scheme_name, tx, path, uid, gid, &mut nodes)? { @@ -491,7 +494,7 @@ impl<D: Disk> SchemeMut for FileScheme<D> { } if !child.data().is_dir() { - if child.data().uid() != uid { + if child.data().uid() != uid && uid != 0 { // println!("file not owned by current user {}", parent.1.uid); return Err(Error::new(EACCES)); }