diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2018-08-07 10:10:12 +0900 |
---|---|---|
committer | Sven Eden <sven.eden@prydeworx.com> | 2018-10-29 10:18:35 +0100 |
commit | 8a61e34d01100a359e1cf36f0cde52c39cfdbb2e (patch) | |
tree | 5b6c5718b2d5e37f73bb202981b8b6b076d3b967 /src/login/logind-session.c | |
parent | 76539125582a999922632f4fb9718d7def8987c0 (diff) |
login: use free_and_replace() and TAKE_PTR()
(cherry picked from commit fb2367edd943d37f418725c90498a940016e80bd)
Diffstat (limited to 'src/login/logind-session.c')
-rw-r--r-- | src/login/logind-session.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/login/logind-session.c b/src/login/logind-session.c index 05b79685a..45b25aab0 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -579,7 +579,8 @@ static int session_start_scope(Session *s, sd_bus_message *properties) { if (!s->scope) { _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL; - char *scope, *job = NULL; + _cleanup_free_ char *scope = NULL; + char *job = NULL; const char *description; scope = strjoin("session-", s->id, ".scope"); @@ -599,16 +600,12 @@ static int session_start_scope(Session *s, sd_bus_message *properties) { properties, &error, &job); - if (r < 0) { - log_error_errno(r, "Failed to start session scope %s: %s", scope, bus_error_message(&error, r)); - free(scope); - return r; - } else { - s->scope = scope; + if (r < 0) + return log_error_errno(r, "Failed to start session scope %s: %s", scope, bus_error_message(&error, r)); - free(s->scope_job); - s->scope_job = job; - } + + s->scope = TAKE_PTR(scope); + free_and_replace(s->scope_job, job); } if (s->scope) |