aboutsummaryrefslogtreecommitdiff
path: root/lib/libpam
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2002-05-23 00:02:59 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2002-05-23 00:02:59 +0000
commit2569c273c7dcd2823304c32ef7ff81ca1b73c2bc (patch)
treeffb037288576f4d0d8f4900d17953921f53be2ad /lib/libpam
parent816c6c91e2a753b26fa003bf03fe442a4f5ff083 (diff)
Notes
Diffstat (limited to 'lib/libpam')
-rw-r--r--lib/libpam/modules/pam_lastlog/pam_lastlog.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/libpam/modules/pam_lastlog/pam_lastlog.c b/lib/libpam/modules/pam_lastlog/pam_lastlog.c
index ac892c3611944..5e749675f285f 100644
--- a/lib/libpam/modules/pam_lastlog/pam_lastlog.c
+++ b/lib/libpam/modules/pam_lastlog/pam_lastlog.c
@@ -84,11 +84,10 @@ pam_sm_open_session(pam_handle_t *pamh, int flags,
pam_err = pam_get_item(pamh, PAM_RHOST, (const void **)&rhost);
if (pam_err != PAM_SUCCESS)
- return (pam_err);
-
+ goto err;
pam_err = pam_get_item(pamh, PAM_TTY, (const void **)&tty);
if (pam_err != PAM_SUCCESS)
- return (pam_err);
+ goto err;
if (tty == NULL)
return (PAM_SERVICE_ERR);
if (strncmp(tty, _PATH_DEV, strlen(_PATH_DEV)) == 0)
@@ -149,13 +148,15 @@ pam_sm_open_session(pam_handle_t *pamh, int flags,
return (PAM_SUCCESS);
- file_err:
+file_err:
syslog(LOG_ERR, "%s: %m", _PATH_LASTLOG);
if (fd != -1)
close(fd);
+ pam_err = PAM_SYSTEM_ERR;
+err:
if (openpam_get_option(pamh, "no_fail"))
return (PAM_SUCCESS);
- return (PAM_SERVICE_ERR);
+ return (pam_err);
}
PAM_EXTERN int