BUG/MINOR: sink: free forward_px on deinit()
When a ring section is configured, a new sink is created and forward_px
proxy may be allocated and assigned to the sink.
Such sink-related proxies are added to the sink_proxies_list and thus
don't belong to the main proxy list which is cleaned up in
haproxy deinit() function.
We don't have to manually clean up sink_proxies_list in the main deinit()
func:
sink API already provides the sink_deinit() function so we just add the
missing free_proxy(sink->forward_px) there.
This could be backported up to 2.4.
[in 2.4, commit b0281a49 ("MINOR: proxy: check if p is NULL in free_proxy()")
must be backported first]
(cherry picked from commit 9b1d15f53a194a7704d7b8a1e27d8dd02fe2f17d)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 74f77097c7e360cdc84d495fdcc138ec87f647f6)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 1c41e3d4122c425d8cad5b84204f2549843c5ef3)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 8cc4ebdfe97f43231dd2fd0e94485ae03d9e3d25)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/haproxy.c b/src/haproxy.c
index 9929948..5febd04 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2482,6 +2482,11 @@
free_proxy(p0);
}/* end while(p) */
+
+ /* we don't need to free sink_proxies_list proxies since it is
+ * already handled in sink_deinit()
+ */
+
while (ua) {
struct stat_scope *scope, *scopep;