diff options
author | Steve Langasek <vorlon@debian.org> | 2019-01-22 14:54:11 -0800 |
---|---|---|
committer | Steve Langasek <vorlon@debian.org> | 2019-01-22 14:54:11 -0800 |
commit | f00afb1ef201b2eef7f9ddbe5a0c6ca802cf49bb (patch) | |
tree | 402838c53047b0e21466a653ae88d86a8e4b7b65 /modules/pam_echo/pam_echo.c | |
parent | 795badba7f95e737f979917859cd32c9bd47bcad (diff) | |
parent | 1cad9fb2a0d729c5b5e5aa7297c521df7d5a2d33 (diff) | |
download | pam-f00afb1ef201b2eef7f9ddbe5a0c6ca802cf49bb.tar.gz pam-f00afb1ef201b2eef7f9ddbe5a0c6ca802cf49bb.tar.bz2 pam-f00afb1ef201b2eef7f9ddbe5a0c6ca802cf49bb.zip |
New upstream version 1.3.0
Diffstat (limited to 'modules/pam_echo/pam_echo.c')
-rw-r--r-- | modules/pam_echo/pam_echo.c | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/modules/pam_echo/pam_echo.c b/modules/pam_echo/pam_echo.c index 043ff703..8e3d35f9 100644 --- a/modules/pam_echo/pam_echo.c +++ b/modules/pam_echo/pam_echo.c @@ -180,16 +180,23 @@ pam_echo (pam_handle_t *pamh, int flags, int argc, const char **argv) /* load file into message buffer. */ if ((fstat (fd, &st) < 0) || !st.st_size) - return PAM_IGNORE; + { + close (fd); + return PAM_IGNORE; + } mtmp = malloc (st.st_size + 1); if (!mtmp) - return PAM_BUF_ERR; + { + close (fd); + return PAM_BUF_ERR; + } if (pam_modutil_read (fd, mtmp, st.st_size) == -1) { pam_syslog (pamh, LOG_ERR, "Error while reading %s: %m", file); free (mtmp); + close (fd); return PAM_IGNORE; } @@ -254,19 +261,3 @@ pam_sm_chauthtok (pam_handle_t *pamh, int flags, int argc, else return PAM_IGNORE; } - -#ifdef PAM_STATIC - -/* static module data */ - -struct pam_module _pam_echo_modstruct = { - "pam_echo", - pam_sm_authenticate, - pam_sm_setcred, - pam_sm_acct_mgmt, - pam_sm_open_session, - pam_sm_close_session, - pam_sm_chauthtok, -}; - -#endif |