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.
This commit is contained in:
@@ -61,7 +61,6 @@ void library_deinit()
|
|||||||
detailed = lib->settings->get_bool(lib->settings,
|
detailed = lib->settings->get_bool(lib->settings,
|
||||||
"libstrongswan.leak_detective.detailed", TRUE);
|
"libstrongswan.leak_detective.detailed", TRUE);
|
||||||
|
|
||||||
this->objects->destroy(this->objects);
|
|
||||||
this->public.scheduler->destroy(this->public.scheduler);
|
this->public.scheduler->destroy(this->public.scheduler);
|
||||||
this->public.processor->destroy(this->public.processor);
|
this->public.processor->destroy(this->public.processor);
|
||||||
this->public.plugins->destroy(this->public.plugins);
|
this->public.plugins->destroy(this->public.plugins);
|
||||||
@@ -73,6 +72,7 @@ void library_deinit()
|
|||||||
this->public.fetcher->destroy(this->public.fetcher);
|
this->public.fetcher->destroy(this->public.fetcher);
|
||||||
this->public.db->destroy(this->public.db);
|
this->public.db->destroy(this->public.db);
|
||||||
this->public.printf_hook->destroy(this->public.printf_hook);
|
this->public.printf_hook->destroy(this->public.printf_hook);
|
||||||
|
this->objects->destroy(this->objects);
|
||||||
if (this->public.integrity)
|
if (this->public.integrity)
|
||||||
{
|
{
|
||||||
this->public.integrity->destroy(this->public.integrity);
|
this->public.integrity->destroy(this->public.integrity);
|
||||||
|
|||||||
Reference in New Issue
Block a user