From: William Lallemand Date: Fri, 27 Mar 2026 15:56:47 +0000 (+0100) Subject: BUG/MINOR: acme: fix task allocation leaked upon error X-Git-Tag: v3.4-dev8~98 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=d26bd9f9781aaab295a7c5c18894212c67ac8ad4;p=haproxy.git BUG/MINOR: acme: fix task allocation leaked upon error Fix a leak of the task object in acme_start_task() when one of the condition in the function failed. Fix issue #3308. Must be backported to 3.2 and later. --- diff --git a/src/acme.c b/src/acme.c index 44b0d7995..fe915d6ae 100644 --- a/src/acme.c +++ b/src/acme.c @@ -2667,7 +2667,7 @@ EVP_PKEY *acme_gen_tmp_pkey() /* start an ACME task */ static int acme_start_task(struct ckch_store *store, char **errmsg) { - struct task *task; + struct task *task = NULL; struct acme_ctx *ctx = NULL; struct acme_cfg *cfg; struct ckch_store *newstore = NULL; @@ -2752,6 +2752,8 @@ err: HA_RWLOCK_WRUNLOCK(OTHER_LOCK, &acme_lock); acme_ctx_destroy(ctx); } + if (task) + task_destroy(task); memprintf(errmsg, "%sCan't start the ACME client.", *errmsg ? *errmsg : ""); return 1; }