diff options
Diffstat (limited to 'auth.c')
-rw-r--r-- | auth.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -97,11 +97,11 @@ allowed_user(struct passwd * pw) | |||
97 | /* grab passwd field for locked account check */ | 97 | /* grab passwd field for locked account check */ |
98 | #ifdef USE_SHADOW | 98 | #ifdef USE_SHADOW |
99 | if (spw != NULL) | 99 | if (spw != NULL) |
100 | #ifdef HAVE_LIBIAF | 100 | #if defined(HAVE_LIBIAF) && !defined(BROKEN_LIBIAF) |
101 | passwd = get_iaf_password(pw); | 101 | passwd = get_iaf_password(pw); |
102 | #else | 102 | #else |
103 | passwd = spw->sp_pwdp; | 103 | passwd = spw->sp_pwdp; |
104 | #endif /* HAVE_LIBIAF */ | 104 | #endif /* HAVE_LIBIAF && !BROKEN_LIBIAF */ |
105 | #else | 105 | #else |
106 | passwd = pw->pw_passwd; | 106 | passwd = pw->pw_passwd; |
107 | #endif | 107 | #endif |
@@ -123,6 +123,9 @@ allowed_user(struct passwd * pw) | |||
123 | if (strstr(passwd, LOCKED_PASSWD_SUBSTR)) | 123 | if (strstr(passwd, LOCKED_PASSWD_SUBSTR)) |
124 | locked = 1; | 124 | locked = 1; |
125 | #endif | 125 | #endif |
126 | #if defined(HAVE_LIBIAF) && !defined(BROKEN_LIBIAF) | ||
127 | free(passwd); | ||
128 | #endif /* HAVE_LIBIAF && !BROKEN_LIBIAF */ | ||
126 | if (locked) { | 129 | if (locked) { |
127 | logit("User %.100s not allowed because account is locked", | 130 | logit("User %.100s not allowed because account is locked", |
128 | pw->pw_name); | 131 | pw->pw_name); |