diff --git a/usr.sbin/pw/rm_r.c b/usr.sbin/pw/rm_r.c index 66298a248f19..66ec3f21423f 100644 --- a/usr.sbin/pw/rm_r.c +++ b/usr.sbin/pw/rm_r.c @@ -57,6 +57,10 @@ rm_r(int rootfd, const char *path, uid_t uid) } d = fdopendir(dirfd); + if (d == NULL) { + (void)close(dirfd); + return; + } while ((e = readdir(d)) != NULL) { if (strcmp(e->d_name, ".") == 0 || strcmp(e->d_name, "..") == 0) continue;