summaryrefslogtreecommitdiffstats
path: root/usr.sbin/config/main.c
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2008-04-10 22:57:54 +0000
committerimp <imp@FreeBSD.org>2008-04-10 22:57:54 +0000
commitd99d951c1c77a9727f83ca99c52261cc3bc93f76 (patch)
tree3911b7c1e1d1ff2441376fc9e55b222f660cf5de /usr.sbin/config/main.c
parent071467d40e7057d32312cd63f581babfad08b950 (diff)
downloadFreeBSD-src-d99d951c1c77a9727f83ca99c52261cc3bc93f76.zip
FreeBSD-src-d99d951c1c77a9727f83ca99c52261cc3bc93f76.tar.gz
Fix a bug introduced by DEFAULTS feature. When the config file
doesn't exist, we make a directory and then say "oops, that file isn't there" leaving the directory behind. Add a stat for the config file so that we detect this before making the directory. This is semi-lame, but less lame than having this bug.
Diffstat (limited to 'usr.sbin/config/main.c')
-rw-r--r--usr.sbin/config/main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.sbin/config/main.c b/usr.sbin/config/main.c
index d1ca9bf..24b4396 100644
--- a/usr.sbin/config/main.c
+++ b/usr.sbin/config/main.c
@@ -150,6 +150,8 @@ main(int argc, char **argv)
usage();
PREFIX = *argv;
+ if (stat(PREFIX, &buf) != 0 || !S_ISREG(buf.st_mode))
+ err(2, "%s", PREFIX);
if (freopen("DEFAULTS", "r", stdin) != NULL) {
found_defaults = 1;
yyfile = "DEFAULTS";
OpenPOWER on IntegriCloud