tptr = pptr;
- ND_TCHECK2(*tptr, DTP_HEADER_LEN);
+ ND_TCHECK_LEN(tptr, DTP_HEADER_LEN);
ND_PRINT((ndo, "DTPv%u, length %u",
- (*tptr),
+ EXTRACT_U_1(tptr),
length));
/*
while (tptr < (pptr+length)) {
- ND_TCHECK2(*tptr, 4);
- type = EXTRACT_BE_16BITS(tptr);
- len = EXTRACT_BE_16BITS(tptr + 2);
+ ND_TCHECK_4(tptr);
+ type = EXTRACT_BE_U_2(tptr);
+ len = EXTRACT_BE_U_2(tptr + 2);
/* XXX: should not be but sometimes it is, see the test captures */
if (type == 0)
return;
/* infinite loop check */
if (len < 4)
goto invalid;
- ND_TCHECK2(*tptr, len);
+ ND_TCHECK_LEN(tptr, len);
switch (type) {
case DTP_DOMAIN_TLV:
case DTP_DTP_TYPE_TLV:
if (len < 5)
goto invalid;
- ND_PRINT((ndo, ", 0x%x", *(tptr+4)));
+ ND_PRINT((ndo, ", 0x%x", EXTRACT_U_1(tptr + 4)));
break;
case DTP_NEIGHBOR_TLV: