]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
CLEANUP: haproxy: Free post_deinit_list in deinit()
authorTim Duesterhus <tim@bastelstu.be>
Sat, 4 Jul 2020 09:49:48 +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 a297c8bd0ae5e6f81f3f80e4498147d56eb46824..88a1c9752fba2f96eedab4f4b2318d92a568c483 100644 (file)
@@ -2604,7 +2604,7 @@ void deinit(void)
        struct logformat_node *lf, *lfb;
        struct bind_conf *bind_conf, *bind_back;
        struct build_opts_str *bol, *bolb;
-       struct post_deinit_fct *pdf;
+       struct post_deinit_fct *pdf, *pdfb;
        struct proxy_deinit_fct *pxdf, *pxdfb;
        struct server_deinit_fct *srvdf;
 
@@ -2897,6 +2897,11 @@ void deinit(void)
                free(pxdf);
        }
 
+       list_for_each_entry_safe(pdf, pdfb, &post_deinit_list, list) {
+               LIST_DEL(&pdf->list);
+               free(pdf);
+       }
+
        vars_prune(&global.vars, NULL, NULL);
        pool_destroy_all();
        deinit_pollers();