diff options
Diffstat (limited to 'src/grp-login/systemd-logind/logind-seat.c')
-rw-r--r-- | src/grp-login/systemd-logind/logind-seat.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/grp-login/systemd-logind/logind-seat.c b/src/grp-login/systemd-logind/logind-seat.c index 5bb9ed6226..ea5513bea5 100644 --- a/src/grp-login/systemd-logind/logind-seat.c +++ b/src/grp-login/systemd-logind/logind-seat.c @@ -49,18 +49,15 @@ Seat *seat_new(Manager *m, const char *id) { return NULL; s->state_file = strappend("/run/systemd/seats/", id); - if (!s->state_file) { - free(s); - return NULL; - } + if (!s->state_file) + return mfree(s); s->id = basename(s->state_file); s->manager = m; if (hashmap_put(m->seats, s->id, s) < 0) { free(s->state_file); - free(s); - return NULL; + return mfree(s); } return s; |