mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-05-11 01:38:25 +02:00
27 lines
1004 B
Diff
27 lines
1004 B
Diff
borrowed from fedora
|
|
fix for CAN-2005-1278
|
|
|
|
--- tcpdump-3.8.2/print-isoclns.c.old 2005-04-28 12:58:28.000000000 +0200
|
|
+++ tcpdump-3.8.2/print-isoclns.c 2005-04-28 13:07:17.000000000 +0200
|
|
@@ -1748,12 +1748,14 @@
|
|
lan_alen = *tptr++; /* LAN adress length */
|
|
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;
|
|
|