ARP packet lengths are 28 bytes. This condition required the packet to be 29 or more bytes.

This commit is contained in:
Grant Limberg 2015-11-21 19:14:06 -08:00
parent ce5b7f0305
commit ac09c3569a

View File

@ -65,7 +65,7 @@ uint32_t Arp::processIncomingArp(const void *arp,unsigned int len,void *response
responseLen = 0;
responseDest.zero();
if (len > 28) {
if (len >= 28) {
if (!memcmp(arp,ARP_REQUEST_HEADER,8)) {
// Respond to ARP requests for locally-known IPs
_ArpEntry *targetEntry = _cache.get(reinterpret_cast<const uint32_t *>(arp)[6]);