diff options
author | Christian Franke <chris@opensourcerouting.org> | 2013-03-08 02:35:38 +0100 |
---|---|---|
committer | David Lamparter <equinox@opensourcerouting.org> | 2013-11-20 10:35:59 +0100 |
commit | 1579a67f130ca34df9acefac14ebcdfdd8f6600a (patch) | |
tree | 8c12770a8628fc786e08c08a125114f7d56b66d4 | |
parent | 7d4aa1d57d54a57aae78e6b12cf4524e2c43a514 (diff) | |
download | quagga-1579a67f130ca34df9acefac14ebcdfdd8f6600a.tar.bz2 quagga-1579a67f130ca34df9acefac14ebcdfdd8f6600a.tar.xz |
ospf6d: set cmsg size correctly
On both Linux and FreeBSD, msg_controllen should be set to
CMSG_LEN, not CMSG_SPACE. This avoids sending 4 bytes of
trailing garbage to the kernel.
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
-rw-r--r-- | ospf6d/ospf6_network.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ospf6d/ospf6_network.c b/ospf6d/ospf6_network.c index eed7f9d6..74cfbec7 100644 --- a/ospf6d/ospf6_network.c +++ b/ospf6d/ospf6_network.c @@ -206,7 +206,7 @@ ospf6_sendmsg (struct in6_addr *src, struct in6_addr *dst, smsghdr.msg_name = (caddr_t) &dst_sin6; smsghdr.msg_namelen = sizeof (struct sockaddr_in6); smsghdr.msg_control = (caddr_t) cmsgbuf; - smsghdr.msg_controllen = sizeof (cmsgbuf); + smsghdr.msg_controllen = scmsgp->cmsg_len; retval = sendmsg (ospf6_sock, &smsghdr, 0); if (retval != iov_totallen (message)) |