File openslp.emptyanswer.diff of Package openslp

--- slpd/slpd_incoming.c.orig	2006-11-16 12:19:04.000000000 +0100
+++ slpd/slpd_incoming.c	2006-11-16 12:22:00.000000000 +0100
@@ -251,10 +251,16 @@
                     sock->state = SOCKET_CLOSE;
                     break;                    
                 default:
+                    if (!sock->sendbuf || sock->sendbuf->end == sock->sendbuf->start) 
+                    {
+                        /* no answer available, just close socket */
+                        sock->state = SOCKET_CLOSE;
+                        break;                    
+                    }
 		    /* some clients cannot cope with the OVERFLOW
 		     * bit set on a TCP stream, so always clear it
 		     */
-		    if (sock->sendbuf && sock->sendbuf->end - sock->sendbuf->start > 5)
+		    if (sock->sendbuf->end - sock->sendbuf->start > 5)
 		    {
 			if (sock->sendbuf->start[0] == 1)
 			    sock->sendbuf->start[4] &= ~SLPv1_FLAG_OVERFLOW;