diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2010-05-06 00:24:08 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2010-05-06 00:24:08 +0000 |
commit | 7ae7bc40354b7aa8abaa7fc0dd815b3eabf61548 (patch) | |
tree | 9bb0389becc92840f0643fdeefac07da6181a8ae /usr.sbin/mountd | |
parent | c7a40a3bf199e33f360da2f8790813cefa3467e5 (diff) | |
download | FreeBSD-src-7ae7bc40354b7aa8abaa7fc0dd815b3eabf61548.zip FreeBSD-src-7ae7bc40354b7aa8abaa7fc0dd815b3eabf61548.tar.gz |
If the "-alldirs" export option was used for the V4: line, mountd
would crash in check_options() since dp == NULL for the V4: line.
This patch moves the check for options allowed on the V4: line to
ahead of where dp is used to avoid this crash.
Reported by: mamalos AT eng.auth.gr
MFC after: 1 week
Diffstat (limited to 'usr.sbin/mountd')
-rw-r--r-- | usr.sbin/mountd/mountd.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/mountd/mountd.c b/usr.sbin/mountd/mountd.c index 340afd3..41a845f 100644 --- a/usr.sbin/mountd/mountd.c +++ b/usr.sbin/mountd/mountd.c @@ -2881,16 +2881,16 @@ check_options(dp) syslog(LOG_ERR, "-mask and /masklen are mutually exclusive"); return (1); } - if ((opt_flags & OP_ALLDIRS) && dp->dp_left) { - syslog(LOG_ERR, "-alldirs has multiple directories"); - return (1); - } if (v4root_phase > 0 && (opt_flags & ~(OP_SEC | OP_MASK | OP_NET | OP_HAVEMASK | OP_MASKLEN)) != 0) { syslog(LOG_ERR,"only -sec,-net,-mask options allowed on V4:"); return (1); } + if ((opt_flags & OP_ALLDIRS) && dp->dp_left) { + syslog(LOG_ERR, "-alldirs has multiple directories"); + return (1); + } return (0); } |