From 45956d15ea6d53ff7d1917a8a063e98535987dfe Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Tue, 13 Dec 2011 11:37:02 +0100 Subject: [PATCH] Free list after removing the last local credential set, fixes a leak report --- src/libstrongswan/credentials/credential_manager.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libstrongswan/credentials/credential_manager.c b/src/libstrongswan/credentials/credential_manager.c index 27b97eab3..4c310406e 100644 --- a/src/libstrongswan/credentials/credential_manager.c +++ b/src/libstrongswan/credentials/credential_manager.c @@ -393,6 +393,11 @@ METHOD(credential_manager_t, remove_local_set, void, sets = this->local_sets->get(this->local_sets); sets->remove(sets, set, NULL); + if (sets->get_count(sets) == 0) + { + this->local_sets->set(this->local_sets, NULL); + sets->destroy(sets); + } } METHOD(credential_manager_t, cache_cert, void,