diff options
author | Amaury Denoyelle <adenoyelle@haproxy.com> | 2021-01-26 14:35:22 +0100 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2021-01-26 14:48:39 +0100 |
commit | 69c5c3ab330584f9c53e2cf7c86af371a84f104d (patch) | |
tree | 092cc6fd49ccba7c59b0d9989c4055691c2d4c44 | |
parent | 6071c2d12dd2ff1f5876a2ace313a81259f211cd (diff) | |
download | haproxy-69c5c3ab330584f9c53e2cf7c86af371a84f104d.tar.gz |
BUG/MINOR: config: fix leak on proxy.conn_src.bind_hdr_name
Leak for parsing of option usesrc of the source keyword.
This can be backported to 1.8.
-rw-r--r-- | src/cfgparse-listen.c | 1 | ||||
-rw-r--r-- | src/haproxy.c | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c index 588ff9704..689a28eb3 100644 --- a/src/cfgparse-listen.c +++ b/src/cfgparse-listen.c @@ -2915,6 +2915,7 @@ stats_error_parsing: curproxy->conn_src.opts &= ~CO_SRC_TPROXY_MASK; curproxy->conn_src.opts |= CO_SRC_TPROXY_DYN; + free(curproxy->conn_src.bind_hdr_name); curproxy->conn_src.bind_hdr_name = calloc(1, end - name + 1); curproxy->conn_src.bind_hdr_len = end - name; memcpy(curproxy->conn_src.bind_hdr_name, name, end - name); diff --git a/src/haproxy.c b/src/haproxy.c index e36e020c5..cdbc3dc96 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -2503,6 +2503,9 @@ void deinit(void) free(p->rdp_cookie_name); free(p->invalid_rep); free(p->invalid_req); +#if defined(CONFIG_HAP_TRANSPARENT) + free(p->conn_src.bind_hdr_name); +#endif if (p->conf.logformat_string != default_http_log_format && p->conf.logformat_string != default_tcp_log_format && p->conf.logformat_string != clf_http_log_format) |