summaryrefslogtreecommitdiffstats
path: root/service_passwords.c
diff options
context:
space:
mode:
Diffstat (limited to 'service_passwords.c')
-rw-r--r--service_passwords.c7
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;
}