From b69943609a0cae74656384dad2ea8e8f8138ec9d Mon Sep 17 00:00:00 2001 From: John Thacker Date: Thu, 1 Feb 2024 17:39:13 -0500 Subject: [PATCH] extcap: Fix some leaks of argument settings --- capture_opts.c | 3 +++ ui/qt/extcap_options_dialog.cpp | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/capture_opts.c b/capture_opts.c index b9f5c4bfe9..e0a897afb6 100644 --- a/capture_opts.c +++ b/capture_opts.c @@ -1563,6 +1563,9 @@ capture_opts_free_interface_t(interface_t *device) if (device->if_info.caps) { free_if_capabilities(device->if_info.caps); } + if (device->external_cap_args_settings) { + g_hash_table_unref(device->external_cap_args_settings); + } } } diff --git a/ui/qt/extcap_options_dialog.cpp b/ui/qt/extcap_options_dialog.cpp index cbac4db79b..d7dd03f167 100644 --- a/ui/qt/extcap_options_dialog.cpp +++ b/ui/qt/extcap_options_dialog.cpp @@ -564,7 +564,7 @@ void ExtcapOptionsDialog::resetValues() GHashTable *ExtcapOptionsDialog::getArgumentSettings(bool useCallsAsKey, bool includeEmptyValues) { - GHashTable * entries = g_hash_table_new(g_str_hash, g_str_equal); + GHashTable * entries = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); ExtcapArgumentList::const_iterator iter; QString value; @@ -642,6 +642,8 @@ void ExtcapOptionsDialog::storeValues() mainApp->emitAppSignal(MainApplication::PreferencesChanged); } + + g_hash_table_unref(entries); } ExtcapValueList ExtcapOptionsDialog::loadValuesFor(int argNum, QString argumentName, QString parent)