diff options
Diffstat (limited to 'print-ip.c')
-rw-r--r-- | print-ip.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/print-ip.c b/print-ip.c index 8bdf5ebce3e2..acf3bd8be9fe 100644 --- a/print-ip.c +++ b/print-ip.c @@ -508,7 +508,8 @@ again: break; case IPPROTO_PIM: - pim_print(ipds->cp, ipds->len); + pim_print(ipds->cp, ipds->len, + in_cksum((const u_short*)ipds->cp, ipds->len, 0)); break; case IPPROTO_VRRP: @@ -657,7 +658,7 @@ ip_print(netdissect_options *ndo, printf(")"); } - if ((u_char *)ipds->ip + hlen <= snapend) { + if (!Kflag && (u_char *)ipds->ip + hlen <= snapend) { sum = in_cksum((const u_short *)ipds->ip, hlen, 0); if (sum != 0) { ip_sum = EXTRACT_16BITS(&ipds->ip->ip_sum); |