Index: /trunk/src/VBox/Devices/Network/slirp/socket.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/socket.c	(revision 43751)
+++ /trunk/src/VBox/Devices/Network/slirp/socket.c	(revision 43752)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2012 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -1138,7 +1138,8 @@
         int tmperrno = errno; /* Don't clobber the real reason we failed */
         close(s);
-        QSOCKET_LOCK(tcb);
-        sofree(pData, so);
-        QSOCKET_UNLOCK(tcb);
+        if (sototcpcb(so))
+            tcp_close(pData, sototcpcb(so));
+        else
+            sofree(pData, so);
         /* Restore the real errno */
         errno = tmperrno;
