The bug is in isc-dhcp, file common/discover.c, function next_iface4():
char buf[256];
This buffer is exceeded when the function performs an fgets() from /proc/net/dev and an interface has a very high (PB or greater) number of bytes, collisions, etc. as per this ifconfig output:
The bug is in isc-dhcp, file common/discover.c, function next_iface4():
char buf[256];
This buffer is exceeded when the function performs an fgets() from /proc/net/dev and an interface has a very high (PB or greater) number of bytes, collisions, etc. as per this ifconfig output:
eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX 100669308930775 5 errors: 604016712578112 0 dropped: 201339476855010 0 overruns: 100669738427505 0 frame:503347833 1440660 100669738427505 0 errors: 402678953710020 0 dropped:0 overruns: 100669738427505 0 carrier: 201339476855010 0
collisions: 503348692137525 0 txqueuelen:1000 9307755 (1.0 PB) TX bytes:100669738 4275050 (1.0 PB)
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:
TX packets:
RX bytes:100669308
I have raised this with ISC and hopefully they will fix it. If you want to patch it anyway, simply double the buffer size.