diff options
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/smbrun.c | 2 | ||||
-rw-r--r-- | source3/lib/sysacls.c | 1 | ||||
-rw-r--r-- | source3/lib/util.c | 14 |
3 files changed, 15 insertions, 2 deletions
diff --git a/source3/lib/smbrun.c b/source3/lib/smbrun.c index 2b7d141834..e039f222fc 100644 --- a/source3/lib/smbrun.c +++ b/source3/lib/smbrun.c @@ -34,7 +34,7 @@ static BOOL setup_stdout_file(char *outfile,BOOL shared) { int fd; mode_t mode = S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH; - int flags = O_RDWR|O_CREAT|O_TRUNC|O_EXCL; + int flags = O_RDWR|O_CREAT|O_EXCL; close(1); diff --git a/source3/lib/sysacls.c b/source3/lib/sysacls.c index 778f467c12..59f8e2e043 100644 --- a/source3/lib/sysacls.c +++ b/source3/lib/sysacls.c @@ -1221,7 +1221,6 @@ int sys_acl_free_acl(SMB_ACL_T the_acl) return acl_free(the_acl); } ->>>>>>> 1.15 #else /* No ACLs. */ int sys_acl_get_entry( SMB_ACL_T the_acl, int entry_id, SMB_ACL_ENTRY_T *entry_p) diff --git a/source3/lib/util.c b/source3/lib/util.c index cd1395aba7..42a9617077 100644 --- a/source3/lib/util.c +++ b/source3/lib/util.c @@ -1742,6 +1742,20 @@ char *smbd_mktemp(char *template) return p; } +/***************************************************************** +possibly replace mkstemp if it is broken +*****************************************************************/ +int smb_mkstemp(char *template) +{ +#if HAVE_SECURE_MKSTEMP + return mkstemp(template); +#else + /* have a reasonable go at emulating it. Hope that + the system mktemp() isn't completly hopeless */ + if (!mktemp(template)) return -1; + return open(template, O_CREAT|O_EXCL|O_RDWR, 0600); +#endif +} /***************************************************************** like strdup but for memory |