diff --git a/src/ssl_ckch.c b/src/ssl_ckch.c index 94d11e8ea..589e69117 100644 --- a/src/ssl_ckch.c +++ b/src/ssl_ckch.c @@ -3769,7 +3769,9 @@ void ckch_deinit() { 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 @@ void ckch_deinit() 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 */