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;

Reply via email to