#include "netdissect-stdinc.h"
+#define ND_LONGJMP_FROM_TCHECK
#include "netdissect.h"
#include "addrtoname.h"
#include "ethertype.h"
u_int hdrlen;
ndo->ndo_protocol = "sll";
- if (caplen < SLL_HDR_LEN) {
- /*
- * XXX - this "can't happen" because "pcap-linux.c" always
- * adds this many bytes of header to every packet in a
- * cooked socket capture.
- */
- nd_print_trunc(ndo);
- ndo->ndo_ll_hdr_len += caplen;
- return;
- }
+ ND_TCHECK_LEN(p, SLL_HDR_LEN);
sllp = (const struct sll_header *)p;
#endif
ndo->ndo_protocol = "sll2";
- if (caplen < SLL2_HDR_LEN) {
- /*
- * XXX - this "can't happen" because "pcap-linux.c" always
- * adds this many bytes of header to every packet in a
- * cooked socket capture.
- */
- nd_print_trunc(ndo);
- ndo->ndo_ll_hdr_len += caplen;
- return;
- }
+ ND_TCHECK_LEN(p, SLL2_HDR_LEN);
sllp = (const struct sll2_header *)p;
#ifdef HAVE_NET_IF_H