snprintf(pos, sizeof(addr), "%s", GET_IPADDR_STRING(pptr));
break;
case (sizeof(nd_ipv6) << 3): /* 128 */
- ND_TCHECK_LEN(pptr, sizeof(nd_ipv6));
snprintf(pos, sizeof(addr), "%s", GET_IP6ADDR_STRING(pptr));
break;
default:
tlen -= tnhlen;
tnhlen = 0;
} else {
- ND_TCHECK_LEN(tptr, sizeof(nd_ipv6));
ND_PRINT("%s", GET_IP6ADDR_STRING(tptr));
tptr += sizeof(nd_ipv6);
tlen -= sizeof(nd_ipv6);
ND_PRINT(" [invalid number of groups]");
return;
}
- ND_TCHECK_LEN(bp + 4 + group, sizeof(nd_ipv6));
ND_PRINT(" [gaddr %s", GET_IP6ADDR_STRING(bp + group + 4));
ND_PRINT(" %s", tok2str(mldv2report2str, " [v2-report-#%u]",
GET_U_1(bp + group)));
/* Print the sources */
ND_PRINT(" {");
for (j = 0; j < nsrcs; j++) {
- ND_TCHECK_LEN(bp + group + 20 + (j * sizeof(nd_ipv6)),
- sizeof(nd_ipv6));
ND_PRINT(" %s", GET_IP6ADDR_STRING(bp + group + 20 + (j * sizeof(nd_ipv6))));
}
ND_PRINT(" }");
ND_PRINT("]");
}
}
- return;
-trunc:
- nd_print_trunc(ndo);
- return;
}
static void
if (ndo->ndo_vflag) {
ND_PRINT(" [max resp delay=%u]", mrt);
}
- ND_TCHECK_LEN(bp + 8, sizeof(nd_ipv6));
ND_PRINT(" [gaddr %s", GET_IP6ADDR_STRING(bp + 8));
if (ndo->ndo_vflag) {
else if (ndo->ndo_vflag > 1) {
ND_PRINT(" {");
for (i = 0; i < nsrcs; i++) {
- ND_TCHECK_LEN(bp + 28 + (i * sizeof(nd_ipv6)),
- sizeof(nd_ipv6));
ND_PRINT(" %s", GET_IP6ADDR_STRING(bp + 28 + (i * sizeof(nd_ipv6))));
}
ND_PRINT(" }");
while (tlen != 0) {
if (tlen < sizeof(nd_ipv6))
goto tlv_trunc;
- ND_TCHECK_LEN(tptr, sizeof(nd_ipv6));
-
ND_PRINT("\n\t IPv6 interface address: %s",
GET_IP6ADDR_STRING(tptr));
break;
case AFNUM_INET6:
while(tlv_tlen >= sizeof(nd_ipv6)) {
- ND_TCHECK_LEN(tptr, sizeof(nd_ipv6));
ND_PRINT(" %s", GET_IP6ADDR_STRING(tptr));
tlv_tlen-=sizeof(nd_ipv6);
tptr+=sizeof(nd_ipv6);