From: Aurelien DARRAGON Date: Thu, 16 Nov 2023 15:18:14 +0000 (+0100) Subject: BUG/MINOR: proxy/stktable: missing frees on proxy cleanup X-Git-Tag: v2.9-dev10~20 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2c4943c18b8378d1314460ee1148fc90a6d51b67;p=thirdparty%2Fhaproxy.git BUG/MINOR: proxy/stktable: missing frees on proxy cleanup In 1b8e68e ("MEDIUM: stick-table: Stop handling stick-tables as proxies.") we forgot to free the table pointer which is now dynamically allocated. Let's take this opportunity to also fix a missing free in the table itself (the table expire task wasn't properly destroyed) This patch depends on: - "MINOR: stktable: add sktable_deinit function" It should be backported in every stable versions. --- diff --git a/src/proxy.c b/src/proxy.c index 3407168d13..93f1403dbe 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -389,7 +389,9 @@ void free_proxy(struct proxy *p) pool_destroy(p->req_cap_pool); pool_destroy(p->rsp_cap_pool); + stktable_deinit(p->table); + ha_free(&p->table); HA_RWLOCK_DESTROY(&p->lbprm.lock); HA_RWLOCK_DESTROY(&p->lock); diff --git a/src/stick_table.c b/src/stick_table.c index 26ea97addd..6427568314 100644 --- a/src/stick_table.c +++ b/src/stick_table.c @@ -875,6 +875,7 @@ void stktable_deinit(struct stktable *t) { if (!t) return; + task_destroy(t->exp_task); pool_destroy(t->pool); }