Fix udisks2 volume monitor crashes
Resolves: rhbz#2219172
This commit is contained in:
parent
72c3e3852d
commit
7aaf8034fc
@ -22,13 +22,16 @@
|
||||
|
||||
Name: gvfs
|
||||
Version: 1.51.1
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: Backends for the gio framework in GLib
|
||||
|
||||
License: GPLv3 and LGPLv2+ and BSD and MPLv2.0
|
||||
URL: https://wiki.gnome.org/Projects/gvfs
|
||||
Source0: https://download.gnome.org/sources/gvfs/1.51/gvfs-%{version}.tar.xz
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2219172
|
||||
Patch0: udisks2-Disconnect-signal-handlers-before-freeing-da.patch
|
||||
|
||||
BuildRequires: meson
|
||||
BuildRequires: gcc
|
||||
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
|
||||
@ -428,6 +431,9 @@ killall -USR1 gvfsd >&/dev/null || :
|
||||
%{_datadir}/installed-tests
|
||||
|
||||
%changelog
|
||||
* Fri Jul 14 2023 Ondrej Holy <oholy@redhat.com> - 1.51.1-2
|
||||
- Fix udisks2 volume monitor crashes (#2219172)
|
||||
|
||||
* Fri Jun 30 2023 Kalev Lember <klember@redhat.com> - 1.51.1-1
|
||||
- Update to 1.51.1
|
||||
|
||||
|
30
udisks2-Disconnect-signal-handlers-before-freeing-da.patch
Normal file
30
udisks2-Disconnect-signal-handlers-before-freeing-da.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 70d5ff3c52820840344df1a3e3b83a07dfb8e672 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Holy <oholy@redhat.com>
|
||||
Date: Thu, 13 Jul 2023 10:15:03 +0200
|
||||
Subject: [PATCH] udisks2: Disconnect signal handlers before freeing data
|
||||
|
||||
After the commit 1b80450a, the udisks2 volume monitor crashes sometimes after
|
||||
showing the unmount notification. This is because the `UnmountNotifyData`
|
||||
struct is freed, but signal handlers are still connected. Let's disconnect
|
||||
the signal handlers to avoid those crashes caused by invalid reads.
|
||||
|
||||
Related: https://bugzilla.redhat.com/show_bug.cgi?id=2219172
|
||||
---
|
||||
monitor/udisks2/gvfsudisks2utils.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/monitor/udisks2/gvfsudisks2utils.c b/monitor/udisks2/gvfsudisks2utils.c
|
||||
index 1f48ceb0..345c93ab 100644
|
||||
--- a/monitor/udisks2/gvfsudisks2utils.c
|
||||
+++ b/monitor/udisks2/gvfsudisks2utils.c
|
||||
@@ -709,6 +709,7 @@ unmount_notify_data_free (gpointer user_data)
|
||||
UnmountNotifyData *data = user_data;
|
||||
|
||||
unmount_notify_stop_timer (data);
|
||||
+ g_signal_handlers_disconnect_by_data (data->op, data);
|
||||
|
||||
g_clear_object (&data->mount);
|
||||
g_clear_object (&data->drive);
|
||||
--
|
||||
2.41.0
|
||||
|
Loading…
Reference in New Issue
Block a user