Index: /trunk/src/VBox/Devices/Network/slirp/socket.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/socket.c	(revision 27440)
+++ /trunk/src/VBox/Devices/Network/slirp/socket.c	(revision 27441)
@@ -1057,4 +1057,9 @@
     ip = (struct ip *)buff;
     hlen = (ip->ip_hl << 2);
+    if (RT_N2H_U16(ip->ip_len) < hlen + ICMP_MINLEN)
+    {
+        Log(("send_icmp_to_guest: ICMP header is too small to understand which type/subtype of the datagram\n"));
+       return; 
+    }
     icp = (struct icmp *)((char *)ip + hlen);
 
