Index: /trunk/src/VBox/Devices/Network/slirp/misc.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/misc.c	(revision 43232)
+++ /trunk/src/VBox/Devices/Network/slirp/misc.c	(revision 43233)
@@ -538,6 +538,5 @@
     LogFlowFunc(("ENTER: zone:%R[mzone]\n", zone));
     LogRel(("NAT: zone(nm:%s, used:%d)\n", zone->name, zone->cur_items));
-    if (zone->master_zone)
-        RTMemFree(zone->area);
+    RTMemFree(zone->area);
     RTCritSectLeave(&zone->csZone);
     RTCritSectDelete(&zone->csZone);
@@ -556,4 +555,5 @@
     ZONE_DESTROY(pData->zone_jumbo9);
     ZONE_DESTROY(pData->zone_jumbo16);
+    ZONE_DESTROY(pData->zone_ext_refcnt);
 # undef ZONE_DESTROY
     /** @todo do finalize here.*/
Index: /trunk/src/VBox/Devices/Network/slirp/slirp.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/slirp.c	(revision 43232)
+++ /trunk/src/VBox/Devices/Network/slirp/slirp.c	(revision 43233)
@@ -525,4 +525,5 @@
         RTMemFree(ac);
     }
+    slirpTftpTerm(pData);
     bootp_dhcp_fini(pData);
     m_fini(pData);
Index: /trunk/src/VBox/Devices/Network/slirp/tftp.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/tftp.c	(revision 43232)
+++ /trunk/src/VBox/Devices/Network/slirp/tftp.c	(revision 43233)
@@ -762,5 +762,5 @@
 }
 
-DECLCALLBACK(int) slirpTftpInit(PNATState pData)
+int slirpTftpInit(PNATState pData)
 {
     AssertPtrReturn(pData, VERR_INVALID_PARAMETER);
@@ -770,5 +770,10 @@
 }
 
-DECLCALLBACK(int) slirpTftpInput(PNATState pData, struct mbuf *pMbuf)
+void slirpTftpTerm(PNATState pData)
+{
+    RTMemFree(pData->pvTftpSessions);
+}
+
+int slirpTftpInput(PNATState pData, struct mbuf *pMbuf)
 {
     PTFTPIPHDR pTftpIpHeader = NULL;
Index: /trunk/src/VBox/Devices/Network/slirp/tftp.h
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/tftp.h	(revision 43232)
+++ /trunk/src/VBox/Devices/Network/slirp/tftp.h	(revision 43233)
@@ -35,5 +35,6 @@
 
 
-int slirpTftpInput(PNATState pData, struct mbuf *m);
-int slirpTftpInit(PNATState);
+int  slirpTftpInput(PNATState pData, struct mbuf *m);
+int  slirpTftpInit(PNATState pData);
+void slirpTftpTerm(PNATState pData);
 #endif
