summaryrefslogtreecommitdiff
path: root/daemon/gdm-session-worker.c
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2018-08-07 15:33:25 -0400
committerRay Strode <halfline@gmail.com>2018-08-08 14:25:14 +0000
commit4efc03430ff1d6806591899d8b0645b257d341e9 (patch)
tree760f357c3b1e13e68f992dacf7b06e444b2b8d3e /daemon/gdm-session-worker.c
parent846ea879151d6bc6aec184b03fa2bb4e1f886175 (diff)
downloadgdm-4efc03430ff1d6806591899d8b0645b257d341e9.tar.gz
session-worker: don't set PAM_TTY to bogus value on failure
At the moment we set PAM_TTY to a bogus value if we're unable to read the current VT. This commit adds an error check for that case.
Diffstat (limited to 'daemon/gdm-session-worker.c')
-rw-r--r--daemon/gdm-session-worker.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index d211cdb1..bcddc948 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -1220,9 +1220,10 @@ gdm_session_worker_initialize_pam (GdmSessionWorker *worker,
/* Temporarily set PAM_TTY with the currently active VT (login screen)
PAM_TTY will be reset with the users VT right before the user session is opened */
- ensure_login_vt (worker);
- g_snprintf (tty_string, 256, "/dev/tty%d", worker->priv->login_vt);
- pam_set_item (worker->priv->pam_handle, PAM_TTY, tty_string);
+ if (ensure_login_vt (worker)) {
+ g_snprintf (tty_string, 256, "/dev/tty%d", worker->priv->login_vt);
+ pam_set_item (worker->priv->pam_handle, PAM_TTY, tty_string);
+ }
if (!display_is_local)
worker->priv->password_is_required = TRUE;