#include "netdissect-stdinc.h"
+#define ND_LONGJMP_FROM_TCHECK
#include "netdissect.h"
#include "extract.h"
/* buf and size don't include the header */
if (size < 4)
goto invalid;
- ND_TCHECK_LEN(buf, size);
ND_PRINT("0x%08x", GET_BE_U_4(buf));
break;
/* ... */
default:
ND_PRINT("(length %u)", size + (u_int)sizeof(struct m3ua_param_header));
- ND_TCHECK_LEN(buf, size);
}
+ ND_TCHECK_LEN(buf, size);
return;
invalid:
nd_print_invalid(ndo);
ND_TCHECK_LEN(buf, size);
- return;
-trunc:
- nd_print_trunc(ndo);
}
/*
while (p < buf + size) {
if (p + sizeof(struct m3ua_param_header) > buf + size)
goto invalid;
- ND_TCHECK_LEN(p, sizeof(struct m3ua_param_header));
/* Parameter Tag */
hdr_tag = GET_BE_U_2(p);
ND_PRINT("\n\t\t\t%s: ", tok2str(ParamName, "Unknown Parameter (0x%04x)", hdr_tag));
invalid:
nd_print_invalid(ndo);
ND_TCHECK_LEN(buf, size);
- return;
-trunc:
- nd_print_trunc(ndo);
}
/*
invalid:
nd_print_invalid(ndo);
ND_TCHECK_LEN(buf, size);
- return;
-trunc:
- nd_print_trunc(ndo);
}