aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/packet.h2
-rw-r--r--ui/decode_as_utils.c11
-rw-r--r--ui/gtk/decode_as_dlg.c2
3 files changed, 8 insertions, 7 deletions
diff --git a/epan/packet.h b/epan/packet.h
index cc13140bf6..c748caabd4 100644
--- a/epan/packet.h
+++ b/epan/packet.h
@@ -109,7 +109,7 @@ typedef enum {
} dissector_table_allow_e;
typedef void (*DATFunc) (const gchar *table_name, ftenum_t selector_type,
- gpointer key, gpointer value, gpointer user_data);
+ const gpointer key, gpointer value, gpointer user_data);
typedef void (*DATFunc_handle) (const gchar *table_name, gpointer value,
gpointer user_data);
typedef void (*DATFunc_table) (const gchar *table_name, const gchar *ui_name,
diff --git a/ui/decode_as_utils.c b/ui/decode_as_utils.c
index 93e165bb58..22ff62ab26 100644
--- a/ui/decode_as_utils.c
+++ b/ui/decode_as_utils.c
@@ -146,8 +146,7 @@ read_set_decode_as_entries(gchar *key, const gchar *value,
}
}
if (is_valid) {
- decode_build_reset_list(g_strdup(values[0]), selector_type,
- g_strdup(values[1]), NULL, NULL);
+ decode_build_reset_list(values[0], selector_type, values[1], NULL, NULL);
}
} else {
retval = PREFS_SET_SYNTAX_ERR;
@@ -183,13 +182,13 @@ load_decode_as_entries(void)
void
decode_build_reset_list (const gchar *table_name, ftenum_t selector_type,
- gpointer key, gpointer value _U_,
+ const gpointer key, gpointer value _U_,
gpointer user_data _U_)
{
dissector_delete_item_t *item;
item = g_new(dissector_delete_item_t,1);
- item->ddi_table_name = table_name;
+ item->ddi_table_name = g_strdup(table_name);
item->ddi_selector_type = selector_type;
switch (selector_type) {
@@ -204,7 +203,7 @@ decode_build_reset_list (const gchar *table_name, ftenum_t selector_type,
case FT_STRINGZ:
case FT_UINT_STRING:
case FT_STRINGZPAD:
- item->ddi_selector.sel_string = (char *)key;
+ item->ddi_selector.sel_string = g_strdup((char *)key);
break;
default:
@@ -240,11 +239,13 @@ decode_clear_all(void)
case FT_STRINGZPAD:
dissector_reset_string(item->ddi_table_name,
item->ddi_selector.sel_string);
+ g_free(item->ddi_selector.sel_string);
break;
default:
g_assert_not_reached();
}
+ g_free((gchar *)item->ddi_table_name);
g_free(item);
}
g_slist_free(dissector_reset_list);
diff --git a/ui/gtk/decode_as_dlg.c b/ui/gtk/decode_as_dlg.c
index a0707783d9..64eb232b14 100644
--- a/ui/gtk/decode_as_dlg.c
+++ b/ui/gtk/decode_as_dlg.c
@@ -685,7 +685,7 @@ decode_simple (GtkWidget *notebook_pg)
if (add_reset_list) {
selector_type = g_new(guint,1);
*selector_type = GPOINTER_TO_UINT(value_ptr);
- decode_build_reset_list(g_strdup(table_name), FT_UINT32, selector_type, NULL, NULL);
+ decode_build_reset_list(table_name, FT_UINT32, selector_type, NULL, NULL);
}
}