X-Git-Url: https://unix4lyfe.org/gitweb/darkstat-debian/blobdiff_plain/a1e8056c92203d02860d719abb1d562453896da8..HEAD:/pidfile.c diff --git a/pidfile.c b/pidfile.c index 044c574..92403cd 100644 --- a/pidfile.c +++ b/pidfile.c @@ -1,5 +1,5 @@ /* darkstat 3 - * copyright (c) 2007-2011 Emil Mikulic. + * copyright (c) 2007-2014 Emil Mikulic. * * pidfile.h: pidfile manglement * @@ -29,10 +29,9 @@ static int pidfd = -1; static const char *pidname = NULL; -void -pidfile_create(const char *chroot_dir, const char *filename, - const char *privdrop_user) -{ +void pidfile_create(const char *chroot_dir, + const char *filename, + const char *privdrop_user) { struct passwd *pw; if (pidfd != -1) @@ -48,8 +47,11 @@ pidfile_create(const char *chroot_dir, const char *filename, err(1, "getpwnam(\"%s\") failed", privdrop_user); } - if (chdir(chroot_dir) == -1) - err(1, "chdir(\"%s\") failed", chroot_dir); + if (chroot_dir != NULL) { + if (chdir(chroot_dir) == -1) { + err(1, "chdir(\"%s\") failed", chroot_dir); + } + } pidname = filename; pidfd = open(filename, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0600); if (pidfd == -1)