From 4450316b8d4443c0e524fe5ebff3d69ed2591251 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Mon, 25 Feb 2019 16:51:21 +0100 Subject: [PATCH] * Mon Feb 25 2019 Tomas Bzatek - 2.7.6-3 - Fix crash on g_source_destroy() (#1680255) --- udisks-2.8.0-sigint_source.patch | 69 ++++++++++++++++++++++++++++++++ udisks2.spec | 7 +++- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 udisks-2.8.0-sigint_source.patch diff --git a/udisks-2.8.0-sigint_source.patch b/udisks-2.8.0-sigint_source.patch new file mode 100644 index 0000000..0bdf40a --- /dev/null +++ b/udisks-2.8.0-sigint_source.patch @@ -0,0 +1,69 @@ +From 4e26232e5a207b3a5269a5f6d735f1a32b31a4e8 Mon Sep 17 00:00:00 2001 +From: Andrea Azzarone +Date: Fri, 30 Mar 2018 09:15:30 +0000 +Subject: [PATCH] main.c: Properly remove sigint source + +Revert d9f7b05 and properly fix the critical warning. +--- + src/main.c | 18 ++++++------------ + 1 file changed, 6 insertions(+), 12 deletions(-) + +diff --git a/src/main.c b/src/main.c +index 88f3dafac..0444e0179 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -93,7 +93,7 @@ on_sigint (gpointer user_data) + { + udisks_info ("Caught SIGINT. Initiating shutdown"); + g_main_loop_quit (loop); +- return FALSE; ++ return G_SOURCE_CONTINUE; /* We will manually remove the source using g_source_remove */ + } + + int +@@ -104,12 +104,13 @@ main (int argc, + GOptionContext *opt_context; + gint ret; + guint name_owner_id; +- GSource *sigint_source = NULL; ++ guint sigint_id; + + ret = 1; + loop = NULL; + opt_context = NULL; + name_owner_id = 0; ++ sigint_id = 0; + + /* avoid gvfs (http://bugzilla.gnome.org/show_bug.cgi?id=526454) */ + if (!g_setenv ("GIO_USE_VFS", "local", TRUE)) +@@ -148,13 +149,11 @@ main (int argc, + + if (!opt_no_sigint) + { +- guint sigint_id = g_unix_signal_add_full (G_PRIORITY_DEFAULT, ++ sigint_id = g_unix_signal_add_full (G_PRIORITY_DEFAULT, + SIGINT, + on_sigint, + NULL, /* user_data */ + NULL); /* GDestroyNotify */ +- if (sigint_id) +- sigint_source = g_main_context_find_source_by_id (NULL, sigint_id); + } + + name_owner_id = g_bus_own_name (G_BUS_TYPE_SYSTEM, +@@ -175,13 +174,8 @@ main (int argc, + ret = 0; + + out: +- if (sigint_source) +- { +- if(! g_source_is_destroyed(sigint_source)) +- { +- g_source_destroy (sigint_source); +- } +- } ++ if (sigint_id > 0) ++ g_source_remove (sigint_id); + if (the_daemon != NULL) + g_object_unref (the_daemon); + if (name_owner_id != 0) diff --git a/udisks2.spec b/udisks2.spec index 3513256..f6f48b0 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -15,12 +15,13 @@ Name: udisks2 Summary: Disk Manager Version: 2.7.6 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: https://github.com/storaged-project/udisks Source0: https://github.com/storaged-project/udisks/releases/download/udisks-%{version}/udisks-%{version}.tar.bz2 Patch0: 0001-Fix-string-format-vulnerability.patch +Patch1: udisks-2.8.0-sigint_source.patch BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} @@ -205,6 +206,7 @@ This package contains module for ZRAM configuration. %prep %setup -q -n udisks-%{version} %patch0 -p1 +%patch1 -p1 %build autoreconf -ivf @@ -350,6 +352,9 @@ udevadm trigger %endif %changelog +* Mon Feb 25 2019 Tomas Bzatek - 2.7.6-3 +- Fix crash on g_source_destroy() (#1680255) + * Wed Sep 26 2018 Vojtech Trefny - 2.7.6-2 - Fix string format vulnerability