From 838235be870e93284392501a4ccce16173d055a9 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Thu, 28 Mar 2024 17:05:33 +0100 Subject: [PATCH] login: Fix fallback error handling --- src/login/logind-dbus.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 5d27491af3..ee64d9a81a 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -4241,6 +4241,7 @@ int manager_start_scope( char **ret_job) { _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL, *reply = NULL; + _cleanup_(sd_bus_error_free) sd_bus_error e = SD_BUS_ERROR_NULL; int r; assert(manager); @@ -4330,12 +4331,12 @@ int manager_start_scope( if (r < 0) return r; - r = sd_bus_call(manager->bus, m, 0, error, &reply); + r = sd_bus_call(manager->bus, m, 0, &e, &reply); if (r < 0) { /* If this failed with a property we couldn't write, this is quite likely because the server * doesn't support PIDFDs yet, let's try without. */ if (allow_pidfd && - sd_bus_error_has_names(error, SD_BUS_ERROR_UNKNOWN_PROPERTY, SD_BUS_ERROR_PROPERTY_READ_ONLY)) + sd_bus_error_has_names(&e, SD_BUS_ERROR_UNKNOWN_PROPERTY, SD_BUS_ERROR_PROPERTY_READ_ONLY)) return manager_start_scope( manager, scope, @@ -4350,7 +4351,7 @@ int manager_start_scope( error, ret_job); - return r; + return sd_bus_error_move(error, &e); } return strdup_job(reply, ret_job); -- 2.25.1