/* \summary: Ethernet printer */
-#ifdef HAVE_CONFIG_H
#include <config.h>
-#endif
#include "netdissect-stdinc.h"
*/
length_type = GET_BE_U_2(p);
- ND_LCHECK_U(caplen, 2);
+ ND_ICHECK_U(caplen, <, 2);
length -= 2;
caplen -= 2;
p += 2;
* Cut off the snapshot length to the end of the
* payload.
*/
- nd_push_snaplen(ndo, p, length);
+ if (!nd_push_snaplen(ndo, p, length)) {
+ (*ndo->ndo_error)(ndo, S_ERR_ND_MEM_ALLOC,
+ "%s: can't push snaplen on buffer stack", __func__);
+ }
if (ndo->ndo_eflag) {
ND_PRINT("802.3");
}
/*
- * Print an Ethernet frame while specyfing a non-standard Ethernet header
+ * Print an Ethernet frame while specifying a non-standard Ethernet header
* length.
* This might be encapsulated within another frame; we might be passed
* a pointer to a function that can print header information for that