+2
-8
@@ -444,14 +444,8 @@ int rm_rf_at(int dir_fd, const char *path, RemoveFlags flags) {
|
||||
/* We refuse to clean the root file system with this call. This is extra paranoia to never cause a
|
||||
* really seriously broken system. */
|
||||
r = path_is_root_at(dir_fd, path);
|
||||
if (r == -ENOENT) {
|
||||
struct stat st;
|
||||
|
||||
if (fstatat(dir_fd, path, &st, AT_SYMLINK_NOFOLLOW) < 0)
|
||||
r = -errno;
|
||||
else
|
||||
r = 0; /* The entry exists, but is most likely a dangling symlink. */
|
||||
}
|
||||
if (r == -ENOENT)
|
||||
r = RET_NERRNO(faccessat(dir_fd, path, F_OK, AT_SYMLINK_NOFOLLOW));
|
||||
if (FLAGS_SET(flags, REMOVE_MISSING_OK) && r == -ENOENT)
|
||||
return 0;
|
||||
if (r < 0)
|
||||
|
||||
Reference in New Issue
Block a user