From: David Tardon Date: Fri, 21 Apr 2023 13:14:17 +0000 (+0200) Subject: manager: use _cleanup_ in manager_add_job() X-Git-Tag: v254-rc1~603^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c7e3eb5dd52fa574d97ba5abdef2c8af8a1839e9;p=thirdparty%2Fsystemd.git manager: use _cleanup_ in manager_add_job() --- 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) {