summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/login/logind-session.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/login/logind-session.c b/src/login/logind-session.c
index 0c6e425603..58453b516f 100644
--- a/src/login/logind-session.c
+++ b/src/login/logind-session.c
@@ -1114,8 +1114,10 @@ int session_set_controller(Session *s, const char *sender, bool force) {
* If logind crashes/restarts, we restore the controller during restart
* or reset the VT in case it crashed/exited, too. */
r = session_prepare_vt(s);
- if (r < 0)
+ if (r < 0) {
+ free(t);
return r;
+ }
session_swap_controller(s, t);