Index: /trunk/src/VBox/Devices/Network/slirp/ip_icmp.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/ip_icmp.c	(revision 35924)
+++ /trunk/src/VBox/Devices/Network/slirp/ip_icmp.c	(revision 35925)
@@ -635,5 +635,4 @@
 
     memcpy(&icp->icmp_ip, msrc->m_data, s_ip_len);   /* report the ip packet */
-    m_freem(pData, msrc);
 
     HTONS(icp->icmp_ip.ip_len);
@@ -673,4 +672,6 @@
     icmpstat.icps_reflect++;
 
+    /* clear source datagramm in positive branch */
+    m_freem(pData, msrc);
     return;
 
@@ -679,4 +680,11 @@
 
 end_error:
+
+    /*
+     * clear source datagramm in case if some of requirement haven't been met.
+     */
+    if (!msrc)
+        m_freem(pData, msrc);
+
     {
         static bool fIcmpErrorReported;
