X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/da20bc56d6100b5275d6f85c4a25bac1dab4e57e..1a04b92e365f5ed01ca38619b41bcc4fc9cbd63c:/print-ahcp.c diff --git a/print-ahcp.c b/print-ahcp.c index 5fb049e5..8d784c14 100644 --- a/print-ahcp.c +++ b/print-ahcp.c @@ -106,7 +106,7 @@ ahcp_time_print(netdissect_options *ndo, const u_char *cp, const u_char *ep) if (cp + 4 != ep) goto invalid; - ND_TCHECK2(*cp, 4); + ND_TCHECK_4(cp); t = EXTRACT_BE_U_4(cp); if (NULL == (tm = gmtime(&t))) ND_PRINT((ndo, ": gmtime() error")); @@ -118,7 +118,7 @@ ahcp_time_print(netdissect_options *ndo, const u_char *cp, const u_char *ep) invalid: ND_PRINT((ndo, "%s", istr)); - ND_TCHECK2(*cp, ep - cp); + ND_TCHECK_LEN(cp, ep - cp); return 0; trunc: ND_PRINT((ndo, "%s", tstr)); @@ -130,13 +130,13 @@ ahcp_seconds_print(netdissect_options *ndo, const u_char *cp, const u_char *ep) { if (cp + 4 != ep) goto invalid; - ND_TCHECK2(*cp, 4); + ND_TCHECK_4(cp); ND_PRINT((ndo, ": %us", EXTRACT_BE_U_4(cp))); return 0; invalid: ND_PRINT((ndo, "%s", istr)); - ND_TCHECK2(*cp, ep - cp); + ND_TCHECK_LEN(cp, ep - cp); return 0; trunc: ND_PRINT((ndo, "%s", tstr)); @@ -151,7 +151,7 @@ ahcp_ipv6_addresses_print(netdissect_options *ndo, const u_char *cp, const u_cha while (cp < ep) { if (cp + 16 > ep) goto invalid; - ND_TCHECK2(*cp, 16); + ND_TCHECK_16(cp); ND_PRINT((ndo, "%s%s", sep, ip6addr_string(ndo, cp))); cp += 16; sep = ", "; @@ -160,7 +160,7 @@ ahcp_ipv6_addresses_print(netdissect_options *ndo, const u_char *cp, const u_cha invalid: ND_PRINT((ndo, "%s", istr)); - ND_TCHECK2(*cp, ep - cp); + ND_TCHECK_LEN(cp, ep - cp); return 0; trunc: ND_PRINT((ndo, "%s", tstr)); @@ -175,7 +175,7 @@ ahcp_ipv4_addresses_print(netdissect_options *ndo, const u_char *cp, const u_cha while (cp < ep) { if (cp + 4 > ep) goto invalid; - ND_TCHECK2(*cp, 4); + ND_TCHECK_4(cp); ND_PRINT((ndo, "%s%s", sep, ipaddr_string(ndo, cp))); cp += 4; sep = ", "; @@ -184,7 +184,7 @@ ahcp_ipv4_addresses_print(netdissect_options *ndo, const u_char *cp, const u_cha invalid: ND_PRINT((ndo, "%s", istr)); - ND_TCHECK2(*cp, ep - cp); + ND_TCHECK_LEN(cp, ep - cp); return 0; trunc: ND_PRINT((ndo, "%s", tstr)); @@ -199,8 +199,8 @@ ahcp_ipv6_prefixes_print(netdissect_options *ndo, const u_char *cp, const u_char while (cp < ep) { if (cp + 17 > ep) goto invalid; - ND_TCHECK2(*cp, 17); - ND_PRINT((ndo, "%s%s/%u", sep, ip6addr_string(ndo, cp), *(cp + 16))); + ND_TCHECK_LEN(cp, 17); + ND_PRINT((ndo, "%s%s/%u", sep, ip6addr_string(ndo, cp), EXTRACT_U_1(cp + 16))); cp += 17; sep = ", "; } @@ -208,7 +208,7 @@ ahcp_ipv6_prefixes_print(netdissect_options *ndo, const u_char *cp, const u_char invalid: ND_PRINT((ndo, "%s", istr)); - ND_TCHECK2(*cp, ep - cp); + ND_TCHECK_LEN(cp, ep - cp); return 0; trunc: ND_PRINT((ndo, "%s", tstr)); @@ -223,8 +223,8 @@ ahcp_ipv4_prefixes_print(netdissect_options *ndo, const u_char *cp, const u_char while (cp < ep) { if (cp + 5 > ep) goto invalid; - ND_TCHECK2(*cp, 5); - ND_PRINT((ndo, "%s%s/%u", sep, ipaddr_string(ndo, cp), *(cp + 4))); + ND_TCHECK_5(cp); + ND_PRINT((ndo, "%s%s/%u", sep, ipaddr_string(ndo, cp), EXTRACT_U_1(cp + 4))); cp += 5; sep = ", "; } @@ -232,7 +232,7 @@ ahcp_ipv4_prefixes_print(netdissect_options *ndo, const u_char *cp, const u_char invalid: ND_PRINT((ndo, "%s", istr)); - ND_TCHECK2(*cp, ep - cp); + ND_TCHECK_LEN(cp, ep - cp); return 0; trunc: ND_PRINT((ndo, "%s", tstr)); @@ -265,8 +265,8 @@ ahcp1_options_print(netdissect_options *ndo, const u_char *cp, const u_char *ep) while (cp < ep) { /* Option no */ - ND_TCHECK2(*cp, 1); - option_no = *cp; + ND_TCHECK_1(cp); + option_no = EXTRACT_U_1(cp); cp += 1; ND_PRINT((ndo, "\n\t %s", tok2str(ahcp1_opt_str, "Unknown-%u", option_no))); if (option_no == AHCP1_OPT_PAD || option_no == AHCP1_OPT_MANDATORY) @@ -274,8 +274,8 @@ ahcp1_options_print(netdissect_options *ndo, const u_char *cp, const u_char *ep) /* Length */ if (cp + 1 > ep) goto invalid; - ND_TCHECK2(*cp, 1); - option_len = *cp; + ND_TCHECK_1(cp); + option_len = EXTRACT_U_1(cp); cp += 1; if (cp + option_len > ep) goto invalid; @@ -285,7 +285,7 @@ ahcp1_options_print(netdissect_options *ndo, const u_char *cp, const u_char *ep) break; /* truncated and already marked up */ } else { ND_PRINT((ndo, " (Length %u)", option_len)); - ND_TCHECK2(*cp, option_len); + ND_TCHECK_LEN(cp, option_len); } cp += option_len; } @@ -293,7 +293,7 @@ ahcp1_options_print(netdissect_options *ndo, const u_char *cp, const u_char *ep) invalid: ND_PRINT((ndo, "%s", istr)); - ND_TCHECK2(*cp, ep - cp); + ND_TCHECK_LEN(cp, ep - cp); return; trunc: ND_PRINT((ndo, "%s", tstr)); @@ -308,15 +308,15 @@ ahcp1_body_print(netdissect_options *ndo, const u_char *cp, const u_char *ep) if (cp + AHCP1_BODY_MIN_LEN > ep) goto invalid; /* Type */ - ND_TCHECK2(*cp, 1); - type = *cp; + ND_TCHECK_1(cp); + type = EXTRACT_U_1(cp); cp += 1; /* MBZ */ - ND_TCHECK2(*cp, 1); - mbz = *cp; + ND_TCHECK_1(cp); + mbz = EXTRACT_U_1(cp); cp += 1; /* Length */ - ND_TCHECK2(*cp, 2); + ND_TCHECK_2(cp); body_len = EXTRACT_BE_U_2(cp); cp += 2; @@ -333,12 +333,12 @@ ahcp1_body_print(netdissect_options *ndo, const u_char *cp, const u_char *ep) if (ndo->ndo_vflag >= 2) ahcp1_options_print(ndo, cp, cp + body_len); /* not ep (ignore extra data) */ else - ND_TCHECK2(*cp, body_len); + ND_TCHECK_LEN(cp, body_len); return; invalid: ND_PRINT((ndo, "%s", istr)); - ND_TCHECK2(*cp, ep - cp); + ND_TCHECK_LEN(cp, ep - cp); return; trunc: ND_PRINT((ndo, "%s", tstr)); @@ -354,13 +354,13 @@ ahcp_print(netdissect_options *ndo, const u_char *cp, const u_int len) if (len < 2) goto invalid; /* Magic */ - ND_TCHECK2(*cp, 1); - if (*cp != AHCP_MAGIC_NUMBER) + ND_TCHECK_1(cp); + if (EXTRACT_U_1(cp) != AHCP_MAGIC_NUMBER) goto invalid; cp += 1; /* Version */ - ND_TCHECK2(*cp, 1); - version = *cp; + ND_TCHECK_1(cp); + version = EXTRACT_U_1(cp); cp += 1; switch (version) { case AHCP_VERSION_1: { @@ -368,27 +368,27 @@ ahcp_print(netdissect_options *ndo, const u_char *cp, const u_int len) if (len < AHCP1_HEADER_FIX_LEN) goto invalid; if (!ndo->ndo_vflag) { - ND_TCHECK2(*cp, AHCP1_HEADER_FIX_LEN - 2); + ND_TCHECK_LEN(cp, AHCP1_HEADER_FIX_LEN - 2); cp += AHCP1_HEADER_FIX_LEN - 2; } else { /* Hopcount */ - ND_TCHECK2(*cp, 1); - ND_PRINT((ndo, "\n\tHopcount %u", *cp)); + ND_TCHECK_1(cp); + ND_PRINT((ndo, "\n\tHopcount %u", EXTRACT_U_1(cp))); cp += 1; /* Original Hopcount */ - ND_TCHECK2(*cp, 1); - ND_PRINT((ndo, ", Original Hopcount %u", *cp)); + ND_TCHECK_1(cp); + ND_PRINT((ndo, ", Original Hopcount %u", EXTRACT_U_1(cp))); cp += 1; /* Nonce */ - ND_TCHECK2(*cp, 4); + ND_TCHECK_4(cp); ND_PRINT((ndo, ", Nonce 0x%08x", EXTRACT_BE_U_4(cp))); cp += 4; /* Source Id */ - ND_TCHECK2(*cp, 8); + ND_TCHECK_8(cp); ND_PRINT((ndo, ", Source Id %s", linkaddr_string(ndo, cp, 0, 8))); cp += 8; /* Destination Id */ - ND_TCHECK2(*cp, 8); + ND_TCHECK_8(cp); ND_PRINT((ndo, ", Destination Id %s", linkaddr_string(ndo, cp, 0, 8))); cp += 8; } @@ -404,7 +404,7 @@ ahcp_print(netdissect_options *ndo, const u_char *cp, const u_int len) invalid: ND_PRINT((ndo, "%s", istr)); - ND_TCHECK2(*cp, ep - cp); + ND_TCHECK_LEN(cp, ep - cp); return; trunc: ND_PRINT((ndo, "%s", tstr));