diff options
author | Michael Mann <mmann78@netscape.net> | 2014-05-18 14:21:31 -0400 |
---|---|---|
committer | Evan Huus <eapache@gmail.com> | 2014-05-19 01:46:55 +0000 |
commit | e5353bf1198d6abf748de78084ff64f597f13663 (patch) | |
tree | 3e29b06909e6e7b6119fa9aaac4cf8fc28a8e968 /ui | |
parent | f75f47b7ae98f21f3002d7045e0a6594b45f3703 (diff) |
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.c | 5 | ||||
-rw-r--r-- | ui/qt/main_window_slots.cpp | 4 |
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; } |