summaryrefslogtreecommitdiff
path: root/print-gre.c
diff options
context:
space:
mode:
authorFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2021-12-29 14:38:08 +0100
committerFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2021-12-29 15:11:32 +0100
commitef5323efe6c03aaa50eac0949bf95999b91fe05b (patch)
treeda57e896fb5cdafd8bff2defafc304ee73cef643 /print-gre.c
parent72a3d5e76fff0c9ed7992076d93990bd925cc995 (diff)
downloadtcpdump-ef5323efe6c03aaa50eac0949bf95999b91fe05b.tar.gz
Update the ND_LCHECK*() macros to ND_ICHECK*() macros
ICHECK like Invalid-Check. Reminder: If the checked expression is true an error message is printed and a 'goto invalid' is executed. This change adds the parameter 'operator'. Before this change, '<' comparison was hard coded. We can do now: ND_ICHECK_U(length, <, HEADER_LEN); ND_ICHECK_U(length, ==, 24); ND_ICHECK_U(length, !=, 8); ND_ICHECK_ZU(length, <, sizeof(struct my_struct)); ND_ICHECKMSG_U("message length", msg_tlen, <, 4); ... (Any comparison operator) Remark: The change of names from ND_LCHECK*() to ND_ICHECK*() is because something else than a length(L) can be checked. Moreover: Place the 'message' parameter at the beginning of ND_ICHECKMSG_U() and ND_ICHECKMSG_ZU() paramaters lists.
Diffstat (limited to 'print-gre.c')
-rw-r--r--print-gre.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/print-gre.c b/print-gre.c
index a28edf5c..136fb69d 100644
--- a/print-gre.c
+++ b/print-gre.c
@@ -83,7 +83,7 @@ gre_print(netdissect_options *ndo, const u_char *bp, u_int length)
ndo->ndo_protocol = "gre";
nd_print_protocol_caps(ndo);
- ND_LCHECK_U(length, 2);
+ ND_ICHECK_U(length, <, 2);
vers = GET_BE_U_2(bp) & GRE_VERS_MASK;
ND_PRINT("v%u",vers);
@@ -110,7 +110,7 @@ gre_print_0(netdissect_options *ndo, const u_char *bp, u_int length)
u_int len = length;
uint16_t flags, prot;
- ND_LCHECK_U(len, 2);
+ ND_ICHECK_U(len, <, 2);
flags = GET_BE_U_2(bp);
if (ndo->ndo_vflag)
ND_PRINT(", Flags [%s]",
@@ -119,7 +119,7 @@ gre_print_0(netdissect_options *ndo, const u_char *bp, u_int length)
len -= 2;
bp += 2;
- ND_LCHECK_U(len, 2);
+ ND_ICHECK_U(len, <, 2);
prot = GET_BE_U_2(bp);
len -= 2;
bp += 2;
@@ -127,28 +127,28 @@ gre_print_0(netdissect_options *ndo, const u_char *bp, u_int length)
if ((flags & GRE_CP) | (flags & GRE_RP)) {
uint16_t sum;
- ND_LCHECK_U(len, 2);
+ ND_ICHECK_U(len, <, 2);
sum = GET_BE_U_2(bp);
if (ndo->ndo_vflag)
ND_PRINT(", sum 0x%x", sum);
bp += 2;
len -= 2;
- ND_LCHECK_U(len, 2);
+ ND_ICHECK_U(len, <, 2);
ND_PRINT(", off 0x%x", GET_BE_U_2(bp));
bp += 2;
len -= 2;
}
if (flags & GRE_KP) {
- ND_LCHECK_U(len, 4);
+ ND_ICHECK_U(len, <, 4);
ND_PRINT(", key=0x%x", GET_BE_U_4(bp));
bp += 4;
len -= 4;
}
if (flags & GRE_SP) {
- ND_LCHECK_U(len, 4);
+ ND_ICHECK_U(len, <, 4);
ND_PRINT(", seq %u", GET_BE_U_4(bp));
bp += 4;
len -= 4;
@@ -160,7 +160,7 @@ gre_print_0(netdissect_options *ndo, const u_char *bp, u_int length)
uint8_t sreoff;
uint8_t srelen;
- ND_LCHECK_U(len, 4);
+ ND_ICHECK_U(len, <, 4);
af = GET_BE_U_2(bp);
sreoff = GET_U_1(bp + 2);
srelen = GET_U_1(bp + 3);
@@ -173,7 +173,7 @@ gre_print_0(netdissect_options *ndo, const u_char *bp, u_int length)
if (!gre_sre_print(ndo, af, sreoff, srelen, bp, len))
goto invalid;
- ND_LCHECK_U(len, srelen);
+ ND_ICHECK_U(len, <, srelen);
bp += srelen;
len -= srelen;
}
@@ -227,7 +227,7 @@ gre_print_1(netdissect_options *ndo, const u_char *bp, u_int length)
u_int len = length;
uint16_t flags, prot;
- ND_LCHECK_U(len, 2);
+ ND_ICHECK_U(len, <, 2);
flags = GET_BE_U_2(bp);
len -= 2;
bp += 2;
@@ -236,7 +236,7 @@ gre_print_1(netdissect_options *ndo, const u_char *bp, u_int length)
ND_PRINT(", Flags [%s]",
bittok2str(gre_flag_values,"none",flags));
- ND_LCHECK_U(len, 2);
+ ND_ICHECK_U(len, <, 2);
prot = GET_BE_U_2(bp);
len -= 2;
bp += 2;
@@ -245,7 +245,7 @@ gre_print_1(netdissect_options *ndo, const u_char *bp, u_int length)
if (flags & GRE_KP) {
uint32_t k;
- ND_LCHECK_U(len, 4);
+ ND_ICHECK_U(len, <, 4);
k = GET_BE_U_4(bp);
ND_PRINT(", call %u", k & 0xffff);
len -= 4;
@@ -253,14 +253,14 @@ gre_print_1(netdissect_options *ndo, const u_char *bp, u_int length)
}
if (flags & GRE_SP) {
- ND_LCHECK_U(len, 4);
+ ND_ICHECK_U(len, <, 4);
ND_PRINT(", seq %u", GET_BE_U_4(bp));
bp += 4;
len -= 4;
}
if (flags & GRE_AP) {
- ND_LCHECK_U(len, 4);
+ ND_ICHECK_U(len, <, 4);
ND_PRINT(", ack %u", GET_BE_U_4(bp));
bp += 4;
len -= 4;
@@ -342,7 +342,7 @@ gre_sre_ip_print(netdissect_options *ndo, uint8_t sreoff, uint8_t srelen,
}
while (srelen != 0) {
- ND_LCHECK_U(len, 4);
+ ND_ICHECK_U(len, <, 4);
ND_TCHECK_LEN(bp, sizeof(nd_ipv4));
addrtostr(bp, buf, sizeof(buf));
@@ -379,7 +379,7 @@ gre_sre_asn_print(netdissect_options *ndo, uint8_t sreoff, uint8_t srelen,
}
while (srelen != 0) {
- ND_LCHECK_U(len, 2);
+ ND_ICHECK_U(len, <, 2);
ND_PRINT(" %s%x",
((bp - up) == sreoff) ? "*" : "", GET_BE_U_2(bp));