summaryrefslogtreecommitdiffstats
path: root/libexec/login_skey
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2008-03-15 16:19:00 +0000
committerderaadt <deraadt@openbsd.org>2008-03-15 16:19:00 +0000
commit6480e773b0847fd1dee674c74ce89af041f17f13 (patch)
tree7bc1f2aa4e8684fae95acdebf66103d8c0069907 /libexec/login_skey
parentFix several CMSG-related bugs. Chaining CMSG's is tricky since you need to (diff)
downloadwireguard-openbsd-6480e773b0847fd1dee674c74ce89af041f17f13.tar.xz
wireguard-openbsd-6480e773b0847fd1dee674c74ce89af041f17f13.zip
Repair the simple cases for msg_controllen where it should just be
CMSG_SIZE(sizeof(int)), not sizeof(buffer) which may be larger because of alignment; ok kettenis hshoexer
Diffstat (limited to 'libexec/login_skey')
-rw-r--r--libexec/login_skey/login_skey.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libexec/login_skey/login_skey.c b/libexec/login_skey/login_skey.c
index 9a036c72e88..a47c162b9b3 100644
--- a/libexec/login_skey/login_skey.c
+++ b/libexec/login_skey/login_skey.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: login_skey.c,v 1.20 2008/03/13 01:49:52 deraadt Exp $ */
+/* $OpenBSD: login_skey.c,v 1.21 2008/03/15 16:19:02 deraadt Exp $ */
/*
* Copyright (c) 2000, 2001, 2004 Todd C. Miller <Todd.Miller@courtesan.com>
@@ -270,7 +270,7 @@ send_fd(int sock)
memset(&msg, 0, sizeof(msg));
msg.msg_control = &cmsgbuf.buf;
- msg.msg_controllen = sizeof(cmsgbuf.buf);
+ msg.msg_controllen = CMSG_LEN(sizeof(int));
cmp = CMSG_FIRSTHDR(&msg);
cmp->cmsg_len = CMSG_LEN(sizeof(int));