Hi all, It seems that there is a typo, 2nd argument - length is missing from the function call icmp_print in print-skip.c
File: usr.sbin/tcpdump/print-skip.c 577 void skip_print_next(u_char nxt, const u_char *p, int len, const u_char *bp2) 578 { 579 switch(nxt) { 580 case IPPROTO_IP: ip_print(p,len); break; 581 case IPPROTO_ICMP: icmp_print(p,bp2); break; File: usr.sbin/tcpdump/print-icmp.c 165 void 166 icmp_print(const u_char *bp, u_int length, const u_char *bp2) 167 { 168 const struct icmp *dp; 169 const struct ip *ip; This patch fixes the same. Regards, Neeraj Pal Index: usr.sbin/tcpdump/print-skip.c =================================================================== RCS file: /cvs/src/usr.sbin/tcpdump/print-skip.c,v retrieving revision 1.6 diff -u -p -u -p -r1.6 print-skip.c --- usr.sbin/tcpdump/print-skip.c 16 Nov 2015 00:16:39 -0000 1.6 +++ usr.sbin/tcpdump/print-skip.c 3 Nov 2020 10:25:32 -0000 @@ -578,7 +578,7 @@ void skip_print_next(u_char nxt, const u { switch(nxt) { case IPPROTO_IP: ip_print(p,len); break; - case IPPROTO_ICMP: icmp_print(p,bp2); break; + case IPPROTO_ICMP: icmp_print(p,len,bp2); break; case IPPROTO_TCP: tcp_print(p,len,bp2); break; case IPPROTO_UDP: udp_print(p,len,bp2); break; case IPPROTO_ESP: esp_print(p,len,bp2); break;