]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: haproxy: Free proxy_deinit_list in deinit()
authorTim Duesterhus <tim@bastelstu.be>
Sat, 4 Jul 2020 09:49:47 +0000 (11:49 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 7 Jul 2020 14:52:35 +0000 (16:52 +0200)
This allocation is technically always reachable and cannot leak, but so are
a few others that *are* freed.

src/haproxy.c

index dafea44fdd532bad6edc68d6219fbf38b2579d11..a297c8bd0ae5e6f81f3f80e4498147d56eb46824 100644 (file)
@@ -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();