summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pw/rm_r.c
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2016-07-24 08:12:23 +0000
committerbapt <bapt@FreeBSD.org>2016-07-24 08:12:23 +0000
commit67d5cea0a3d92e93dee25ae5dddf51977b9b0b70 (patch)
tree41bf4d555fdc9bcb3903633267848cc0ff2e95b6 /usr.sbin/pw/rm_r.c
parentd67d2c2ff3f8f6805895c421d2e0ca1bc0921ca0 (diff)
downloadFreeBSD-src-67d5cea0a3d92e93dee25ae5dddf51977b9b0b70.zip
FreeBSD-src-67d5cea0a3d92e93dee25ae5dddf51977b9b0b70.tar.gz
iDo not try to delete the home of the user if is is not a directory for example
"/dev/null" PR: 211195 Submitted by: rday <ryan@ryanday.net> Reported by: eniorm <eniorm@gmail.com> Approved by: re (kib)
Diffstat (limited to 'usr.sbin/pw/rm_r.c')
-rw-r--r--usr.sbin/pw/rm_r.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usr.sbin/pw/rm_r.c b/usr.sbin/pw/rm_r.c
index 172c7b0..45fc5d1 100644
--- a/usr.sbin/pw/rm_r.c
+++ b/usr.sbin/pw/rm_r.c
@@ -50,6 +50,9 @@ rm_r(int rootfd, const char *path, uid_t uid)
path++;
dirfd = openat(rootfd, path, O_DIRECTORY);
+ if (dirfd == -1) {
+ return;
+ }
d = fdopendir(dirfd);
while ((e = readdir(d)) != NULL) {
OpenPOWER on IntegriCloud