aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/library.c
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2011-10-26 17:35:18 +0200
committerTobias Brunner <tobias@strongswan.org>2011-10-26 17:39:12 +0200
commit8fde0b669bb7aa4aae3e290ef4aa264c3073bdd6 (patch)
tree3b7bdd5b2967d81636a1c0e375a3e31ffafa4359 /src/libstrongswan/library.c
parent45542fff6c8b70af9086b098d7046629d3587ff5 (diff)
downloadstrongswan-8fde0b669bb7aa4aae3e290ef4aa264c3073bdd6.tar.bz2
strongswan-8fde0b669bb7aa4aae3e290ef4aa264c3073bdd6.tar.xz
Destroy objects hashtable after plugin_manager.
If plugins are not explicitly unloaded before library_deinit is called there could have been a segfault because some plugins might unregister objects during unloading/destruction.
Diffstat (limited to 'src/libstrongswan/library.c')
-rw-r--r--src/libstrongswan/library.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libstrongswan/library.c b/src/libstrongswan/library.c
index 5bbf199f8..6ed4d1285 100644
--- a/src/libstrongswan/library.c
+++ b/src/libstrongswan/library.c
@@ -61,7 +61,6 @@ void library_deinit()
detailed = lib->settings->get_bool(lib->settings,
"libstrongswan.leak_detective.detailed", TRUE);
- this->objects->destroy(this->objects);
this->public.scheduler->destroy(this->public.scheduler);
this->public.processor->destroy(this->public.processor);
this->public.plugins->destroy(this->public.plugins);
@@ -73,6 +72,7 @@ void library_deinit()
this->public.fetcher->destroy(this->public.fetcher);
this->public.db->destroy(this->public.db);
this->public.printf_hook->destroy(this->public.printf_hook);
+ this->objects->destroy(this->objects);
if (this->public.integrity)
{
this->public.integrity->destroy(this->public.integrity);