From 116eb94d5dd5eb646275118e505c70bc2a468fc6 Mon Sep 17 00:00:00 2001 From: Love Hornquist Astrand Date: Tue, 27 Nov 2012 21:55:42 -0800 Subject: [PATCH] do chdir("/") after chroot() --- kdc/main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/kdc/main.c b/kdc/main.c index fc42e9dcd..a6829b9ef 100644 --- a/kdc/main.c +++ b/kdc/main.c @@ -68,8 +68,12 @@ switch_environment(void) if ((runas_string || chroot_string) && geteuid() != 0) errx(1, "no running as root, can't switch user/chroot"); - if (chroot_string && chroot(chroot_string) != 0) - errx(1, "chroot(%s)", "chroot_string failed"); + if (chroot_string) { + if (chroot(chroot_string)) + err(1, "chroot(%s) failed", chroot_string); + if (chdir("/")) + err(1, "chdir(/) after chroot failed"); + } if (runas_string) { struct passwd *pw; -- 2.11.4.GIT