diff options
Diffstat (limited to 'service_passwords.c')
-rw-r--r-- | service_passwords.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/service_passwords.c b/service_passwords.c index 82dc190..e515fe6 100644 --- a/service_passwords.c +++ b/service_passwords.c @@ -158,6 +158,8 @@ static int auth_with_password_fallback(char *dn, struct berval *credentials) /* fallback to parent dn */ parent_dn = slapi_dn_parent(dn); rc = auth(parent_dn, credentials); + slapi_ch_free_string(&parent_dn); + if (rc == 0) { /* auth success */ return 0; @@ -219,7 +221,10 @@ static int pre_bind(Slapi_PBlock *pb) } parent_dn = slapi_dn_parent(dn); - if (dn_contains_uid(parent_dn) != 0) { + rc |= dn_contains_uid(parent_dn); + slapi_ch_free_string(&parent_dn); + + if (rc != 0) { /* parent_dn is not an user, so we ignore this bind request. */ return 0; } |