Index: /trunk/src/VBox/Devices/Network/slirp/socket.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/socket.c	(revision 27442)
+++ /trunk/src/VBox/Devices/Network/slirp/socket.c	(revision 27443)
@@ -1059,5 +1059,5 @@
     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"));
+       Log(("send_icmp_to_guest: ICMP header is too small to understand which type/subtype of the datagram\n"));
        return; 
     }
@@ -1137,5 +1137,11 @@
     else 
     {
+        int size = m->m_size;
         m_inc(m, len); /*increase the room of the mbuf up to len*/
+        if (size == m->m_size)
+        {
+            Log(("send_icmp_to_guest: extending buffer was failed (packet is dropped)\n"));
+            return;
+        }
         memcpy(m->m_data + original_hlen, buff + hlen, len - hlen);
     }
