From: Aurelien DARRAGON Date: Mon, 10 Jun 2024 17:23:36 +0000 (+0200) Subject: BUG/MINOR: proxy: fix source interface and usesrc leaks on deinit() X-Git-Tag: v3.1-dev1~49 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1aa219078dbaeef402b43af24538078fdd875790;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/proxy.c b/src/proxy.c index 4e14e2fe0b..f0e4755b91 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);