void addCMsgSrcAddr(struct msghdr* msgh, void* cmsgbuf, ComboAddress* source)
{
- struct cmsghdr *cmsg;
+ struct cmsghdr *cmsg = NULL;
if(source->sin4.sin_family == AF_INET6) {
struct in6_pktinfo *pkt;
pkt = (struct in_pktinfo *) CMSG_DATA(cmsg);
memset(pkt, 0, sizeof(*pkt));
pkt->ipi_spec_dst = source->sin4.sin_addr;
+ msgh->msg_controllen = cmsg->cmsg_len;
#endif
#ifdef IP_SENDSRCADDR
struct in_addr *in;
in = (struct in_addr *) CMSG_DATA(cmsg);
*in = source->sin4.sin_addr;
-#endif
msgh->msg_controllen = cmsg->cmsg_len;
+#endif
}
}