]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-pim.c
fix version for next iteration
[tcpdump] / print-pim.c
index 18c6da4df5307cc00573843d3afccaff72bfef1c..0fe257d2300df22784d6f9394465006e5021380d 100644 (file)
@@ -21,7 +21,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-pim.c,v 1.45 2005-04-06 21:32:42 mcr Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-pim.c,v 1.45.2.3 2005-07-11 20:24:34 hannes Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -140,7 +140,7 @@ pimv1_join_prune_print(register const u_char *bp, register u_int len)
                return;
        }
 
-       TCHECK2(bp[0], 4);
+       TCHECK2(bp[0], sizeof(struct in_addr));
        if (vflag > 1)
                (void)printf("\n");
        (void)printf(" Upstream Nbr: %s", ipaddr_string(bp));
@@ -161,9 +161,13 @@ pimv1_join_prune_print(register const u_char *bp, register u_int len)
        bp += 4;
        len -= 4;
        while (ngroups--) {
-               TCHECK2(bp[0], 4);
+               /*
+                * XXX - does the address have length "addrlen" and the
+                * mask length "maddrlen"?
+                */
+               TCHECK2(bp[0], sizeof(struct in_addr));
                (void)printf("\n\tGroup: %s", ipaddr_string(bp));
-               TCHECK2(bp[4], 4);
+               TCHECK2(bp[4], sizeof(struct in_addr));
                if (EXTRACT_32BITS(&bp[4]) != 0xffffffff)
                        (void)printf("/%s", ipaddr_string(&bp[4]));
                TCHECK2(bp[8], 4);
@@ -243,7 +247,7 @@ pimv1_print(register const u_char *bp, register u_int len)
                break;
        case 2:
                (void)printf(" Register-Stop");
-               TCHECK2(bp[12], 4);
+               TCHECK2(bp[12], sizeof(struct in_addr));
                (void)printf(" for %s > %s", ipaddr_string(&bp[8]),
                    ipaddr_string(&bp[12]));
                break;
@@ -266,7 +270,7 @@ pimv1_print(register const u_char *bp, register u_int len)
                break;
        case 5:
                (void)printf(" Assert");
-               TCHECK2(bp[16], 4);
+               TCHECK2(bp[16], sizeof(struct in_addr));
                (void)printf(" for %s > %s", ipaddr_string(&bp[16]),
                    ipaddr_string(&bp[8]));
                if (EXTRACT_32BITS(&bp[12]) != 0xffffffff)
@@ -507,7 +511,6 @@ static int
 pimv2_addr_print(const u_char *bp, enum pimv2_addrtype at, int silent)
 {
        int af;
-       const char *afstr;
        int len, hdrlen;
 
        TCHECK(bp[0]);
@@ -517,14 +520,12 @@ pimv2_addr_print(const u_char *bp, enum pimv2_addrtype at, int silent)
                switch (bp[0]) {
                case 1:
                        af = AF_INET;
-                       afstr = "IPv4";
-                       len = 4;
+                       len = sizeof(struct in_addr);
                        break;
 #ifdef INET6
                case 2:
                        af = AF_INET6;
-                       afstr = "IPv6";
-                       len = 16;
+                       len = sizeof(struct in6_addr);
                        break;
 #endif
                default:
@@ -535,14 +536,12 @@ pimv2_addr_print(const u_char *bp, enum pimv2_addrtype at, int silent)
                hdrlen = 2;
        } else {
                switch (pimv2_addr_len) {
-               case 4:
+               case sizeof(struct in_addr):
                        af = AF_INET;
-                       afstr = "IPv4";
                        break;
 #ifdef INET6
-               case 16:
+               case sizeof(struct in6_addr):
                        af = AF_INET6;
-                       afstr = "IPv6";
                        break;
 #endif
                default: