*/
#ifndef lint
-static const char rcsid[] =
- "@(#) $Header: /tcpdump/master/tcpdump/print-ospf.c,v 1.45 2003-10-22 20:00:03 guy Exp $ (LBL)";
+static const char rcsid[] _U_ =
+ "@(#) $Header: /tcpdump/master/tcpdump/print-ospf.c,v 1.45.2.4 2004-03-24 02:44:30 guy Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
switch (*(&lsap->ls_hdr.un_lsa_id.opaque_field.opaque_type)) {
case LS_OPAQUE_TYPE_TE:
- if (!TTEST2(*tptr, 4))
- goto trunc;
-
tptr = (u_int8_t *)(&lsap->lsa_un.un_te_lsa_tlv.type);
while (ls_length != 0) {
+ TCHECK2(*tptr, 4);
if (ls_length < 4) {
printf("\n\t Remaining LS length %u < 4", ls_length);
return(ls_end);
tlv_length);
return(ls_end);
}
- if (!TTEST2(*tptr, 4))
- goto trunc;
+ TCHECK2(*tptr, 4);
subtlv_type = EXTRACT_16BITS(tptr);
subtlv_length = EXTRACT_16BITS(tptr+2);
tptr+=4;
subtlv_type,
subtlv_length);
- if (!TTEST2(*tptr, subtlv_length))
- goto trunc;
+ TCHECK2(*tptr, subtlv_length);
switch(subtlv_type) {
case LS_OPAQUE_TE_LINK_SUBTLV_ADMIN_GROUP:
printf(", 0x%08x", EXTRACT_32BITS(tptr));
break;
case LS_OPAQUE_TE_TLV_ROUTER:
+ if (tlv_length < 4) {
+ printf("\n\t TLV length %u < 4", tlv_length);
+ return(ls_end);
+ }
+ TCHECK2(*tptr, 4);
printf(", %s", ipaddr_string(tptr));
break;