PR fortran/54878
* io/unix.c (tempfile_open): Set umask before calling mkstemp.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192325
138bc75d-0d04-0410-961f-
82ee72b054a4
+2012-10-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/54878
+ * io/unix.c (tempfile_open): Set umask before calling mkstemp.
+
2012-10-06 Janne Blomqvist <jb@gcc.gnu.org>
* configure.ac: Check for presence of secure_getenv.
{
int fd;
const char *slash = "/";
+#if defined(HAVE_UMASK) && defined(HAVE_MKSTEMP)
+ mode_t mode_mask;
+#endif
if (!tempdir)
return -1;
snprintf (template, tempdirlen + 23, "%s%sgfortrantmpXXXXXX",
tempdir, slash);
+#ifdef HAVE_UMASK
+ /* Temporarily set the umask such that the file has 0600 permissions. */
+ mode_mask = umask (S_IXUSR | S_IRWXG | S_IRWXO);
+#endif
+
fd = mkstemp (template);
+#ifdef HAVE_UMASK
+ (void) umask (mode_mask);
+#endif
+
#else /* HAVE_MKSTEMP */
fd = -1;
int count = 0;