#ifndef lint
static const char rcsid[] _U_ =
- "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.106.2.6 2004-09-09 07:17:42 hannes Exp $ (LBL)";
+ "@(#) $Header: /tcpdump/master/tcpdump/print-isoclns.c,v 1.106.2.7 2005-04-25 09:16:35 hannes Exp $ (LBL)";
#endif
#ifdef HAVE_CONFIG_H
tlv_type,
tlv_len);
+ if (tlv_len == 0) /* something is malformed */
+ break;
+
/* now check if we have a decoder otherwise do a hexdump at the end*/
switch (tlv_type) {
case TLV_AREA_ADDR:
break;
case TLV_ISNEIGH_VARLEN:
- if (!TTEST2(*tptr, 1))
+ if (!TTEST2(*tptr, 1) && tmp > 1)
goto trunctlv;
lan_alen = *tptr++; /* LAN adress length */
tmp --;