From 76539125582a999922632f4fb9718d7def8987c0 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 6 Aug 2018 21:41:54 +0200 Subject: logind: don't clobber bus error structure if we don't fail (cherry picked from commit ea3a7cf6c34163834893f1f4c7af44c8245776ac) --- src/login/logind-dbus.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 90861eab7..073bb02e8 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -3256,7 +3256,8 @@ int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, c return strdup_job(reply, job); } -int manager_abandon_scope(Manager *manager, const char *scope, sd_bus_error *error) { +int manager_abandon_scope(Manager *manager, const char *scope, sd_bus_error *ret_error) { + _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; _cleanup_free_ char *path = NULL; int r; @@ -3273,17 +3274,16 @@ int manager_abandon_scope(Manager *manager, const char *scope, sd_bus_error *err path, "org.freedesktop.systemd1.Scope", "Abandon", - error, + &error, NULL, NULL); if (r < 0) { - if (sd_bus_error_has_name(error, BUS_ERROR_NO_SUCH_UNIT) || - sd_bus_error_has_name(error, BUS_ERROR_LOAD_FAILED) || - sd_bus_error_has_name(error, BUS_ERROR_SCOPE_NOT_RUNNING)) { - sd_bus_error_free(error); + if (sd_bus_error_has_name(&error, BUS_ERROR_NO_SUCH_UNIT) || + sd_bus_error_has_name(&error, BUS_ERROR_LOAD_FAILED) || + sd_bus_error_has_name(&error, BUS_ERROR_SCOPE_NOT_RUNNING)) return 0; - } + sd_bus_error_move(ret_error, &error); return r; } -- cgit v1.2.3