]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-igmp.c
Merge pull request #4 from infrastation/master
[tcpdump] / print-igmp.c
index a848562985d90f89c391fe700bc0a1b87789d92a..6522bc3044d04ae881d72020e6823f802190fa90 100644 (file)
@@ -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;