diff options
author | Peter Wu <peter@lekensteyn.nl> | 2016-09-11 22:19:31 +0200 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-09-12 01:33:38 +0000 |
commit | 032a6ac3be243c2bbf4b5d1010065a14b7784ddb (patch) | |
tree | e40fc390263685107f2651265eabcea10a0b2d5c | |
parent | 71c41a0a13f9825d71e08e5bc03700275287f096 (diff) |
Fix memleaks in capture file dialog
Tried to poke various fields (including the capture filter field), this
revealed some memleaks.
Change-Id: I1eca431a09839906a4b3c902ad85e55bffc71ca8
Reviewed-on: https://code.wireshark.org/review/17648
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r-- | epan/dfilter/dfilter.c | 2 | ||||
-rw-r--r-- | ui/qt/capture_file_dialog.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/epan/dfilter/dfilter.c b/epan/dfilter/dfilter.c index 3e1d558828..98f16a8f71 100644 --- a/epan/dfilter/dfilter.c +++ b/epan/dfilter/dfilter.c @@ -235,6 +235,7 @@ dfilter_compile(const gchar *text, dfilter_t **dfp, gchar **err_msg) } if (df_lex_init(&scanner) != 0) { + wmem_free(NULL, expanded_text); *dfp = NULL; if (err_msg != NULL) *err_msg = g_strdup_printf("Can't initialize scanner: %s", @@ -398,6 +399,7 @@ FAILURE: if (*err_msg == NULL) *err_msg = g_strdup_printf("Unable to parse filter string \"%s\".", expanded_text); } + wmem_free(NULL, expanded_text); *dfp = NULL; return FALSE; } diff --git a/ui/qt/capture_file_dialog.cpp b/ui/qt/capture_file_dialog.cpp index 16df1c0631..97a853b2ee 100644 --- a/ui/qt/capture_file_dialog.cpp +++ b/ui/qt/capture_file_dialog.cpp @@ -52,6 +52,7 @@ #include <QPushButton> #include "epan/prefs.h" +#include "qt_ui_utils.h" #include <wireshark_application.h> CaptureFileDialog::CaptureFileDialog(QWidget *parent, capture_file *cf, QString &display_filter) : @@ -396,6 +397,7 @@ QStringList CaptureFileDialog::buildFileOpenTypeList() { filter += (char *)extension->data; sep = " "; } + wtap_free_extensions_list(extensions_list); filter += ")"; filters << filter; @@ -740,7 +742,7 @@ void CaptureFileDialog::preview(const QString & path) // Size gint64 filesize = wtap_file_size(wth, &err); // Finder and Windows Explorer use IEC. What do the various Linux file managers use? - QString size_str = format_size(filesize, format_size_unit_bytes|format_size_prefix_iec); + QString size_str(gchar_free_to_qstring(format_size(filesize, format_size_unit_bytes|format_size_prefix_iec))); time(&time_preview); while ((wtap_read(wth, &err, &err_info, &data_offset))) { |