diff options
author | Jeremy Allison <jra@samba.org> | 2008-12-31 18:06:57 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-12-31 18:06:57 -0800 |
commit | 07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00 (patch) | |
tree | 412f448d68b4b0f36c5b330a1f3eef77acf12a2f /source3/lib | |
parent | bb23f5725f538d14b2ccec0463cfb1136be3ebd0 (diff) | |
download | samba-07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00.tar.gz samba-07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00.tar.bz2 samba-07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00.zip |
Fix all warnings in source3 with gcc4.3.
Jeremy.
Diffstat (limited to 'source3/lib')
-rw-r--r-- | source3/lib/fault.c | 34 |
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 |