diff options
Diffstat (limited to 'sbin')
-rw-r--r-- | sbin/mount/getmntopts.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/sbin/mount/getmntopts.c b/sbin/mount/getmntopts.c index 3503060..f8a3453 100644 --- a/sbin/mount/getmntopts.c +++ b/sbin/mount/getmntopts.c @@ -46,7 +46,6 @@ __FBSDID("$FreeBSD$"); #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <sysexits.h> #include "mntopts.h" @@ -129,14 +128,12 @@ checkpath(const char *path, char *resolved) { struct stat sb; - if (realpath(path, resolved) != NULL && stat(resolved, &sb) == 0) { - if (!S_ISDIR(sb.st_mode)) { - errno = ENOTDIR; - return (1); - } - } else + if (realpath(path, resolved) == NULL || stat(resolved, &sb) != 0) return (1); - + if (!S_ISDIR(sb.st_mode)) { + errno = ENOTDIR; + return (1); + } return (0); } |