diff options
Diffstat (limited to 'freebsd/contrib/tcpdump/print-domain.c')
-rw-r--r-- | freebsd/contrib/tcpdump/print-domain.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/freebsd/contrib/tcpdump/print-domain.c b/freebsd/contrib/tcpdump/print-domain.c index 52348a17..68e494ce 100644 --- a/freebsd/contrib/tcpdump/print-domain.c +++ b/freebsd/contrib/tcpdump/print-domain.c @@ -588,6 +588,13 @@ ns_print(netdissect_options *ndo, register const u_char *cp; uint16_t b2; + if(length < sizeof(*np)) { + ND_PRINT((ndo, "domain")); + ND_PRINT((ndo, " [length %u < %zu]", length, sizeof(*np))); + ND_PRINT((ndo, " (invalid)")); + return; + } + np = (const HEADER *)bp; ND_TCHECK(*np); /* get the byte-order right */ |