diff options
author | Tobias Brunner <tobias@strongswan.org> | 2011-10-26 17:35:18 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2011-10-26 17:39:12 +0200 |
commit | 8fde0b669bb7aa4aae3e290ef4aa264c3073bdd6 (patch) | |
tree | 3b7bdd5b2967d81636a1c0e375a3e31ffafa4359 /src/libstrongswan/library.c | |
parent | 45542fff6c8b70af9086b098d7046629d3587ff5 (diff) | |
download | strongswan-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.c | 2 |
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); |