summaryrefslogtreecommitdiff
path: root/print-lwres.c
diff options
context:
space:
mode:
authorFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2021-09-27 15:43:32 +0200
committerFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2021-09-27 16:10:31 +0200
commitfd409921d94a0aff7804df31515fa42b675118b5 (patch)
tree9b7d9fd56d89017b94e934f62ded9f64584c4a9b /print-lwres.c
parent7c6a734dff3d95d0ed761be5634e65d25bd9b317 (diff)
downloadtcpdump-fd409921d94a0aff7804df31515fa42b675118b5.tar.gz
lwres: Fix a length check
This fix some inconsistent outputs clang versus gcc in 32 bits mode. Add a test file.
Diffstat (limited to 'print-lwres.c')
-rw-r--r--print-lwres.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/print-lwres.c b/print-lwres.c
index 9a2adf97..f28eab97 100644
--- a/print-lwres.c
+++ b/print-lwres.c
@@ -546,7 +546,7 @@ lwres_print(netdissect_options *ndo,
ND_PRINT(" [len: %u != %u]", GET_BE_U_4(np->length),
length);
}
- if (!unsupported && s < bp + GET_BE_U_4(np->length))
+ if (!unsupported && ND_BYTES_BETWEEN(s, bp) < GET_BE_U_4(np->length))
ND_PRINT("[extra]");
return;