]>
Commit | Line | Data |
---|---|---|
cd1a2927 MT |
1 | borrowed from fedora |
2 | fix for CAN-2005-1278 | |
3 | ||
4 | --- tcpdump-3.8.2/print-isoclns.c.old 2005-04-28 12:58:28.000000000 +0200 | |
5 | +++ tcpdump-3.8.2/print-isoclns.c 2005-04-28 13:07:17.000000000 +0200 | |
6 | @@ -1748,12 +1748,14 @@ | |
7 | lan_alen = *tptr++; /* LAN adress length */ | |
8 | tmp --; | |
9 | printf("\n\t LAN address length %u bytes ",lan_alen); | |
10 | - while (tmp >= lan_alen) { | |
11 | - if (!TTEST2(*tptr, lan_alen)) | |
12 | - goto trunctlv; | |
13 | - printf("\n\t\tIS Neighbor: %s",isis_print_id(tptr,lan_alen)); | |
14 | - tmp -= lan_alen; | |
15 | - tptr +=lan_alen; | |
16 | + if(lan_alen >= SYSTEM_ID_LEN) { | |
17 | + while (tmp >= lan_alen) { | |
18 | + if (!TTEST2(*tptr, lan_alen)) | |
19 | + goto trunctlv; | |
20 | + printf("\n\t\tIS Neighbor: %s",isis_print_id(tptr,lan_alen)); | |
21 | + tmp -= lan_alen; | |
22 | + tptr +=lan_alen; | |
23 | + } | |
24 | } | |
25 | break; | |
26 |