Index: /trunk/src/VBox/Devices/Network/slirp/ip_icmp.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/ip_icmp.c	(revision 30399)
+++ /trunk/src/VBox/Devices/Network/slirp/ip_icmp.c	(revision 30400)
@@ -401,7 +401,5 @@
                 ip->ip_src.s_addr = dst;
                 icmp_reflect(pData, m);
-                if (!fIcpOnMbuf)
-                    RTMemFree(icp);
-                return;
+                goto done;
             }
             else
@@ -445,5 +443,5 @@
                         m->m_so = &pData->icmp_socket;
                         /* don't let m_freem at the end free atached buffer */
-                        return;
+                        goto done;
                     }
                     
@@ -467,5 +465,5 @@
                     m->m_so = &pData->icmp_socket;
                     /* don't let m_freem at the end free atached buffer */
-                    return;
+                    goto done;
                 }
                 LogRel(("NAT: Error (%d) occurred while sending ICMP (", error));
@@ -511,4 +509,5 @@
 end_error:
     m_freem(pData, m);
+done:
     if (   !fIcpOnMbuf
         && !icp)
