]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Merge PR #234 - Ensure proper alignment of cmsg buffers by Jérémie
authorRalph Dolmans <ralph@nlnetlabs.nl>
Fri, 17 Jul 2020 11:07:03 +0000 (13:07 +0200)
committerRalph Dolmans <ralph@nlnetlabs.nl>
Fri, 17 Jul 2020 11:07:03 +0000 (13:07 +0200)
  Courrèges-Anglas.
- Fix PR #234 log_assert sizeof to use union buffer.

doc/Changelog
util/netevent.c

index f3450e0750a326935d50b15c41aafbabd47cf213..2ea7e753f062ef1cbefbb67f6f1048d986c050fb 100644 (file)
@@ -1,3 +1,8 @@
+17 July 2020: Ralph
+       - Merge PR #234 - Ensure proper alignment of cmsg buffers by Jérémie
+         Courrèges-Anglas.
+       - Fix PR #234 log_assert sizeof to use union buffer.
+
 16 July 2020: Wouter
        - Fix check conf test for referencing installation paths.
        - Fix unused variable warning for clang analyzer.
index 159d344d6896fbf6b05fe35658b1d98d8c7a760b..3e7a433e50214eea5d47d2be2838de3b4ba93135 100644 (file)
@@ -480,7 +480,7 @@ comm_point_send_udp_msg_if(struct comm_point *c, sldns_buffer* packet,
 #ifdef IP_PKTINFO
                void* cmsg_data;
                msg.msg_controllen = CMSG_SPACE(sizeof(struct in_pktinfo));
-               log_assert(msg.msg_controllen <= sizeof(control));
+               log_assert(msg.msg_controllen <= sizeof(control.buf));
                cmsg->cmsg_level = IPPROTO_IP;
                cmsg->cmsg_type = IP_PKTINFO;
                memmove(CMSG_DATA(cmsg), &r->pktinfo.v4info,
@@ -491,7 +491,7 @@ comm_point_send_udp_msg_if(struct comm_point *c, sldns_buffer* packet,
                cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_pktinfo));
 #elif defined(IP_SENDSRCADDR)
                msg.msg_controllen = CMSG_SPACE(sizeof(struct in_addr));
-               log_assert(msg.msg_controllen <= sizeof(control));
+               log_assert(msg.msg_controllen <= sizeof(control.buf));
                cmsg->cmsg_level = IPPROTO_IP;
                cmsg->cmsg_type = IP_SENDSRCADDR;
                memmove(CMSG_DATA(cmsg), &r->pktinfo.v4addr,
@@ -504,7 +504,7 @@ comm_point_send_udp_msg_if(struct comm_point *c, sldns_buffer* packet,
        } else if(r->srctype == 6) {
                void* cmsg_data;
                msg.msg_controllen = CMSG_SPACE(sizeof(struct in6_pktinfo));
-               log_assert(msg.msg_controllen <= sizeof(control));
+               log_assert(msg.msg_controllen <= sizeof(control.buf));
                cmsg->cmsg_level = IPPROTO_IPV6;
                cmsg->cmsg_type = IPV6_PKTINFO;
                memmove(CMSG_DATA(cmsg), &r->pktinfo.v6info,
@@ -516,7 +516,7 @@ comm_point_send_udp_msg_if(struct comm_point *c, sldns_buffer* packet,
        } else {
                /* try to pass all 0 to use default route */
                msg.msg_controllen = CMSG_SPACE(sizeof(struct in6_pktinfo));
-               log_assert(msg.msg_controllen <= sizeof(control));
+               log_assert(msg.msg_controllen <= sizeof(control.buf));
                cmsg->cmsg_level = IPPROTO_IPV6;
                cmsg->cmsg_type = IPV6_PKTINFO;
                memset(CMSG_DATA(cmsg), 0, sizeof(struct in6_pktinfo));