summaryrefslogtreecommitdiffstats
path: root/print-lwres.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--print-lwres.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/print-lwres.c b/print-lwres.c
index 97f176c..4e4ae6d 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;