mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-06 01:25:02 -04:00
[BUG] buffers: buffer_forward() must not always clear BF_OUT_EMPTY
This flag was unconditionally cleared, which is wrong because we can enable forwarding on an empty buffer.
This commit is contained in:
parent
269358db93
commit
2d028db75a
1 changed files with 4 additions and 1 deletions
|
|
@ -91,14 +91,17 @@ static inline void buffer_forward(struct buffer *buf, unsigned long bytes)
|
|||
|
||||
if (!bytes)
|
||||
return;
|
||||
buf->flags &= ~BF_OUT_EMPTY;
|
||||
data_left = buf->l - buf->send_max;
|
||||
if (data_left >= bytes) {
|
||||
buf->send_max += bytes;
|
||||
buf->flags &= ~BF_OUT_EMPTY;
|
||||
return;
|
||||
}
|
||||
|
||||
buf->send_max += data_left;
|
||||
if (buf->send_max)
|
||||
buf->flags &= ~BF_OUT_EMPTY;
|
||||
|
||||
if (buf->to_forward == BUF_INFINITE_FORWARD)
|
||||
return;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue