This allocation is technically always reachable and cannot leak, but so are
a few others that *are* freed.
---
 src/haproxy.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/haproxy.c b/src/haproxy.c
index 0dc81c78c..e70870ab0 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2407,6 +2407,7 @@ void deinit(void)
        struct per_thread_alloc_fct *taf, *tafb;
        struct per_thread_free_fct *tff, *tffb;
        struct post_server_check_fct *pscf, *pscfb;
+       struct post_check_fct *pcf, *pcfb;
        struct post_proxy_check_fct *ppcf, *ppcfb;
 
        deinit_signals();
@@ -2722,6 +2723,11 @@ void deinit(void)
                free(srvdf);
        }
 
+       list_for_each_entry_safe(pcf, pcfb, &post_check_list, list) {
+               LIST_DEL(&pcf->list);
+               free(pcf);
+       }
+
        list_for_each_entry_safe(pscf, pscfb, &post_server_check_list, list) {
                LIST_DEL(&pscf->list);
                free(pscf);
-- 
2.28.0


Reply via email to