summaryrefslogtreecommitdiff
path: root/ssh.c
diff options
context:
space:
mode:
Diffstat (limited to 'ssh.c')
-rw-r--r--ssh.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/ssh.c b/ssh.c
index 7859b0f78..c231c5fae 100644
--- a/ssh.c
+++ b/ssh.c
@@ -40,7 +40,7 @@
40 */ 40 */
41 41
42#include "includes.h" 42#include "includes.h"
43RCSID("$OpenBSD: ssh.c,v 1.227 2004/09/15 00:46:01 deraadt Exp $"); 43RCSID("$OpenBSD: ssh.c,v 1.228 2004/09/23 13:00:04 djm Exp $");
44 44
45#include <openssl/evp.h> 45#include <openssl/evp.h>
46#include <openssl/err.h> 46#include <openssl/err.h>
@@ -1249,11 +1249,20 @@ static void
1249control_client(const char *path) 1249control_client(const char *path)
1250{ 1250{
1251 struct sockaddr_un addr; 1251 struct sockaddr_un addr;
1252 int i, r, sock, exitval, num_env, addr_len; 1252 int i, r, fd, sock, exitval, num_env, addr_len;
1253 Buffer m; 1253 Buffer m;
1254 char *cp; 1254 char *cp;
1255 extern char **environ; 1255 extern char **environ;
1256 1256
1257 if (stdin_null_flag) {
1258 if ((fd = open(_PATH_DEVNULL, O_RDONLY)) == -1)
1259 fatal("open(/dev/null): %s", strerror(errno));
1260 if (dup2(fd, STDIN_FILENO) == -1)
1261 fatal("dup2: %s", strerror(errno));
1262 if (fd > STDERR_FILENO)
1263 close(fd);
1264 }
1265
1257 memset(&addr, '\0', sizeof(addr)); 1266 memset(&addr, '\0', sizeof(addr));
1258 addr.sun_family = AF_UNIX; 1267 addr.sun_family = AF_UNIX;
1259 addr_len = offsetof(struct sockaddr_un, sun_path) + 1268 addr_len = offsetof(struct sockaddr_un, sun_path) +