aboutsummaryrefslogtreecommitdiff
path: root/jim-file.c
diff options
context:
space:
mode:
Diffstat (limited to 'jim-file.c')
-rw-r--r--jim-file.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/jim-file.c b/jim-file.c
index ddb0ede..6d10a2b 100644
--- a/jim-file.c
+++ b/jim-file.c
@@ -489,6 +489,7 @@ static int file_cmd_tempfile(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
int fd;
char *filename;
const char *template = "/tmp/tcl.tmp.XXXXXX";
+ mode_t mask = umask(S_IXUSR | S_IRWXG | S_IRWXO);
if (argc >= 1) {
template = Jim_String(argv[0]);
@@ -496,6 +497,7 @@ static int file_cmd_tempfile(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
filename = Jim_StrDup(template);
fd = mkstemp(filename);
+ umask(mask);
if (fd < 0) {
Jim_SetResultString(interp, "Failed to create tempfile", -1);
Jim_Free(filename);