Blob Blame History Raw
Index: shadow-4.5/lib/commonio.c
===================================================================
--- shadow-4.5.orig/lib/commonio.c
+++ shadow-4.5/lib/commonio.c
@@ -140,7 +140,10 @@ static int do_lock_file (const char *fil
 	int retval;
 	char buf[32];
 
-	fd = open (file, O_CREAT | O_EXCL | O_WRONLY, 0600);
+	/* We depend here on the fact, that the file name is pid-specific.
+	 * So no O_EXCL here and no DoS.
+	 */
+	fd = open (file, O_CREAT | O_TRUNC | O_WRONLY, 0600);
 	if (-1 == fd) {
 		if (log) {
 			(void) fprintf (stderr,