]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-tcp.c
refine the previous change
[tcpdump] / print-tcp.c
index bb76ac7c506177b57a8ea59a30c60d9f2b3d3000..e5acfa4c0694c977df85c84308a0a72ab98a4b3a 100644 (file)
@@ -142,8 +142,8 @@ static int tcp_cksum(register const struct ip *ip,
                     register const struct tcphdr *tp,
                     register u_int len)
 {
-       return (nextproto4_cksum(ip, (const u_int8_t *)tp, len,
-           IPPROTO_TCP));
+       return nextproto4_cksum(ip, (const u_int8_t *)tp, len, len,
+                               IPPROTO_TCP);
 }
 
 void
@@ -386,7 +386,8 @@ tcp_print(register const u_char *bp, register u_int length,
 #ifdef INET6
                 else if (IP_V(ip) == 6 && ip6->ip6_plen) {
                         if (TTEST2(tp->th_sport, length)) {
-                                sum = nextproto6_cksum(ip6, (const u_int8_t *)tp, length, IPPROTO_TCP);
+                                sum = nextproto6_cksum(ip6, (const u_int8_t *)tp,
+                                                       length, length, IPPROTO_TCP);
                                 tcp_sum = EXTRACT_16BITS(&tp->th_sum);
 
                                 (void)printf(", cksum 0x%04x", tcp_sum);