From: Christopher Faulet Date: Thu, 21 May 2020 08:10:41 +0000 (+0200) Subject: BUG/MINOR: http-htx: Fix a leak on error path during http reply parsing X-Git-Tag: v2.2-dev9~204 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d6e312317631b4bed4c4e88b932a3c95616ffbb3;p=thirdparty%2Fhaproxy.git BUG/MINOR: http-htx: Fix a leak on error path during http reply parsing When "hdr" arguments of an http reply are parsed, the allocated header may leak on error path. Adding it to the header list earlier fixes the issue. This patch should partly fix the issue #645. No backport needed. --- diff --git a/src/http_htx.c b/src/http_htx.c index e1b7793317..3137fbebbf 100644 --- a/src/http_htx.c +++ b/src/http_htx.c @@ -1538,13 +1538,13 @@ struct http_reply *http_parse_http_reply(const char **args, int *orig_arg, struc memprintf(errmsg, "'%s' : out of memory", args[cur_arg-1]); goto error; } + LIST_ADDQ(&reply->hdrs, &hdr->list); LIST_INIT(&hdr->value); hdr->name = ist(strdup(args[cur_arg])); if (!isttest(hdr->name)) { memprintf(errmsg, "out of memory"); goto error; } - LIST_ADDQ(&reply->hdrs, &hdr->list); if (!parse_logformat_string(args[cur_arg+1], px, &hdr->value, LOG_OPT_HTTP, cap, errmsg)) goto error;