#include "netdissect-stdinc.h"
+#define ND_LONGJMP_FROM_TCHECK
#include "netdissect.h"
#include "extract.h"
#include "addrtoname.h"
if (tlen < sizeof(struct tlv_header_t))
goto tooshort;
/* did we capture enough for fully decoding the tlv header ? */
- ND_TCHECK_LEN(tptr, sizeof(struct tlv_header_t));
tlv_header = (const struct tlv_header_t *)tptr;
tlv_type = GET_U_1(tlv_header->type);
tlv_len = GET_U_1(tlv_header->length);
tooshort:
ND_PRINT("\n\t\t packet is too short");
- return;
-
-trunc:
- nd_print_trunc(ndo);
}
static void
ptr.slow_oam_tlv_header = (const struct slow_oam_tlv_header_t *)tptr;
if (tlen < sizeof(*ptr.slow_oam_tlv_header))
goto tooshort;
- ND_TCHECK_SIZE(ptr.slow_oam_tlv_header);
type = GET_U_1(ptr.slow_oam_tlv_header->type);
length = GET_U_1(ptr.slow_oam_tlv_header->length);
ND_PRINT("\n\t %s Link Event Type (%u), length %u",
tlv.slow_oam_loopbackctrl = (const struct slow_oam_loopbackctrl_t *)tptr;
if (tlen < sizeof(*tlv.slow_oam_loopbackctrl))
goto tooshort;
- ND_TCHECK_SIZE(tlv.slow_oam_loopbackctrl);
command = GET_U_1(tlv.slow_oam_loopbackctrl->command);
ND_PRINT("\n\t Command %s (%u)",
tok2str(slow_oam_loopbackctrl_cmd_values,
tooshort:
ND_PRINT("\n\t\t packet is too short");
- return;
-
-trunc:
- nd_print_trunc(ndo);
}