From 1aa219078dbaeef402b43af24538078fdd875790 Mon Sep 17 00:00:00 2001 From: Aurelien DARRAGON Date: Mon, 10 Jun 2024 19:23:36 +0200 Subject: [PATCH] BUG/MINOR: proxy: fix source interface and usesrc leaks on deinit() proxy conn_src.iface_name was only freed in proxy_free_defaults(), whereas proxy conn_src.bind_hdr_name was only freed in free_proxy(). Because of that, using "source usesrc hdr_ip()" in a default proxy, or "source interface" in a regular or default proxy would cause memory leaks during deinit. It may be backported to all stable versions. --- src/proxy.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/proxy.c b/src/proxy.c index 4e14e2fe0..f0e4755b9 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -226,6 +226,7 @@ void free_proxy(struct proxy *p) free_email_alert(p); free(p->invalid_rep); free(p->invalid_req); + ha_free(&p->conn_src.iface_name); #if defined(CONFIG_HAP_TRANSPARENT) free(p->conn_src.bind_hdr_name); #endif @@ -1454,6 +1455,9 @@ void proxy_free_defaults(struct proxy *defproxy) istfree(&defproxy->monitor_uri); ha_free(&defproxy->defbe.name); ha_free(&defproxy->conn_src.iface_name); +#if defined(CONFIG_HAP_TRANSPARENT) + ha_free(&defproxy->conn_src.bind_hdr_name); +#endif istfree(&defproxy->server_id_hdr_name); http_ext_clean(defproxy);