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");