X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/07ac438e08e5ffed3539e10d78f1cfc7d221d591..32d1d15c5412b3a708ae2b45ed2016bdab9bb58b:/print-vrrp.c diff --git a/print-vrrp.c b/print-vrrp.c index 79e0a586..b7e309d0 100644 --- a/print-vrrp.c +++ b/print-vrrp.c @@ -104,15 +104,15 @@ static const struct tok auth2str[] = { void vrrp_print(netdissect_options *ndo, - register const u_char *bp, register u_int len, - register const u_char *bp2, int ttl) + const u_char *bp, u_int len, + const u_char *bp2, int ttl) { int version, type, auth_type = VRRP_AUTH_NONE; /* keep compiler happy */ const char *type_s; ND_TCHECK_1(bp); - version = (bp[0] & 0xf0) >> 4; - type = bp[0] & 0x0f; + version = (EXTRACT_U_1(bp) & 0xf0) >> 4; + type = EXTRACT_U_1(bp) & 0x0f; type_s = tok2str(type2str, "unknown type (%u)", type); ND_PRINT((ndo, "VRRPv%u, %s", version, type_s)); if (ttl != 255) @@ -128,7 +128,7 @@ vrrp_print(netdissect_options *ndo, ND_PRINT((ndo, ", authtype %s", tok2str(auth2str, NULL, auth_type))); ND_PRINT((ndo, ", intvl %us, length %u", EXTRACT_U_1(bp + 5), len)); } else { /* version == 3 */ - uint16_t intvl = (bp[4] & 0x0f) << 8 | bp[5]; + uint16_t intvl = (EXTRACT_U_1(bp + 4) & 0x0f) << 8 | EXTRACT_U_1(bp + 5); ND_PRINT((ndo, ", intvl %ucs, length %u", intvl, len)); } @@ -137,7 +137,7 @@ vrrp_print(netdissect_options *ndo, int i; char c; - if (version == 2 && ND_TTEST2(bp[0], len)) { + if (version == 2 && ND_TTEST_LEN(bp, len)) { struct cksum_vec vec[1]; vec[0].ptr = bp; @@ -147,7 +147,7 @@ vrrp_print(netdissect_options *ndo, EXTRACT_BE_U_2(bp + 6))); } - if (version == 3 && ND_TTEST2(bp[0], len)) { + if (version == 3 && ND_TTEST_LEN(bp, len)) { uint16_t cksum = nextproto4_cksum(ndo, (const struct ip *)bp2, bp, len, len, IPPROTO_VRRP); if (cksum)