From c7e3eb5dd52fa574d97ba5abdef2c8af8a1839e9 Mon Sep 17 00:00:00 2001 From: David Tardon Date: Fri, 21 Apr 2023 15:14:17 +0200 Subject: [PATCH] manager: use _cleanup_ in manager_add_job() --- src/core/manager.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/core/manager.c b/src/core/manager.c index 94416665ec5..97e9f492dc9 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -2019,7 +2019,7 @@ int manager_add_job( sd_bus_error *error, Job **ret) { - Transaction *tr; + _cleanup_(transaction_abort_and_freep) Transaction *tr = NULL; int r; assert(m); @@ -2048,23 +2048,23 @@ int manager_add_job( IN_SET(mode, JOB_IGNORE_DEPENDENCIES, JOB_IGNORE_REQUIREMENTS), mode == JOB_IGNORE_DEPENDENCIES, error); if (r < 0) - goto tr_abort; + return r; if (mode == JOB_ISOLATE) { r = transaction_add_isolate_jobs(tr, m); if (r < 0) - goto tr_abort; + return r; } if (mode == JOB_TRIGGERING) { r = transaction_add_triggering_jobs(tr, unit); if (r < 0) - goto tr_abort; + return r; } r = transaction_activate(tr, m, mode, affected_jobs, error); if (r < 0) - goto tr_abort; + return r; log_unit_debug(unit, "Enqueued job %s/%s as %u", unit->id, @@ -2073,13 +2073,8 @@ int manager_add_job( if (ret) *ret = tr->anchor_job; - transaction_free(tr); + tr = transaction_free(tr); return 0; - -tr_abort: - transaction_abort(tr); - transaction_free(tr); - return r; } int manager_add_job_by_name(Manager *m, JobType type, const char *name, JobMode mode, Set *affected_jobs, sd_bus_error *e, Job **ret) { -- 2.47.3