26 lines
895 B
Diff
26 lines
895 B
Diff
|
--- tcpdump-3.9.1/print-isoclns.c.orig 2005-07-06 15:05:30.000000000 +0200
|
||
|
+++ tcpdump-3.9.1/print-isoclns.c 2005-07-06 15:05:34.000000000 +0200
|
||
|
@@ -2121,13 +2121,15 @@ static int isis_print (const u_int8_t *p
|
||
|
}
|
||
|
tmp --;
|
||
|
printf("\n\t LAN address length %u bytes ",lan_alen);
|
||
|
- while (tmp >= lan_alen) {
|
||
|
- if (!TTEST2(*tptr, lan_alen))
|
||
|
- goto trunctlv;
|
||
|
- printf("\n\t\tIS Neighbor: %s",isis_print_id(tptr,lan_alen));
|
||
|
- tmp -= lan_alen;
|
||
|
- tptr +=lan_alen;
|
||
|
- }
|
||
|
+ if(lan_alen >= SYSTEM_ID_LEN) {
|
||
|
+ while (tmp >= lan_alen) {
|
||
|
+ if (!TTEST2(*tptr, lan_alen))
|
||
|
+ goto trunctlv;
|
||
|
+ printf("\n\t\tIS Neighbor: %s",isis_print_id(tptr,lan_alen));
|
||
|
+ tmp -= lan_alen;
|
||
|
+ tptr +=lan_alen;
|
||
|
+ }
|
||
|
+ }
|
||
|
break;
|
||
|
|
||
|
case ISIS_TLV_PADDING:
|