[Midnightbsd-cvs] src [10492] trunk/lib/libutil/quotafile.c: use O_CLOEXEC

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Wed Jun 6 21:31:47 EDT 2018


Revision: 10492
          http://svnweb.midnightbsd.org/src/?rev=10492
Author:   laffer1
Date:     2018-06-06 21:31:47 -0400 (Wed, 06 Jun 2018)
Log Message:
-----------
use O_CLOEXEC

Modified Paths:
--------------
    trunk/lib/libutil/quotafile.c

Modified: trunk/lib/libutil/quotafile.c
===================================================================
--- trunk/lib/libutil/quotafile.c	2018-06-07 01:31:02 UTC (rev 10491)
+++ trunk/lib/libutil/quotafile.c	2018-06-07 01:31:47 UTC (rev 10492)
@@ -1,3 +1,4 @@
+/* $MidnightBSD$ */
 /*-
  * Copyright (c) 2008 Dag-Erling Coïdan Smørgrav
  * Copyright (c) 2008 Marshall Kirk McKusick
@@ -25,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $MidnightBSD$
+ * $FreeBSD: stable/10/lib/libutil/quotafile.c 300272 2016-05-20 06:35:14Z truckman $
  */
 
 #include <sys/types.h>
@@ -84,7 +85,7 @@
 	}
 	strcpy(buf, fs->fs_mntops);
 	for (opt = strtok(buf, ","); opt; opt = strtok(NULL, ",")) {
-		if ((cp = index(opt, '=')))
+		if ((cp = strchr(opt, '=')))
 			*cp++ = '\0';
 		if (type == USRQUOTA && strcmp(opt, usrname) == 0)
 			break;
@@ -124,7 +125,7 @@
 		return (NULL);
 	qf->fd = -1;
 	qf->quotatype = quotatype;
-	strncpy(qf->fsname, fs->fs_file, sizeof(qf->fsname));
+	strlcpy(qf->fsname, fs->fs_file, sizeof(qf->fsname));
 	if (stat(qf->fsname, &st) != 0)
 		goto error;
 	qf->dev = st.st_dev;
@@ -137,7 +138,7 @@
 		goto error;
 	}
 	qf->accmode = openflags & O_ACCMODE;
-	if ((qf->fd = open(qf->qfname, qf->accmode)) < 0 &&
+	if ((qf->fd = open(qf->qfname, qf->accmode|O_CLOEXEC)) < 0 &&
 	    (openflags & O_CREAT) != O_CREAT)
 		goto error;
 	/* File open worked, so process it */
@@ -168,7 +169,8 @@
 		/* not reached */
 	}
 	/* open failed, but O_CREAT was specified, so create a new file */
-	if ((qf->fd = open(qf->qfname, O_RDWR|O_CREAT|O_TRUNC, 0)) < 0)
+	if ((qf->fd = open(qf->qfname, O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0)) <
+	    0)
 		goto error;
 	qf->wordsize = 64;
 	memset(&dqh, 0, sizeof(dqh));
@@ -534,7 +536,8 @@
 		free(newqf);
 		return (-1);
 	}
-	if ((newqf->fd = open(qf->qfname, O_RDWR|O_CREAT|O_TRUNC, 0)) < 0) {
+	if ((newqf->fd = open(qf->qfname, O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC,
+	    0)) < 0) {
 		serrno = errno;
 		goto error;
 	}



More information about the Midnightbsd-cvs mailing list