]> The Tcpdump Group git mirrors - tcpdump/commitdiff
IPv6: Use GET_CPY_BYTES macro calls to add bounds checks
authorFrancois-Xavier Le Bail <[email protected]>
Mon, 9 Sep 2019 18:23:56 +0000 (20:23 +0200)
committerFrancois-Xavier Le Bail <[email protected]>
Thu, 12 Sep 2019 13:23:43 +0000 (15:23 +0200)
print-ip6.c

index a15206c264545d99b6a90080e152b06a5a161b42..a1802b1e1f15e8c04d71ea600b346a15d36f4e35 100644 (file)
@@ -165,7 +165,7 @@ ip6_finddst(netdissect_options *ndo, nd_ipv6 *dst,
 
 done:
 trunc:
-       UNALIGNED_MEMCPY(dst, dst_addr, sizeof(nd_ipv6));
+       GET_CPY_BYTES(dst, dst_addr, sizeof(nd_ipv6));
 }
 
 /*
@@ -188,7 +188,7 @@ nextproto6_cksum(netdissect_options *ndo,
 
         /* pseudo-header */
         memset(&ph, 0, sizeof(ph));
-        UNALIGNED_MEMCPY(&ph.ph_src, ip6->ip6_src, sizeof (nd_ipv6));
+        GET_CPY_BYTES(&ph.ph_src, ip6->ip6_src, sizeof(nd_ipv6));
         nh = GET_U_1(ip6->ip6_nxt);
         switch (nh) {
 
@@ -207,8 +207,7 @@ nextproto6_cksum(netdissect_options *ndo,
                 break;
 
         default:
-                UNALIGNED_MEMCPY(&ph.ph_dst, ip6->ip6_dst,
-                                 sizeof (nd_ipv6));
+                GET_CPY_BYTES(&ph.ph_dst, ip6->ip6_dst, sizeof(nd_ipv6));
                 break;
         }
         ph.ph_len = htonl(len);