wireshark crash in managed interfaces

This commit is contained in:
Michal Ruprich 2023-08-31 09:09:32 +02:00
parent 09b6821e74
commit 7ced997b9e
2 changed files with 79 additions and 1 deletions

View File

@ -0,0 +1,74 @@
From 2d55e5672b07a8a102024e0af66e821bba51213b Mon Sep 17 00:00:00 2001
From: Gerald Combs <gerald@wireshark.org>
Date: Sun, 27 Aug 2023 14:47:52 -0700
Subject: [PATCH] Qt: Fix ManageInterfacesDialog cleanup
Handle our ManageInterfacesDialog cleanup tasks inside our destructor.
If we try to handle them in on_buttonBox_accepted we run into a race
condition with WA_DeleteOnClose.
Fixes #19287
---
ui/qt/manage_interfaces_dialog.cpp | 25 ++++++++++++-------------
ui/qt/manage_interfaces_dialog.h | 2 --
2 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/ui/qt/manage_interfaces_dialog.cpp b/ui/qt/manage_interfaces_dialog.cpp
index cb9da8697b5..a8529e265a9 100644
--- a/ui/qt/manage_interfaces_dialog.cpp
+++ b/ui/qt/manage_interfaces_dialog.cpp
@@ -209,6 +209,18 @@ ManageInterfacesDialog::ManageInterfacesDialog(QWidget *parent) :
ManageInterfacesDialog::~ManageInterfacesDialog()
{
+ if (result() == QDialog::Accepted) {
+#ifdef HAVE_LIBPCAP
+ sourceModel->save();
+#endif
+#ifdef HAVE_PCAP_REMOTE
+ remoteAccepted();
+#endif
+ prefs_main_write();
+ mainApp->refreshLocalInterfaces();
+ emit ifsChanged();
+ }
+
delete ui;
}
@@ -252,19 +264,6 @@ void ManageInterfacesDialog::updateWidgets()
ui->hintLabel->setText(hint);
}
-void ManageInterfacesDialog::on_buttonBox_accepted()
-{
-#ifdef HAVE_LIBPCAP
- sourceModel->save();
-#endif
-#ifdef HAVE_PCAP_REMOTE
- remoteAccepted();
-#endif
- prefs_main_write();
- mainApp->refreshLocalInterfaces();
- emit ifsChanged();
-}
-
#ifdef HAVE_LIBPCAP
void ManageInterfacesDialog::on_addPipe_clicked()
{
diff --git a/ui/qt/manage_interfaces_dialog.h b/ui/qt/manage_interfaces_dialog.h
index 80b78afbe7a..79e9d0d9bfa 100644
--- a/ui/qt/manage_interfaces_dialog.h
+++ b/ui/qt/manage_interfaces_dialog.h
@@ -59,8 +59,6 @@ signals:
private slots:
void updateWidgets();
- void on_buttonBox_accepted();
-
#ifdef HAVE_LIBPCAP
void on_addPipe_clicked();
void on_delPipe_clicked();
--
GitLab

View File

@ -6,7 +6,7 @@
Summary: Network traffic analyzer
Name: wireshark
Version: 4.0.8
Release: 1%{?dist}
Release: 2%{?dist}
Epoch: 1
License: BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND MIT AND GPL-2.0-or-later AND LGPL-2.0-or-later AND Zlib AND ISC AND (BSD-3-Clause OR GPL-2.0-only) AND (GPL-2.0-or-later AND Zlib)
Url: http://www.wireshark.org/
@ -30,6 +30,7 @@ Patch7: wireshark-0007-cmakelists.patch
Patch8: wireshark-0008-glib2-g_strdup-build.patch
Patch9: wireshark-0009-fix-asn2wrs-cmake.patch
Patch10: wireshark-0010-ripemd-fips-core-dump.patch
Patch11: wireshark-0011-manage-interfaces-crash.patch
#install tshark together with wireshark GUI
Requires: %{name}-cli = %{epoch}:%{version}-%{release}
@ -280,6 +281,9 @@ fi
%{_libdir}/pkgconfig/%{name}.pc
%changelog
* Thu Aug 31 2023 Michal Ruprich <mruprich@redhat.com> - 1:4.0.8-2
- Resolves: #2236246 - wireshark crash in managed interfaces
* Tue Aug 29 2023 Michal Ruprich <mruprich@redhat.com> - 1:4.0.8-1
- New version 4.0.8
- Resolves: #2235577 - possible Denial of Service via crafted package