diff --git a/src/haproxy.c b/src/haproxy.c index dafea44fd..a297c8bd0 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -2605,7 +2605,7 @@ void deinit(void) struct bind_conf *bind_conf, *bind_back; struct build_opts_str *bol, *bolb; struct post_deinit_fct *pdf; - struct proxy_deinit_fct *pxdf; + struct proxy_deinit_fct *pxdf, *pxdfb; struct server_deinit_fct *srvdf; deinit_signals(); @@ -2892,6 +2892,11 @@ void deinit(void) free(bol); } + list_for_each_entry_safe(pxdf, pxdfb, &proxy_deinit_list, list) { + LIST_DEL(&pxdf->list); + free(pxdf); + } + vars_prune(&global.vars, NULL, NULL); pool_destroy_all(); deinit_pollers();