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