]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: buffers: fix bi_putchr() to correctly advance the pointer
authorWilly Tarreau <w@1wt.eu>
Thu, 31 May 2012 14:37:11 +0000 (16:37 +0200)
committerWilly Tarreau <w@1wt.eu>
Thu, 31 May 2012 14:40:11 +0000 (16:40 +0200)
bi_putchr() failed to move the buffer pointer forward. The only user
was the peer handler which was broken, it failed to sync. Thanks to
HervĂ© Commowick for reporting the issue.

src/buffers.c

index 7becb4863dbf078b5c9e62c4d1c392eb75b659fa..6eeb64f548615b0f0e6b02e44376ba34eaeb74b2 100644 (file)
@@ -154,9 +154,7 @@ int bi_putchr(struct buffer *buf, char c)
        if (buf->to_forward >= 1) {
                if (buf->to_forward != BUF_INFINITE_FORWARD)
                        buf->to_forward--;
-               buf->o++;
-               buf->i--;
-               buf->flags &= ~BF_OUT_EMPTY;
+               b_adv(buf, 1);
        }
 
        buf->total++;