From: djm Date: Fri, 7 Mar 2008 07:33:12 +0000 (+0000) Subject: - djm@cvs.openbsd.org 2008/02/22 05:58:56 X-Git-Tag: V_4_9_P1~43 X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/commitdiff_plain/1d395ba0c36154bc50299182a87e76877c5b5b62 - djm@cvs.openbsd.org 2008/02/22 05:58:56 [session.c] closefrom() call was too early, delay it until just before we execute the user's rc files (if any). --- diff --git a/ChangeLog b/ChangeLog index 63f17a91..5a7b63b4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17,6 +17,10 @@ - markus@cvs.openbsd.org 2008/02/20 15:25:26 [session.c] correct boolean encoding for coredump; der Mouse via dugsong + - djm@cvs.openbsd.org 2008/02/22 05:58:56 + [session.c] + closefrom() call was too early, delay it until just before we execute + the user's rc files (if any). 20080302 - (dtucker) [configure.ac] FreeBSD's glob() doesn't behave the way we expect diff --git a/session.c b/session.c index 7a97ae8d..3eba513d 100644 --- a/session.c +++ b/session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: session.c,v 1.229 2008/02/20 15:25:26 markus Exp $ */ +/* $OpenBSD: session.c,v 1.230 2008/02/22 05:58:56 djm Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -488,8 +488,6 @@ do_exec_no_pty(Session *s, const char *command) cray_init_job(s->pw); /* set up cray jid and tmpdir */ #endif - closefrom(STDERR_FILENO + 1); - /* Do processing for the child (exec command etc). */ do_child(s, command); /* NOTREACHED */ @@ -610,8 +608,6 @@ do_exec_pty(Session *s, const char *command) # endif #endif - closefrom(STDERR_FILENO + 1); - /* Do common processing for the child, such as execing the command. */ do_child(s, command); /* NOTREACHED */ @@ -1345,6 +1341,8 @@ safely_chroot(const char *path, uid_t uid) } + closefrom(STDERR_FILENO + 1); + if (chdir(path) == -1) fatal("Unable to chdir to chroot path \"%s\": " "%s", path, strerror(errno));