From: David Tardon Date: Fri, 21 Apr 2023 13:15:38 +0000 (+0200) Subject: manager: use _cleanup_ in manager_propagate_reload() X-Git-Tag: v254-rc1~603^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32620826cf76d6de4f435bfba84d0a7f0d5207f1;p=thirdparty%2Fsystemd.git manager: use _cleanup_ in manager_propagate_reload() --- diff --git a/src/core/manager.c b/src/core/manager.c index 97e9f492dc9..ce9b27ece79 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -2112,7 +2112,7 @@ int manager_add_job_by_name_and_warn(Manager *m, JobType type, const char *name, int manager_propagate_reload(Manager *m, Unit *unit, JobMode mode, sd_bus_error *e) { int r; - Transaction *tr; + _cleanup_(transaction_abort_and_freep) Transaction *tr = NULL; assert(m); assert(unit); @@ -2126,22 +2126,17 @@ int manager_propagate_reload(Manager *m, Unit *unit, JobMode mode, sd_bus_error /* We need an anchor job */ r = transaction_add_job_and_dependencies(tr, JOB_NOP, unit, NULL, false, false, true, true, e); if (r < 0) - goto tr_abort; + return r; /* Failure in adding individual dependencies is ignored, so this always succeeds. */ transaction_add_propagate_reload_jobs(tr, unit, tr->anchor_job, mode == JOB_IGNORE_DEPENDENCIES, e); r = transaction_activate(tr, m, mode, NULL, e); if (r < 0) - goto tr_abort; + return r; - transaction_free(tr); + tr = transaction_free(tr); return 0; - -tr_abort: - transaction_abort(tr); - transaction_free(tr); - return r; } Job *manager_get_job(Manager *m, uint32_t id) {