summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorasmodai <asmodai@FreeBSD.org>2000-08-01 08:07:15 +0000
committerasmodai <asmodai@FreeBSD.org>2000-08-01 08:07:15 +0000
commit520995018787d2b65446de440635ac38ee4bac04 (patch)
tree562698b7c78142ca168d9abe035135b4993dc2fe /crypto
parentc0c236347275bc375496f4ea6a611f880e004760 (diff)
downloadFreeBSD-src-520995018787d2b65446de440635ac38ee4bac04.zip
FreeBSD-src-520995018787d2b65446de440635ac38ee4bac04.tar.gz
Chalk up another phkmalloc victim.
It seems as if uninitialised memory was the culprit. We may want to contribute this back to the OpenSSH project. Submitted by: Alexander Leidinger <Alexander@Leidinger.net> on -current.
Diffstat (limited to 'crypto')
-rw-r--r--crypto/openssh/authfd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/openssh/authfd.c b/crypto/openssh/authfd.c
index d770bfe..6b4952e 100644
--- a/crypto/openssh/authfd.c
+++ b/crypto/openssh/authfd.c
@@ -33,7 +33,7 @@ int
ssh_get_authentication_socket()
{
const char *authsocket;
- int sock;
+ int sock, len;
struct sockaddr_un sunaddr;
authsocket = getenv(SSH_AUTHSOCKET_ENV_NAME);
@@ -42,6 +42,7 @@ ssh_get_authentication_socket()
sunaddr.sun_family = AF_UNIX;
strlcpy(sunaddr.sun_path, authsocket, sizeof(sunaddr.sun_path));
+ sunaddr.sun_len = len = SUN_LEN(&sunaddr)+1;
sock = socket(AF_UNIX, SOCK_STREAM, 0);
if (sock < 0)
@@ -52,7 +53,7 @@ ssh_get_authentication_socket()
close(sock);
return -1;
}
- if (connect(sock, (struct sockaddr *) & sunaddr, sizeof(sunaddr)) < 0) {
+ if (connect(sock, (struct sockaddr *) & sunaddr, len) < 0) {
close(sock);
return -1;
}
OpenPOWER on IntegriCloud