diff options
author | Joseph Mingrone <jrm@FreeBSD.org> | 2024-09-06 02:11:27 +0000 |
---|---|---|
committer | Joseph Mingrone <jrm@FreeBSD.org> | 2024-09-06 02:36:15 +0000 |
commit | 75d9de99aec2d9f3bdc495c91bbd6d7a2392e2a3 (patch) | |
tree | 99d6c086833d530e5d1d33a8128961f8149843f0 /print-lwres.c | |
parent | 51a183021fce3928d24b11c319d2787f5a15ae87 (diff) |
Diffstat (limited to 'print-lwres.c')
-rw-r--r-- | print-lwres.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/print-lwres.c b/print-lwres.c index 97f176cb3005..4e4ae6d6becf 100644 --- a/print-lwres.c +++ b/print-lwres.c @@ -29,9 +29,7 @@ /* \summary: BIND9 Lightweight Resolver protocol printer */ -#ifdef HAVE_CONFIG_H #include <config.h> -#endif #include "netdissect-stdinc.h" @@ -267,7 +265,7 @@ lwres_printaddr(netdissect_options *ndo, } } - return ND_BYTES_BETWEEN(p, p0); + return ND_BYTES_BETWEEN(p0, p); } void @@ -291,7 +289,9 @@ lwres_print(netdissect_options *ndo, if (ndo->ndo_vflag || v != LWRES_LWPACKETVERSION_0) ND_PRINT(" v%u", v); if (v != LWRES_LWPACKETVERSION_0) { - s = bp + GET_BE_U_4(np->length); + uint32_t pkt_len = GET_BE_U_4(np->length); + ND_TCHECK_LEN(bp, pkt_len); + s = bp + pkt_len; goto tail; } @@ -546,7 +546,7 @@ lwres_print(netdissect_options *ndo, ND_PRINT(" [len: %u != %u]", GET_BE_U_4(np->length), length); } - if (!unsupported && ND_BYTES_BETWEEN(s, bp) < GET_BE_U_4(np->length)) + if (!unsupported && ND_BYTES_BETWEEN(bp, s) < GET_BE_U_4(np->length)) ND_PRINT("[extra]"); return; |