From: Tobias Brunner Date: Wed, 26 Oct 2011 15:35:18 +0000 (+0200) Subject: Destroy objects hashtable after plugin_manager. X-Git-Tag: 4.6.0~75 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8fde0b669bb7aa4aae3e290ef4aa264c3073bdd6;p=thirdparty%2Fstrongswan.git 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. --- diff --git a/src/libstrongswan/library.c b/src/libstrongswan/library.c index 5bbf199f8f..6ed4d12859 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);