From: Daan De Meyer Date: Thu, 28 Mar 2024 16:05:33 +0000 (+0100) Subject: login: Fix fallback error handling X-Git-Tag: v256-rc1~364 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=838235be870e93284392501a4ccce16173d055a9;p=thirdparty%2Fsystemd.git login: Fix fallback error handling --- diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 5d27491af3a..ee64d9a81a9 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);