BUG/MINOR: ssl: free the cafile entries on deinit
The cafile_tree was never free upon deinit, making valgrind and ASAN
complains when haproxy quits.
This could be backported as far as 2.2 but it requires the
ssl_store_delete_cafile_entry() helper from
5daff3c8abc658760a0d0c5fbbc633bfff1afe44.
diff --git a/src/ssl_ckch.c b/src/ssl_ckch.c
index 94d11e8..589e691 100644
--- a/src/ssl_ckch.c
+++ b/src/ssl_ckch.c
@@ -3769,7 +3769,9 @@
{
struct eb_node *node, *next;
struct ckch_store *store;
+ struct ebmb_node *canode;
+ /* deinit the ckch stores */
node = eb_first(&ckchs_tree);
while (node) {
next = eb_next(node);
@@ -3777,6 +3779,16 @@
ckch_store_free(store);
node = next;
}
+
+ /* deinit the ca-file store */
+ canode = ebmb_first(&cafile_tree);
+ while (canode) {
+ struct cafile_entry *entry = NULL;
+
+ entry = ebmb_entry(canode, struct cafile_entry, node);
+ canode = ebmb_next(canode);
+ ssl_store_delete_cafile_entry(entry);
+ }
}
/* register cli keywords */