summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2002-05-23 00:02:59 +0000
committerdes <des@FreeBSD.org>2002-05-23 00:02:59 +0000
commit33ce52c25a930dc60063c3559f040cb41f8e80b7 (patch)
treeffb037288576f4d0d8f4900d17953921f53be2ad /lib
parentf49de037592adf9327e7645dd13996bd0ea7d842 (diff)
downloadFreeBSD-src-33ce52c25a930dc60063c3559f040cb41f8e80b7.zip
FreeBSD-src-33ce52c25a930dc60063c3559f040cb41f8e80b7.tar.gz
Hide a couple of unguarded error returns behind the no_fail test.
Diffstat (limited to 'lib')
-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 ac892c3..5e74967 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
OpenPOWER on IntegriCloud