From f792625b1df21a6fb6bdf5dff6a1c7bc4019e34d Mon Sep 17 00:00:00 2001 From: Dario Lombardo Date: Fri, 10 Feb 2017 18:04:20 +0100 Subject: epan/wsutil: free memory on exit. Change-Id: I1cf3a4ce3b21b2e10887cbef5576e5e028e55bab Reviewed-on: https://code.wireshark.org/review/20052 Reviewed-by: Michael Mann --- wsutil/filesystem.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'wsutil') diff --git a/wsutil/filesystem.c b/wsutil/filesystem.c index f820ef1df0..0b80b98aaf 100644 --- a/wsutil/filesystem.c +++ b/wsutil/filesystem.c @@ -1396,7 +1396,7 @@ get_global_profiles_dir(void) return global_profiles_dir; } -static const char * +static char * get_persconffile_dir(const gchar *profilename) { static char *persconffile_profile_dir = NULL; @@ -1821,6 +1821,7 @@ char * get_persconffile_path(const char *filename, gboolean from_profile) { char *path; + if (do_store_persconffiles && from_profile && !g_hash_table_lookup (profile_files, filename)) { /* Store filenames so we know which filenames belongs to a configuration profile */ g_hash_table_insert (profile_files, g_strdup(filename), g_strdup(filename)); @@ -2194,10 +2195,19 @@ data_file_url(const gchar *filename) void free_progdirs(void) { + g_free(persconffile_dir); + persconffile_dir = NULL; + g_free(persdatafile_dir); + persdatafile_dir = NULL; + g_free(persconfprofile); + persconfprofile = NULL; g_free(progfile_dir); + progfile_dir = NULL; g_free(plugin_dir); + plugin_dir = NULL; #ifdef HAVE_EXTCAP g_free(extcap_dir); + extcap_dir = NULL; #endif } -- cgit v1.2.1