summaryrefslogtreecommitdiff
path: root/print-ip.c
diff options
context:
space:
mode:
Diffstat (limited to 'print-ip.c')
-rw-r--r--print-ip.c5
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);