diff options
author | Darren Tucker <dtucker@zip.com.au> | 2005-10-03 18:11:24 +1000 |
---|---|---|
committer | Darren Tucker <dtucker@zip.com.au> | 2005-10-03 18:11:24 +1000 |
commit | ce321d8a30a81222d11a4c27fd353804a9afecd3 (patch) | |
tree | 9b43bd892b03286fbbda2f032fe16a0f6cf9bb74 /ssh-keysign.c | |
parent | d89dbf29ff288ac8ba1755d15f63d2bd58dcb71b (diff) |
- djm@cvs.openbsd.org 2005/09/13 23:40:07
[sshd.c ssh.c misc.h sftp.c ssh-keygen.c ssh-keysign.c sftp-server.c
scp.c misc.c ssh-keyscan.c ssh-add.c ssh-agent.c]
ensure that stdio fds are attached; ok deraadt@
Diffstat (limited to 'ssh-keysign.c')
-rw-r--r-- | ssh-keysign.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ssh-keysign.c b/ssh-keysign.c index 04597a91..dae3a2e8 100644 --- a/ssh-keysign.c +++ b/ssh-keysign.c @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "includes.h" -RCSID("$OpenBSD: ssh-keysign.c,v 1.18 2004/08/23 14:29:23 dtucker Exp $"); +RCSID("$OpenBSD: ssh-keysign.c,v 1.19 2005/09/13 23:40:07 djm Exp $"); #include <openssl/evp.h> #include <openssl/rand.h> @@ -148,6 +148,13 @@ main(int argc, char **argv) u_int slen, dlen; u_int32_t rnd[256]; + /* Ensure that stdin and stdout are connected */ + if ((fd = open(_PATH_DEVNULL, O_RDWR)) < 2) + exit(1); + /* Leave /dev/null fd iff it is attached to stderr */ + if (fd > 2) + close(fd); + key_fd[0] = open(_PATH_HOST_RSA_KEY_FILE, O_RDONLY); key_fd[1] = open(_PATH_HOST_DSA_KEY_FILE, O_RDONLY); |