Fixes a heap overflow found with American Fuzzy Lop by Hanno Böck.
return (1);
case ETHERTYPE_ISO:
- isoclns_print(ndo, p + 1, length - 1, length - 1);
+ if (length == 0 || caplen == 0) {
+ ND_PRINT((ndo, " [|osi]"));
+ return (1);
+ }
+ isoclns_print(ndo, p + 1, length - 1, caplen - 1);
return(1);
case ETHERTYPE_PPPOED:
calm-fast-mac-lookup-heapoverflow calm-fast-mac-lookup-heapoverflow.pcap calm-fast-mac-lookup-heapoverflow.out -t -v -n
geonet-mac-lookup-heapoverflow geonet-mac-lookup-heapoverflow.pcap geonet-mac-lookup-heapoverflow.out -t -v -n
radiotap-heapoverflow radiotap-heapoverflow.pcap radiotap-heapoverflow.out -t -v -n
+isoclns-heapoverflow isoclns-heapoverflow.pcap isoclns-heapoverflow.out -t -v -n