From 2de30dd18d86ddd7dd0f5aab636f36d1f4a37cc1 Mon Sep 17 00:00:00 2001 From: Dario Lombardo Date: Mon, 20 Feb 2017 14:05:15 +0100 Subject: wsutil: fix bugs in plugins_cleanup(). If plugin_list was NULL, plugin_types didn't get cleaned. Add test and set of open_info_arr. Change-Id: I7669e3ba86039fb2b26ff2da64f51896053c5e68 Reviewed-on: https://code.wireshark.org/review/20195 Petri-Dish: Michael Mann Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann --- wsutil/plugins.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'wsutil') diff --git a/wsutil/plugins.c b/wsutil/plugins.c index 73d79f4b8e..d916c9cf77 100644 --- a/wsutil/plugins.c +++ b/wsutil/plugins.c @@ -438,21 +438,20 @@ plugins_cleanup(void) plugin* prev; plugin* cur; - if (!plugin_list) - return; + if (plugin_list) { + prev = plugin_list; + cur = plugin_list->next; - prev = plugin_list; - cur = plugin_list->next; + do { + g_free(prev->name); + g_free(prev); + prev = cur; + cur = cur->next; + } while(cur); - do { g_free(prev->name); g_free(prev); - prev = cur; - cur = cur->next; - } while(cur); - - g_free(prev->name); - g_free(prev); + } g_slist_foreach(plugin_types, free_plugin_type, NULL); g_slist_free(plugin_types); -- cgit v1.2.1