diff options
author | des <des@FreeBSD.org> | 2002-05-23 00:02:59 +0000 |
---|---|---|
committer | des <des@FreeBSD.org> | 2002-05-23 00:02:59 +0000 |
commit | 33ce52c25a930dc60063c3559f040cb41f8e80b7 (patch) | |
tree | ffb037288576f4d0d8f4900d17953921f53be2ad /lib/libpam/modules | |
parent | f49de037592adf9327e7645dd13996bd0ea7d842 (diff) | |
download | FreeBSD-src-33ce52c25a930dc60063c3559f040cb41f8e80b7.zip FreeBSD-src-33ce52c25a930dc60063c3559f040cb41f8e80b7.tar.gz |
Hide a couple of unguarded error returns behind the no_fail test.
Diffstat (limited to 'lib/libpam/modules')
-rw-r--r-- | lib/libpam/modules/pam_lastlog/pam_lastlog.c | 11 |
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 |