From 90cbfc96d118d6b55c47392d8ae421434dea8225 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Mon, 25 Feb 2013 17:34:21 +0100 Subject: Make sure to set umask() before calling mkstemp(). Reviewed-by: David Disseldorp Autobuild-User(master): David Disseldorp Autobuild-Date(master): Wed Mar 6 01:16:34 CET 2013 on sn-devel-104 --- source3/utils/interact.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'source3/utils/interact.c') diff --git a/source3/utils/interact.c b/source3/utils/interact.c index 6d753dd012..f8fed6de19 100644 --- a/source3/utils/interact.c +++ b/source3/utils/interact.c @@ -25,6 +25,7 @@ */ #include "includes.h" +#include "system/filesys.h" #include "interact.h" @@ -79,8 +80,12 @@ char* interact_edit(TALLOC_CTX* mem_ctx, const char* str) { char buf[128]; char* ret = NULL; FILE* file; + mode_t mask; + int fd; - int fd = mkstemp(fname); + mask = umask(S_IRWXO | S_IRWXG); + fd = mkstemp(fname); + umask(mask); if (fd == -1) { DEBUG(0, ("failed to mkstemp %s: %s\n", fname, strerror(errno))); -- cgit