Index: /trunk/src/VBox/Devices/Network/slirp/socket.c
===================================================================
--- /trunk/src/VBox/Devices/Network/slirp/socket.c	(revision 35825)
+++ /trunk/src/VBox/Devices/Network/slirp/socket.c	(revision 35826)
@@ -870,5 +870,5 @@
     struct sockaddr_in host_addr;
 #endif
-    caddr_t buf;
+    caddr_t buf = 0;
     int mlen;
 
@@ -921,14 +921,22 @@
 
     /* Don't care what port we get */
+    /*
+     * > nmap -sV -T4 -O -A -v -PU3483 255.255.255.255 
+     * generates bodyless messages, annoying memmory management system.
+     */
     mlen = m_length(m, NULL);
-    buf = RTMemAlloc(mlen);
-    if (buf == NULL)
-    {
-        return -1;
-    }
-    m_copydata(m, 0, mlen, buf);
+    if (mlen > 0)
+    {
+        buf = RTMemAlloc(mlen);
+        if (buf == NULL)
+        {
+            return -1;
+        }
+        m_copydata(m, 0, mlen, buf);
+    }
     ret = sendto(so->s, buf, mlen, 0,
                  (struct sockaddr *)&addr, sizeof (struct sockaddr));
-    RTMemFree(buf);
+    if (buf)
+        RTMemFree(buf);
     if (ret < 0)
     {
