]> Zhao Yanbai Git Server - minix.git/commitdiff
LIBLWIP - ARP fix
authorTomas Hruby <tom@minix3.org>
Sat, 13 Oct 2012 21:05:25 +0000 (21:05 +0000)
committerLionel Sambuc <lionel@minix3.org>
Mon, 25 Mar 2013 15:51:25 +0000 (16:51 +0100)
- does not crash KVM anymore

lib/liblwip/netif/etharp.c

index 1b7eb9883940517d8fd90bf37b3553140fa89562..86060a19ce0c686b81011413e3d098ca43d0d450 100644 (file)
@@ -1189,6 +1189,11 @@ etharp_raw(struct netif *netif, const struct eth_addr *ethsrc_addr,
 
   LWIP_ASSERT("netif != NULL", netif != NULL);
 
+  /* Do not send ARP if the source IP is not set. This may cause various
+   * problems, for instance, triggers an assert in qemu-kvm */
+  if (ipsrc_addr->addr == 0)
+         return ERR_OK;
+
   /* allocate a pbuf for the outgoing ARP request packet */
   p = pbuf_alloc(PBUF_RAW, SIZEOF_ETHARP_PACKET, PBUF_RAM);
   /* could allocate a pbuf for an ARP request? */