if (length < 4) /* FIXME weak boundary checking */
goto trunc;
- ND_TCHECK2(*tptr, 2);
+ ND_TCHECK_2(tptr);
code = EXTRACT_U_1(tptr);
tptr++;
if (length < 2)
return 0;
- ND_TCHECK2(*p, 2);
+ ND_TCHECK_2(p);
opt = EXTRACT_U_1(p);
len = EXTRACT_U_1(p + 1);
if (length < len)
ND_PRINT((ndo, " (length bogus, should be = 7)"));
return 0;
}
- ND_TCHECK2(*(p + 3), 4);
+ ND_TCHECK_4(p + 3);
ND_PRINT((ndo, ": IPv4 %s", ipaddr_string(ndo, p + 3)));
break;
case MEDCLASS_MAC:
ND_PRINT((ndo, " (length bogus, should be = 9)"));
return 0;
}
- ND_TCHECK2(*(p + 3), 6);
+ ND_TCHECK_6(p + 3);
ND_PRINT((ndo, ": MAC %s", etheraddr_string(ndo, p + 3)));
break;
case MEDCLASS_MNB:
if (length < 2)
return 0;
- ND_TCHECK2(*p, 2);
+ ND_TCHECK_2(p);
opt = EXTRACT_U_1(p);
len = EXTRACT_U_1(p + 1);
if (length < len)
ND_PRINT((ndo, " (length bogus, should be = 10)"));
return len;
}
- ND_TCHECK2(*(p + 6), 4);
+ ND_TCHECK_4(p + 6);
ND_PRINT((ndo, ": src %s, dst %s",
ipaddr_string(ndo, p + 2),
ipaddr_string(ndo, p + 6)));
ND_PRINT((ndo, "\n\t Suboptions, length %u", ipcomp_subopttotallen));
while (ipcomp_subopttotallen >= 2) {
- ND_TCHECK2(*p, 2);
+ ND_TCHECK_2(p);
ipcomp_subopt = EXTRACT_U_1(p);
ipcomp_suboptlen = EXTRACT_U_1(p + 1);
ND_PRINT((ndo, " (length bogus, should be = 6)"));
return 0;
}
- ND_TCHECK2(*(p + 2), 4);
+ ND_TCHECK_4(p + 2);
ND_PRINT((ndo, ": %s", ipaddr_string(ndo, p + 2)));
break;
default:
if (length < 2)
return 0;
- ND_TCHECK2(*p, 2);
+ ND_TCHECK_2(p);
opt = EXTRACT_U_1(p);
len = EXTRACT_U_1(p + 1);
if (length < len)
ND_PRINT((ndo, " (length bogus, should be = 10)"));
return len;
}
- ND_TCHECK2(*(p + 2), 8);
+ ND_TCHECK_8(p + 2);
ND_PRINT((ndo, ": %04x:%04x:%04x:%04x",
EXTRACT_BE_U_2(p + 2),
EXTRACT_BE_U_2(p + 4),
if (length < 2)
return 0;
- ND_TCHECK2(*p, 2);
+ ND_TCHECK_2(p);
opt = EXTRACT_U_1(p);
len = EXTRACT_U_1(p + 1);
if (length < len)
if (length < 2)
return 0;
- ND_TCHECK2(*p, 2);
+ ND_TCHECK_2(p);
opt = EXTRACT_U_1(p);
len = EXTRACT_U_1(p + 1);
if (length < len)