From: Steinar H. Gunderson Date: Thu, 24 Apr 2014 22:49:51 +0000 (+0200) Subject: Set umask explicitly before calling mkstemp(). X-Git-Tag: 1.1.0~12 X-Git-Url: https://git.sesse.net/?p=cubemap;a=commitdiff_plain;h=8a2935dc58b00839acc493b4d146042d22a9793c Set umask explicitly before calling mkstemp(). For the benefit of super-old glibc versions (pre-2.06). Found by Coverity Scan. --- diff --git a/util.cpp b/util.cpp index dadeb37..5659bed 100644 --- a/util.cpp +++ b/util.cpp @@ -21,11 +21,13 @@ int make_tempfile(const std::string &contents) char filename[] = "/tmp/cubemap.XXXXXX"; int fd = open(filename, O_RDWR | O_TMPFILE, 0600); if (fd == -1) { + mode_t old_umask = umask(077); fd = mkstemp(filename); if (fd == -1) { log_perror("mkstemp"); return -1; } + umask(old_umask); if (unlink(filename) == -1) { log_perror("unlink");