From de6ecc3aceaf93612eb37ff5a913fcd8e741ea67 Mon Sep 17 00:00:00 2001 From: William Lallemand Date: Wed, 16 Feb 2022 11:37:02 +0100 Subject: [PATCH] BUG/MINOR: httpclient/cli: display junk characters in vsn ist are not ended by '\0', leading to junk characters being displayed when using %s for printing the HTTP start line. Fix the issue by replacing %s by %.*s + istlen. Must be backported in 2.5. --- src/http_client.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/http_client.c b/src/http_client.c index 6645a49466..dacc326be6 100644 --- a/src/http_client.c +++ b/src/http_client.c @@ -173,7 +173,8 @@ static int hc_cli_io_handler(struct appctx *appctx) if (!trash) goto out; if (appctx->ctx.cli.i0 & HC_CLI_F_RES_STLINE) { - chunk_appendf(trash, "%s %d %s\n",istptr(hc->res.vsn), hc->res.status, istptr(hc->res.reason)); + chunk_appendf(trash, "%.*s %d %.*s\n", (unsigned int)istlen(hc->res.vsn), istptr(hc->res.vsn), + hc->res.status, (unsigned int)istlen(hc->res.reason), istptr(hc->res.reason)); if (ci_putchk(si_ic(si), trash) == -1) si_rx_room_blk(si); appctx->ctx.cli.i0 &= ~HC_CLI_F_RES_STLINE; -- 2.47.3