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>
diff --git a/ospf6d/ospf6_network.c b/ospf6d/ospf6_network.c
index eed7f9d..74cfbec 100644
--- a/ospf6d/ospf6_network.c
+++ b/ospf6d/ospf6_network.c
@@ -206,7 +206,7 @@
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))