From cb253241dd5cd815e4d378600aa695dada90c450 Mon Sep 17 00:00:00 2001 From: cenhuilin Date: Fri, 11 Jul 2025 09:31:46 +0800 Subject: [PATCH] udisksctl: fix segfault --- 0005-udisksctl-fix-segfault.patch | 44 +++++++++++++++++++++++++++++++ udisks2.spec | 6 ++++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 0005-udisksctl-fix-segfault.patch diff --git a/0005-udisksctl-fix-segfault.patch b/0005-udisksctl-fix-segfault.patch new file mode 100644 index 0000000..d0d79ae --- /dev/null +++ b/0005-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:24:25 +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 349dca3..1d8585a 100644 +--- a/tools/udisksctl.c ++++ b/tools/udisksctl.c +@@ -2139,6 +2139,7 @@ handle_command_power_off (gint *argc, + GVariant *options; + GVariantBuilder builder; + GError *error; ++ UDisksDrive *proxy; + + ret = 1; + opt_power_off_object_path = NULL; +@@ -2290,7 +2291,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 850502f..681055e 100644 --- a/udisks2.spec +++ b/udisks2.spec @@ -58,7 +58,7 @@ Name: udisks2 Summary: Disk Manager Version: 2.9.4 -Release: 7 +Release: 8 License: GPL-2.0+ and LGPL-2.0+ Group: System Environment/Libraries URL: https://github.com/storaged-project/udisks @@ -67,6 +67,7 @@ Patch1: 0001-udiskslinuxmountoptions-Do-not-free-static-daemon-resources.patch Patch2: 0002-udisksctl-Guard-object-lookup.patch Patch3: 0003-udiskslinuxmanager-use-dbus-interface-after-free.patch Patch4: 0004-fix-CVE-2025-6019-udiskslinuxfilesystemhelpers-mount-with-nosuid-nodev.patch +Patch5: 0005-udisksctl-fix-segfault.patch BuildRequires: glib2-devel >= %{glib2_version} BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version} @@ -439,6 +440,9 @@ udevadm trigger %endif %changelog +* Fri Jul 11 2025 cenhuilin - 2.9.4-8 +- udisksctl: fix segfault + * Mon Jun 23 2025 zhangjian - 2.9.4-7 - fix cve-2025-6019 -- Gitee