34 lines
1.3 KiB
Diff
34 lines
1.3 KiB
Diff
--- ./common/slp_network.c.orig 2014-02-13 15:14:30.020870347 +0000
|
|
+++ ./common/slp_network.c 2014-02-13 15:36:48.344867978 +0000
|
|
@@ -303,6 +303,8 @@ int SLPNetworkRecvMessage(sockfd_t sockf
|
|
{
|
|
/* Allocate the receive buffer as large as necessary. */
|
|
recvlen = PEEK_LENGTH(peek);
|
|
+ if (recvlen <= 0)
|
|
+ recvlen = 1;
|
|
*buf = SLPBufferRealloc(*buf, recvlen);
|
|
if (*buf)
|
|
{
|
|
--- ./slpd/slpd_incoming.c.orig 2014-02-13 15:14:30.022870347 +0000
|
|
+++ ./slpd/slpd_incoming.c 2014-02-13 15:36:12.992868041 +0000
|
|
@@ -241,6 +241,8 @@ static void IncomingStreamRead(SLPList *
|
|
if (bytesread > 0 && bytesread >= (*peek == 2? 5: 4))
|
|
{
|
|
recvlen = PEEK_LENGTH(peek);
|
|
+ if (recvlen <= 0)
|
|
+ recvlen = 1;
|
|
|
|
/* allocate the recvbuf big enough for the whole message */
|
|
sock->recvbuf = SLPBufferRealloc(sock->recvbuf, recvlen);
|
|
--- ./slpd/slpd_outgoing.c.orig 2014-02-13 15:14:30.022870347 +0000
|
|
+++ ./slpd/slpd_outgoing.c 2014-02-13 15:34:49.984868188 +0000
|
|
@@ -211,6 +211,8 @@ void OutgoingStreamRead(SLPList * sockli
|
|
{
|
|
/* allocate the recvbuf big enough for the whole message */
|
|
msglen = PEEK_LENGTH(peek);
|
|
+ if (msglen <= 0)
|
|
+ msglen = 1;
|
|
|
|
sock->recvbuf = SLPBufferRealloc(sock->recvbuf, msglen);
|
|
if (sock->recvbuf)
|