This change add back 4 ND_TCHECK_n() because their removal may be unsafe.
(via Denis comment)
}
return plen + 2;
}
+ ND_TCHECK_1(pptr);
if (buflen != 0) {
stringlen=snprintf(buf,buflen, "%02x",
GET_U_1(pptr));
#endif
#ifdef DLT_JUNIPER_ATM2
case DLT_JUNIPER_ATM2:
+ ND_TCHECK_4(p);
/* ATM cell relay control word present ? */
if (l2info->cookie[7] & ATM2_PKT_TYPE_MASK) {
control_word = GET_BE_U_4(p);
ND_PRINT("%smatch nw_dst %s/%u", pfx, GET_IPADDR_STRING(cp), 32 - nw_bits);
cp += 4;
/* tp_src */
+ ND_TCHECK_2(cp);
if (! (wildcards & OFPFW_TP_SRC)) {
field_name = ! (wildcards & OFPFW_DL_TYPE) && dl_type == ETHERTYPE_IP
&& ! (wildcards & OFPFW_NW_PROTO) && nw_proto == IPPROTO_ICMP
}
cp += 2;
/* tp_dst */
+ ND_TCHECK_2(cp);
if (! (wildcards & OFPFW_TP_DST)) {
field_name = ! (wildcards & OFPFW_DL_TYPE) && dl_type == ETHERTYPE_IP
&& ! (wildcards & OFPFW_NW_PROTO) && nw_proto == IPPROTO_ICMP