X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=util.cpp;h=8f42a9882aa099c85825c3dde7efdbca51f6d36a;hp=dadeb379cd6d4be0154d1de53de1ef6a7d551183;hb=b08dc2a81825a298a03f2dee2ae7dd7045e72739;hpb=db58dd9934afbb1fe93e6d6d408335f4ed35afab diff --git a/util.cpp b/util.cpp index dadeb37..8f42a98 100644 --- a/util.cpp +++ b/util.cpp @@ -18,14 +18,16 @@ using namespace std; int make_tempfile(const std::string &contents) { - char filename[] = "/tmp/cubemap.XXXXXX"; - int fd = open(filename, O_RDWR | O_TMPFILE, 0600); + int fd = open("/tmp", O_RDWR | O_TMPFILE, 0600); if (fd == -1) { + char filename[] = "/tmp/cubemap.XXXXXX"; + 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");