From 1cf52c9f9740594b193ba4b3c0ed49e6292b0dde Mon Sep 17 00:00:00 2001 From: cenhuilin Date: Fri, 11 Jul 2025 09:57:37 +0800 Subject: [PATCH] udisksctl: fix segfault --- 0007-udisksctl-fix-segfault.patch | 44 +++++++++++++++++++++++++++++++ udisks2.spec | 6 ++++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 0007-udisksctl-fix-segfault.patch diff --git a/0007-udisksctl-fix-segfault.patch b/0007-udisksctl-fix-segfault.patch new file mode 100644 index 0000000..556bfe1 --- /dev/null +++ b/0007-udisksctl-fix-segfault.patch @@ -0,0 +1,44 @@ +From 3e4263c27621513c782da58792de66e73e00fdd4 Mon Sep 17 00:00:00 2001 +From: Fernando Ramos +Date: Fri, 11 Jul 2025 09:50:45 +0800 +Subject: [PATCH] udisksctl fix segfault + +Segfault when trying to power-off a dbus object which does not implement +the "org.freedesktop.UDisks2.Drive" interface. +--- + tools/udisksctl.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/tools/udisksctl.c b/tools/udisksctl.c +index c020879..7ec8498 100644 +--- a/tools/udisksctl.c ++++ b/tools/udisksctl.c +@@ -2138,6 +2138,7 @@ handle_command_power_off (gint *argc, + GVariant *options; + GVariantBuilder builder; + GError *error; ++ UDisksDrive *proxy; + + ret = 1; + opt_power_off_object_path = NULL; +@@ -2289,7 +2290,16 @@ handle_command_power_off (gint *argc, + + try_again: + error = NULL; +- if (!udisks_drive_call_power_off_sync (udisks_object_peek_drive (object), ++ ++ proxy = udisks_object_peek_drive (object); ++ if (!proxy) ++ { ++ g_printerr ("Error powering off drive: dbus interface not supported"); ++ g_object_unref (object); ++ goto out; ++ } ++ ++ if (!udisks_drive_call_power_off_sync (proxy, + options, + NULL, /* GCancellable */ + &error)) +-- +2.43.0 + diff --git a/udisks2.spec b/udisks2.spec index 1cbb1f5..7a1ea19 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -59,7 +59,7 @@ Name: udisks2 Summary: Disk Manager Version: 2.9.0 -Release: 8 +Release: 9 License: GPL-2.0+ and LGPL-2.0+ Group: System Environment/Libraries URL: https://github.com/storaged-project/udisks @@ -71,6 +71,7 @@ Patch3: 0003-udiskslinuxmountoptions-Do-not-free-static-daemon-resources.patch Patch4: 0004-udisksctl-Guard-object-lookup.patch Patch5: 0005-udiskslinuxmanager-use-dbus-interface-after-free.patch Patch6: 0006-fix-CVE-2025-6019-udiskslinuxfilesystemhelpers-mount-with-nosuid-nodev.patch +Patch7: 0007-udisksctl-fix-segfault.patch BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} @@ -442,6 +443,9 @@ udevadm trigger %endif %changelog +* Fri Jul 11 2025 cenhuilin - 2.9.0-9 +- udisksctl: fix segfault + * Mon Jun 23 2025 zhangjian - 2.9.0-8 - fix CVE-2025-6019 -- Gitee