aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDario Lombardo <lomato@gmail.com>2017-02-04 17:01:00 +0100
committerMichael Mann <mmann78@netscape.net>2017-02-18 01:17:41 +0000
commit67d8830f2f16cafb0e2fba941d4517c2f56270df (patch)
treed0007e8d78a55505149ea0ab67dce718de6864b0
parent52637ad6f637c4dbef60cb8ae5aaff40bbc89c40 (diff)
wiretap: add open_routines cleanup function.
Change-Id: Id88fe84189b8baa597eaa69159395cdc4bc56195 Reviewed-on: https://code.wireshark.org/review/19951 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r--wiretap/file_access.c14
-rw-r--r--wiretap/wtap.c1
-rw-r--r--wiretap/wtap.h2
3 files changed, 17 insertions, 0 deletions
diff --git a/wiretap/file_access.c b/wiretap/file_access.c
index 329e5875b4..5b3e75ea61 100644
--- a/wiretap/file_access.c
+++ b/wiretap/file_access.c
@@ -2718,6 +2718,20 @@ wtap_dump_file_tell(wtap_dumper *wdh, int *err)
}
}
+void
+cleanup_open_routines(void)
+{
+ guint i;
+ struct open_info *i_open;
+
+ for (i = 0, i_open = open_routines; i < open_info_arr->len; i++, i_open++) {
+ if (i_open->extensions != NULL)
+ g_strfreev(i_open->extensions_set);
+ }
+
+ g_array_free(open_info_arr, TRUE);
+}
+
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
diff --git a/wiretap/wtap.c b/wiretap/wtap.c
index 6473d43ee9..0f13e6b788 100644
--- a/wiretap/wtap.c
+++ b/wiretap/wtap.c
@@ -1444,6 +1444,7 @@ wtap_cleanup(void)
wtap_cleanup_encap_types();
wtap_opttypes_cleanup();
ws_buffer_cleanup();
+ cleanup_open_routines();
}
/*
diff --git a/wiretap/wtap.h b/wiretap/wtap.h
index d1ed5d7577..c94371a854 100644
--- a/wiretap/wtap.h
+++ b/wiretap/wtap.h
@@ -1448,6 +1448,8 @@ typedef enum {
WS_DLL_PUBLIC void init_open_routines(void);
+void cleanup_open_routines(void);
+
struct open_info {
const char *name;
wtap_open_type type;