summaryrefslogtreecommitdiff
path: root/source3/lib/fault.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2008-12-31 18:06:57 -0800
committerJeremy Allison <jra@samba.org>2008-12-31 18:06:57 -0800
commit07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00 (patch)
tree412f448d68b4b0f36c5b330a1f3eef77acf12a2f /source3/lib/fault.c
parentbb23f5725f538d14b2ccec0463cfb1136be3ebd0 (diff)
downloadsamba-07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00.tar.gz
samba-07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00.tar.bz2
samba-07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00.zip
Fix all warnings in source3 with gcc4.3.
Jeremy.
Diffstat (limited to 'source3/lib/fault.c')
-rw-r--r--source3/lib/fault.c34
1 files changed, 30 insertions, 4 deletions
diff --git a/source3/lib/fault.c b/source3/lib/fault.c
index d038e57e1a..c24fea1ca9 100644
--- a/source3/lib/fault.c
+++ b/source3/lib/fault.c
@@ -119,7 +119,18 @@ void dump_core_setup(const char *progname)
SAFE_FREE(logbase);
return;
}
- mkdir(corepath,0700);
+ if (mkdir(corepath,0700) == -1) {
+ if (errno != EEXIST) {
+ SAFE_FREE(corepath);
+ SAFE_FREE(logbase);
+ return;
+ }
+ }
+ if (chmod(corepath,0700) == -1) {
+ SAFE_FREE(corepath);
+ SAFE_FREE(logbase);
+ return;
+ }
SAFE_FREE(corepath);
if (asprintf(&corepath, "%s/cores/%s",
@@ -127,11 +138,26 @@ void dump_core_setup(const char *progname)
SAFE_FREE(logbase);
return;
}
- mkdir(corepath,0700);
+ if (mkdir(corepath,0700) == -1) {
+ if (errno != EEXIST) {
+ SAFE_FREE(corepath);
+ SAFE_FREE(logbase);
+ return;
+ }
+ }
- chown(corepath,getuid(),getgid());
- chmod(corepath,0700);
+ if (chown(corepath,getuid(),getgid()) == -1) {
+ SAFE_FREE(corepath);
+ SAFE_FREE(logbase);
+ return;
+ }
+ if (chmod(corepath,0700) == -1) {
+ SAFE_FREE(corepath);
+ SAFE_FREE(logbase);
+ return;
+ }
+ SAFE_FREE(corepath);
SAFE_FREE(logbase);
#ifdef HAVE_GETRLIMIT