mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-06 23:27:04 +02:00
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:
parent
6f53df3fcf
commit
1aa219078d
@ -226,6 +226,7 @@ void free_proxy(struct proxy *p)
|
|||||||
free_email_alert(p);
|
free_email_alert(p);
|
||||||
free(p->invalid_rep);
|
free(p->invalid_rep);
|
||||||
free(p->invalid_req);
|
free(p->invalid_req);
|
||||||
|
ha_free(&p->conn_src.iface_name);
|
||||||
#if defined(CONFIG_HAP_TRANSPARENT)
|
#if defined(CONFIG_HAP_TRANSPARENT)
|
||||||
free(p->conn_src.bind_hdr_name);
|
free(p->conn_src.bind_hdr_name);
|
||||||
#endif
|
#endif
|
||||||
@ -1454,6 +1455,9 @@ void proxy_free_defaults(struct proxy *defproxy)
|
|||||||
istfree(&defproxy->monitor_uri);
|
istfree(&defproxy->monitor_uri);
|
||||||
ha_free(&defproxy->defbe.name);
|
ha_free(&defproxy->defbe.name);
|
||||||
ha_free(&defproxy->conn_src.iface_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);
|
istfree(&defproxy->server_id_hdr_name);
|
||||||
|
|
||||||
http_ext_clean(defproxy);
|
http_ext_clean(defproxy);
|
||||||
|
Loading…
Reference in New Issue
Block a user