summaryrefslogtreecommitdiff
path: root/crypto/openssh/ssh-keysign.c
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2006-03-22 19:46:12 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2006-03-22 19:46:12 +0000
commit021d409f5beb1827f72d24f171e3c3ed233ed62a (patch)
tree42b3633dec62ddc0b702c6e83df5d64683b1c6c3 /crypto/openssh/ssh-keysign.c
parent043840df5be0cf8490b48a08fe6d9c316f473f58 (diff)
Notes
Diffstat (limited to 'crypto/openssh/ssh-keysign.c')
-rw-r--r--crypto/openssh/ssh-keysign.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/crypto/openssh/ssh-keysign.c b/crypto/openssh/ssh-keysign.c
index 04597a91d4d4..dae3a2e8c91b 100644
--- a/crypto/openssh/ssh-keysign.c
+++ b/crypto/openssh/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);