1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-28 03:27:44 +00:00

pathchk: check empty path

This commit is contained in:
Zhuoxun Yang 2023-10-18 22:50:43 +08:00
parent f18055835c
commit 1ab8555a94

View file

@ -193,6 +193,17 @@ fn check_default(path: &[String]) -> bool {
);
return false;
}
if total_len == 0 {
// Check whether a file name component is in a directory that is not searchable,
// or has some other serious problem. POSIX does not allow "" as a file name,
// but some non-POSIX hosts do (as an alias for "."),
// so allow "" if `symlink_metadata` (corresponds to `lstat`) does.
if fs::symlink_metadata(&joined_path).is_err() {
writeln!(std::io::stderr(), "pathchk: '': No such file or directory",);
return false;
}
}
// components: length
for p in path {
let component_len = p.len();