]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r22318: If we're running as non root we might not be able to dump the core file
authorLars Müller <lmuelle@samba.org>
Tue, 17 Apr 2007 17:17:19 +0000 (17:17 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:19:26 +0000 (12:19 -0500)
to the corepath.

Even the chdir() will fail if the LOGFILEBASE path is set 0700.

If the currrent user doesn't have the permission to create the core file
we end with:
   unable to change to <LOGFILEBASE>
   refusing to dump core

The alternative would be to change the permissions of the directory.
But taht would not ensure core dumps are working out of the box.

source/lib/fault.c

index b214d9027ea5b1fb8b068e5231bcaf8382880c9a..26b48a80cd05401e8ecb080f2d2c3847309ab9bf 100644 (file)
@@ -161,6 +161,13 @@ void dump_core_setup(const char *progname)
        }
 
 #if DUMP_CORE
+       /* If we're running as non root we might not be able to dump the core
+        * file to the corepath.  There must not be an unbecome_root() before
+        * we call abort(). */
+       if (getuid() != 0) {
+               become_root();
+       }
+
        if (*corepath != '\0') {
                /* The chdir might fail if we dump core before we finish
                 * processing the config file.