summaryrefslogtreecommitdiff
path: root/libpam/pam_modutil_getlogin.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpam/pam_modutil_getlogin.c')
-rw-r--r--libpam/pam_modutil_getlogin.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libpam/pam_modutil_getlogin.c b/libpam/pam_modutil_getlogin.c
index d30f1dfa..04a20fd8 100644
--- a/libpam/pam_modutil_getlogin.c
+++ b/libpam/pam_modutil_getlogin.c
@@ -35,11 +35,17 @@ pam_modutil_getlogin(pam_handle_t *pamh)
else
curr_tty = (const char*)void_curr_tty;
- if ((curr_tty == NULL) || memcmp(curr_tty, "/dev/", 5)) {
+ if (curr_tty == NULL) {
return NULL;
}
- curr_tty += 5; /* strlen("/dev/") */
+ if (curr_tty[0] == '/') { /* full path */
+ const char *t;
+ curr_tty++;
+ if ((t = strchr(curr_tty, '/')) != NULL) {
+ curr_tty = t + 1;
+ }
+ }
logname = NULL;
setutent();