From 28a3ef5280f4533ae00590965639453bc5275dba Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Thu, 6 Mar 2008 22:09:40 +0100 Subject: [PATCH] Fixed a bug in hubread for fnet-dc. --- daemon/fnet-dc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/daemon/fnet-dc.c b/daemon/fnet-dc.c index 43820fc..593dc92 100644 --- a/daemon/fnet-dc.c +++ b/daemon/fnet-dc.c @@ -3014,7 +3014,7 @@ static void hubread(struct socket *sk, struct fnetnode *fn) free(newbuf); p = hub->inbuf; hub->inbufdata += datalen; - while((datalen > 0) && ((p2 = memchr(p, '|', datalen)) != NULL)) + while((p - hub->inbuf < hub->inbufdata) && ((p2 = memchr(p, '|', hub->inbufdata - (p - hub->inbuf))) != NULL)) { *(p2++) = 0; for(cmd = hubcmds; cmd->handler != NULL; cmd++) @@ -3025,7 +3025,6 @@ static void hubread(struct socket *sk, struct fnetnode *fn) } if((cmd->limit == 0) || (hub->queue.size < cmd->limit)) newqcmd(&hub->queue, p); - datalen -= p2 - p; p = p2; } memmove(hub->inbuf, p, hub->inbufdata -= p - hub->inbuf); -- 2.11.0