From 8fde0b669bb7aa4aae3e290ef4aa264c3073bdd6 Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Wed, 26 Oct 2011 17:35:18 +0200 Subject: [PATCH] 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. --- src/libstrongswan/library.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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);