From 023de5dcce7b7be68de9af7d4515ea3fb7e99dc3 Mon Sep 17 00:00:00 2001 From: Roger Leigh Date: Wed, 23 May 2012 23:37:31 +0100 Subject: sbuild::session: Handle case where we can't chdir to /. Should not fail, but handle anyway. --- sbuild/sbuild-session.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sbuild/sbuild-session.cc b/sbuild/sbuild-session.cc index 082d229e..58e040e2 100644 --- a/sbuild/sbuild-session.cc +++ b/sbuild/sbuild-session.cc @@ -1181,7 +1181,8 @@ session::setup_chroot (sbuild::chroot::ptr& session_chroot, // The setup scripts don't use our syslog fd. closelog(); - chdir("/"); + if (chdir("/")) + throw error("/", CHDIR, strerror(errno)); /* This is required to ensure the scripts run with uid=0 and gid=0, otherwise setuid programs such as mount(8) will fail. This should always succeed, because our euid=0 and egid=0.*/ -- cgit v1.2.3