gcc's use of /tmp files is raceable (as pointed out to me many months ago
authorderaadt <deraadt@openbsd.org>
Wed, 12 Feb 1997 00:28:50 +0000 (00:28 +0000)
committerderaadt <deraadt@openbsd.org>
Wed, 12 Feb 1997 00:28:50 +0000 (00:28 +0000)
by davem@iss.net).  however this code is hard to fix. for the moment make
the race harder by calling mktemp with a lot of XXXXX's

gnu/usr.bin/gcc/gcc.c

index fc6ca47..b31e5e7 100644 (file)
@@ -1587,12 +1587,12 @@ choose_temp_base ()
 
   len = strlen (base);
   temp_filename = xmalloc (len + strlen (concat (dir_separator_str, 
-                                                 "ccXXXXXX")) + 1);
+                                                 "ccXXXXXXXXXX")) + 1);
   strcpy (temp_filename, base);
   if (len > 0 && temp_filename[len-1] != '/'
       && temp_filename[len-1] != DIR_SEPARATOR)
     temp_filename[len++] = DIR_SEPARATOR;
-  strcpy (temp_filename + len, "ccXXXXXX");
+  strcpy (temp_filename + len, "ccXXXXXXXXXX");
 
   mktemp (temp_filename);
   temp_filename_length = strlen (temp_filename);