From 99800e54b7d876eeba98a1a7e70cac35848bd97c Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Mon, 13 Dec 2010 11:18:45 +0100 Subject: [PATCH] daemon: Change CWD to / before daemonizing We were doing so for child processes but not for libvirtd itself. --- daemon/libvirtd.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c index 14777dd94a..2df9337279 100644 --- a/daemon/libvirtd.c +++ b/daemon/libvirtd.c @@ -3175,6 +3175,13 @@ int main(int argc, char **argv) { if (godaemon) { char ebuf[1024]; + + if (chdir("/") < 0) { + VIR_ERROR(_("cannot change to root directory: %s"), + virStrerror(errno, ebuf, sizeof(ebuf))); + goto error; + } + if ((statuswrite = daemonForkIntoBackground()) < 0) { VIR_ERROR(_("Failed to fork as daemon: %s"), virStrerror(errno, ebuf, sizeof ebuf));