From 6f97a611c83d7135d77407f7327980994413b842 Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Thu, 15 Apr 2021 09:28:02 +0200 Subject: [PATCH] BUG/MINOR: http-fetch: Make method smp safe if headers were already forwarded When method sample fetch is called, if an exotic method is found (HTTP_METH_OTHER), when smp_prefetch_htx() is called, we must be sure the start-line is still there. Otherwise, HAproxy may crash because of a NULL pointer dereference, for instance if the method sample fetch is used inside a unique-id format string. Indeed, the unique id may be generated when the log message is emitted. At this stage, the request channel is empty. This patch must be backported as far as 2.0. But the bug exists in all stable versions for the legacy HTTP mode too. Thus it must be adapted to the legacy HTTP mode and backported to all other stable versions. --- src/http_fetch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/http_fetch.c b/src/http_fetch.c index 0d2be7ea4..020b25fcf 100644 --- a/src/http_fetch.c +++ b/src/http_fetch.c @@ -342,7 +342,7 @@ static int smp_fetch_meth(const struct arg *args, struct sample *smp, const char return 0; } - htx = smp_prefetch_htx(smp, chn, NULL, 0); + htx = smp_prefetch_htx(smp, chn, NULL, 1); if (!htx) return 0;