Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 May 2010 00:24:08 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r207689 - head/usr.sbin/mountd
Message-ID:  <201005060024.o460O8QE008286@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Thu May  6 00:24:08 2010
New Revision: 207689
URL: http://svn.freebsd.org/changeset/base/207689

Log:
  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

Modified:
  head/usr.sbin/mountd/mountd.c

Modified: head/usr.sbin/mountd/mountd.c
==============================================================================
--- head/usr.sbin/mountd/mountd.c	Wed May  5 22:52:06 2010	(r207688)
+++ head/usr.sbin/mountd/mountd.c	Thu May  6 00:24:08 2010	(r207689)
@@ -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);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005060024.o460O8QE008286>