diff --git a/capture_opts.c b/capture_opts.c index 16d44d1970..8c7e97a516 100644 --- a/capture_opts.c +++ b/capture_opts.c @@ -935,6 +935,7 @@ capture_opts_add_opt(capture_options *capture_opts, int opt, const char *optarg_ capture_opts->saving_to_file = TRUE; g_free(capture_opts->save_file); capture_opts->save_file = g_strdup(optarg_str_p); + capture_opts->orig_save_file = g_strdup(optarg_str_p); status = capture_opts_output_to_pipe(capture_opts->save_file, &capture_opts->output_to_pipe); return status; case 'y': /* Set the pcap data link type */ diff --git a/ui/qt/capture_interfaces_dialog.cpp b/ui/qt/capture_interfaces_dialog.cpp index b9dc86ff9c..f3bdcbab72 100644 --- a/ui/qt/capture_interfaces_dialog.cpp +++ b/ui/qt/capture_interfaces_dialog.cpp @@ -817,6 +817,9 @@ bool CaptureInterfacesDialog::saveOptionsToPreferences() prefs.capture_pcap_ng = false; } + g_free(global_capture_opts.save_file); + g_free(global_capture_opts.orig_save_file); + QString filename = ui->filenameLineEdit->text(); if (filename.length() > 0) { /* User specified a file to which the capture should be written. */ @@ -827,7 +830,9 @@ bool CaptureInterfacesDialog::saveOptionsToPreferences() set_last_open_dir(get_dirname(filename.toUtf8().data())); } else { /* User didn't specify a file; save to a temporary file. */ + global_capture_opts.saving_to_file = false; global_capture_opts.save_file = NULL; + global_capture_opts.orig_save_file = NULL; } global_capture_opts.has_ring_num_files = ui->RbCheckBox->isChecked();