mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-15 03:54:11 +02:00
BUG/MEDIUM: channel: bo_getline() must wait for \n until buffer is full
We must not report incomplete data if the buffer is not full, otherwise we can abort some processing on the stats socket when dealing with massive amounts of commands.
This commit is contained in:
@@ -230,7 +230,8 @@ int bo_getline(struct channel *chn, char *str, int len)
|
||||
break;
|
||||
p = buffer_wrap_add(chn->buf, p + 1);
|
||||
}
|
||||
if (ret > 0 && ret < len && ret < chn->buf->o &&
|
||||
if (ret > 0 && ret < len &&
|
||||
(ret < chn->buf->o || !channel_full(chn)) &&
|
||||
*(str-1) != '\n' &&
|
||||
!(chn->flags & (CF_SHUTW|CF_SHUTW_NOW)))
|
||||
ret = 0;
|
||||
|
||||
Reference in New Issue
Block a user