summaryrefslogtreecommitdiff
path: root/print-igmp.c
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2012-05-14 08:01:48 +0000
committerXin LI <delphij@FreeBSD.org>2012-05-14 08:01:48 +0000
commit60894fde29002aac35c5aff244b0f45c4d590413 (patch)
tree2d0f73c65ae258539a2146cd435727a18ae62097 /print-igmp.c
parent6d59e2f382406def185ce5261b8723a174cd28a3 (diff)
Diffstat (limited to 'print-igmp.c')
-rw-r--r--print-igmp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/print-igmp.c b/print-igmp.c
index a848562985d9..6522bc3044d0 100644
--- a/print-igmp.c
+++ b/print-igmp.c
@@ -259,6 +259,8 @@ trunc:
void
igmp_print(register const u_char *bp, register u_int len)
{
+ struct cksum_vec vec[1];
+
if (qflag) {
(void)printf("igmp");
return;
@@ -327,7 +329,9 @@ igmp_print(register const u_char *bp, register u_int len)
if (vflag && TTEST2(bp[0], len)) {
/* Check the IGMP checksum */
- if (in_cksum((const u_short*)bp, len, 0))
+ vec[0].ptr = bp;
+ vec[0].len = len;
+ if (in_cksum(vec, 1))
printf(" bad igmp cksum %x!", EXTRACT_16BITS(&bp[2]));
}
return;