From db6b293046aee4735f3aa2d1713742ed4b533219 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 22 Jul 2020 11:47:55 +0200 Subject: Fix missing initialization of daysleft The daysleft otherwise stays uninitialized if there is no shadow entry. Regression from commit f5adefa. Fixes #255 * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Initialize daysleft. --- modules/pam_unix/pam_unix_acct.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/pam_unix/pam_unix_acct.c') diff --git a/modules/pam_unix/pam_unix_acct.c b/modules/pam_unix/pam_unix_acct.c index de8d65c1..f46f2308 100644 --- a/modules/pam_unix/pam_unix_acct.c +++ b/modules/pam_unix/pam_unix_acct.c @@ -189,7 +189,7 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv) unsigned long long ctrl; const void *void_uname; const char *uname; - int retval, daysleft; + int retval, daysleft = -1; char buf[256]; D(("called.")); -- cgit v1.2.3 From e8113766910eb0f512132bfcaec744ad7351c224 Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 22 Jul 2020 11:50:23 +0200 Subject: pam_unix: Add comment for the ignored PAM_AUTHTOK_ERR case * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Add comment about the reason for ignoring PAM_AUTHTOK_ERR. --- modules/pam_unix/pam_unix_acct.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'modules/pam_unix/pam_unix_acct.c') diff --git a/modules/pam_unix/pam_unix_acct.c b/modules/pam_unix/pam_unix_acct.c index f46f2308..8f5ed3e0 100644 --- a/modules/pam_unix/pam_unix_acct.c +++ b/modules/pam_unix/pam_unix_acct.c @@ -252,6 +252,10 @@ pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv) _("Your account has expired; please contact your system administrator.")); break; case PAM_AUTHTOK_ERR: + /* + * We ignore "password changed too early" error + * as it is relevant only for password change. + */ retval = PAM_SUCCESS; /* fallthrough */ case PAM_SUCCESS: -- cgit v1.2.3