summaryrefslogtreecommitdiff
path: root/ui
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-05-18 14:21:31 -0400
committerEvan Huus <eapache@gmail.com>2014-05-19 01:46:55 +0000
commite5353bf1198d6abf748de78084ff64f597f13663 (patch)
tree3e29b06909e6e7b6119fa9aaac4cf8fc28a8e968 /ui
parentf75f47b7ae98f21f3002d7045e0a6594b45f3703 (diff)
downloadwireshark-e5353bf1198d6abf748de78084ff64f597f13663.tar.gz
Use g_ alloced memory (instead of emem) when printing fields. emem shouldn't be used for GUI functions anyway.
emem was exposed because of its memory limits trying to output PDML for a very large byte field in a capture file. When converting from proto_construct_match_selected_string to fvalue_to_string_repr remember proto_construct_match_selected_string includes fieldname + value, not just value bug:10081 Change-Id: I4fc6ea7fd1f63cff410207c8b30562771af40ada Reviewed-on: https://code.wireshark.org/review/1578 Reviewed-by: Evan Huus <eapache@gmail.com>
Diffstat (limited to 'ui')
-rw-r--r--ui/gtk/main.c5
-rw-r--r--ui/qt/main_window_slots.cpp4
2 files changed, 6 insertions, 3 deletions
diff --git a/ui/gtk/main.c b/ui/gtk/main.c
index 56264fb305..e49e0531a0 100644
--- a/ui/gtk/main.c
+++ b/ui/gtk/main.c
@@ -668,8 +668,9 @@ copy_selected_plist_cb(GtkWidget *w _U_, gpointer data _U_, COPY_SELECTED_E acti
break;
case COPY_SELECTED_VALUE:
if (cfile.edt !=0 ) {
- g_string_append(gtk_text_str,
- get_node_field_value(cfile.finfo_selected, cfile.edt));
+ gchar* field_str = get_node_field_value(cfile.finfo_selected, cfile.edt);
+ g_string_append(gtk_text_str, field_str);
+ g_free(field_str);
}
break;
default:
diff --git a/ui/qt/main_window_slots.cpp b/ui/qt/main_window_slots.cpp
index 7bbb4486d9..be4a5ad8a0 100644
--- a/ui/qt/main_window_slots.cpp
+++ b/ui/qt/main_window_slots.cpp
@@ -1424,7 +1424,9 @@ void MainWindow::actionEditCopyTriggered(MainWindow::CopySelected selection_type
break;
case CopySelectedValue:
if (cap_file_->edt != 0) {
- clip.append(get_node_field_value(cap_file_->finfo_selected, cap_file_->edt));
+ gchar* field_str = get_node_field_value(cap_file_->finfo_selected, cap_file_->edt);
+ clip.append(field_str);
+ g_free(field_str);
}
break;
}