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 7f05d39a8..489a0ebe8 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2606,6 +2606,7 @@ void deinit(void)
struct post_deinit_fct *pdf, *pdfb;
struct proxy_deinit_fct *pxdf, *pxdfb;
struct server_deinit_fct *srvdf, *srvdfb;
+ struct post_server_check_fct *pscf, *pscfb;
deinit_signals();
while (p) {
@@ -2906,6 +2907,11 @@ void deinit(void)
free(srvdf);
}
+ list_for_each_entry_safe(pscf, pscfb, &post_server_check_list, list) {
+ LIST_DEL(&pscf->list);
+ free(pscf);
+ }
+
vars_prune(&global.vars, NULL, NULL);
pool_destroy_all();
deinit_pollers();
--
2.27.0