[Pkg-shadow-commits] r2573 - in upstream/trunk: . src

nekral-guest at alioth.debian.org nekral-guest at alioth.debian.org
Sat Mar 21 19:18:06 UTC 2009


Author: nekral-guest
Date: 2009-03-21 19:18:06 +0000 (Sat, 21 Mar 2009)
New Revision: 2573

Modified:
   upstream/trunk/ChangeLog
   upstream/trunk/src/useradd.c
Log:
	* src/useradd.c: Likewise for the default file, faillog, lastlog,
	and mail spool.


Modified: upstream/trunk/ChangeLog
===================================================================
--- upstream/trunk/ChangeLog	2009-03-21 19:12:00 UTC (rev 2572)
+++ upstream/trunk/ChangeLog	2009-03-21 19:18:06 UTC (rev 2573)
@@ -2,6 +2,8 @@
 
 	* lib/commonio.c: Call fsync before closing the backup file. This
 	ensures that the backup file is flushed to the storage medium.
+	* src/useradd.c: Likewise for the default file, faillog, lastlog,
+	and mail spool.
 
 2009-03-15  Nicolas François  <nicolas.francois at centraliens.net>
 

Modified: upstream/trunk/src/useradd.c
===================================================================
--- upstream/trunk/src/useradd.c	2009-03-21 19:12:00 UTC (rev 2572)
+++ upstream/trunk/src/useradd.c	2009-03-21 19:18:06 UTC (rev 2573)
@@ -542,7 +542,9 @@
 	 * the new file is intact.
 	 */
 	(void) fflush (ofp);
-	if ((ferror (ofp) != 0) || (fclose (ofp) != 0)) {
+	if (   (ferror (ofp) != 0)
+	    || (fsync (fileno (ofp)) != 0)
+	    || (fclose (ofp) != 0)) {
 		unlink (new_file);
 		return -1;
 	}
@@ -1556,6 +1558,7 @@
 	if (   (-1 == fd)
 	    || (lseek (fd, offset_uid, SEEK_SET) != offset_uid)
 	    || (write (fd, &fl, sizeof (fl)) != (ssize_t) sizeof (fl))
+	    || (fsync (fd) != 0)
 	    || (close (fd) != 0)) {
 		fprintf (stderr,
 		         _("%s: failed to reset the faillog entry of UID %lu: %s\n"),
@@ -1581,6 +1584,7 @@
 	if (   (-1 == fd)
 	    || (lseek (fd, offset_uid, SEEK_SET) != offset_uid)
 	    || (write (fd, &ll, sizeof (ll)) != (ssize_t) sizeof (ll))
+	    || (fsync (fd) != 0)
 	    || (close (fd) != 0)) {
 		fprintf (stderr,
 		         _("%s: failed to reset the lastlog entry of UID %lu: %s\n"),
@@ -1750,6 +1754,7 @@
 			perror (_("Setting mailbox file permissions"));
 		}
 
+		fsync (fd);
 		close (fd);
 	}
 }




More information about the Pkg-shadow-commits mailing list