]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: stats: fix source buffer size for http dump
authorAurelien DARRAGON <adarragon@haproxy.com>
Fri, 3 Feb 2023 07:31:42 +0000 (08:31 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 6 Feb 2023 06:53:03 +0000 (07:53 +0100)
In ("BUG/MINOR: stats: use proper buffer size for http dump"),
we used trash.size as source buffer size before applying the htx
overhead computation.

It is safer to use res->buf.size instead since res_htx (which is <htx> argument
passed to stats_putchk() in http context) is made from res->buf:

in http_stats_io_handler:
    | res_htx = htx_from_buf(&res->buf);

This will prevent the hang bug from showing up again if res->buf.size were to be
less than trash.size (which is set according to tune.bufsize).

This should be backported with ("BUG/MINOR: stats: use proper buffer size for http dump")

src/stats.c

index 791b7927976ebfe4ceef9e9791da7a4a44e79d59..2fdaaefb125e1634e0b775124051aff46222b000 100644 (file)
@@ -4458,7 +4458,7 @@ static void http_stats_io_handler(struct appctx *appctx)
        }
 
        if (appctx->st0 == STAT_HTTP_DUMP) {
-               trash_chunk = b_make(trash.area, trash.size, 0, 0);
+               trash_chunk = b_make(trash.area, res->buf.size, 0, 0);
                /* adjust buffer size to take htx overhead into account,
                 * make sure to perform this call on an empty buffer
                 */