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.
This commit is contained in:
Aurelien DARRAGON 2024-06-10 19:23:36 +02:00
parent 6f53df3fcf
commit 1aa219078d

View File

@ -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);