]> git.proxmox.com Git - mirror_frr.git/commitdiff
ospf6d: set cmsg size correctly
authorChristian Franke <chris@opensourcerouting.org>
Fri, 8 Mar 2013 01:35:38 +0000 (02:35 +0100)
committerDavid Lamparter <equinox@opensourcerouting.org>
Wed, 20 Nov 2013 09:35:59 +0000 (10:35 +0100)
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>
ospf6d/ospf6_network.c

index eed7f9d66e2f111beda23b19072b82118d1bdea1..74cfbec7c7f8efed2335ec61406ceb8d26de145a 100644 (file)
@@ -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))