From 07e0094365e8dc360a83eec2e7cf9b1d5d8d6d00 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 31 Dec 2008 18:06:57 -0800 Subject: Fix all warnings in source3 with gcc4.3. Jeremy. --- source3/lib/fault.c | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) (limited to 'source3/lib') 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 -- cgit