From: Martin Willi Date: Tue, 13 Dec 2011 10:37:02 +0000 (+0100) Subject: Free list after removing the last local credential set, fixes a leak report X-Git-Tag: 5.0.0~338^2~9^2~236 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=45956d15ea6d53ff7d1917a8a063e98535987dfe;p=thirdparty%2Fstrongswan.git Free list after removing the last local credential set, fixes a leak report --- diff --git a/src/libstrongswan/credentials/credential_manager.c b/src/libstrongswan/credentials/credential_manager.c index 27b97eab33..4c310406ef 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,