summaryrefslogtreecommitdiff
path: root/idlc
diff options
context:
space:
mode:
Diffstat (limited to 'idlc')
-rw-r--r--idlc/source/idlccompile.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/idlc/source/idlccompile.cxx b/idlc/source/idlccompile.cxx
index 894e5d8f1150..8a98af2aa456 100644
--- a/idlc/source/idlccompile.cxx
+++ b/idlc/source/idlccompile.cxx
@@ -38,6 +38,8 @@
#else
#include <wait.h>
#endif
+#include <sys/types.h>
+#include <sys/stat.h>
#endif
#include <string.h>
@@ -154,7 +156,9 @@ OString makeTempName(const OString& prefix)
strncat(tmpFilePattern, "XXXXXX", sizeof(tmpFilePattern)-1-strlen(tmpFilePattern));
#ifdef SAL_UNX
+ mode_t nOrigMode = umask(S_IRWXG | S_IRWXO);
int nDescriptor = mkstemp(tmpFilePattern);
+ umask(nOrigMode);
if( -1 == nDescriptor )
{
fprintf(stderr, "idlc: mkstemp(\"%s\") failed: %s\n", tmpFilePattern, strerror(errno));