Don't call audit_logout() if pwd is NULL, as audit_logout() attempts to
dereference it. This will happen if we ^D at the Login: prompt without having provided a valid login before. Set pwd to NULL on bad login attempts to prevent audit_logout() from being called for a user which didn't actually log on. Reported by: Jerome Magnin jethro at docisland dot org
This commit is contained in:
parent
11d15d51b3
commit
8f9370b050
@ -343,6 +343,8 @@ main(int argc, char *argv[])
|
||||
(void)printf("Login incorrect\n");
|
||||
failures++;
|
||||
|
||||
pwd = NULL;
|
||||
|
||||
/*
|
||||
* Allow up to 'retry' (10) attempts, but start
|
||||
* backing off after 'backoff' (3) attempts.
|
||||
@ -951,7 +953,8 @@ bail(int sec, int eval)
|
||||
{
|
||||
|
||||
pam_cleanup();
|
||||
audit_logout();
|
||||
if (pwd != NULL)
|
||||
audit_logout();
|
||||
(void)sleep(sec);
|
||||
exit(eval);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user