summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2016-01-19 03:38:20 +0100
committerAlexander Sulfrian <alex@spline.inf.fu-berlin.de>2016-01-19 03:58:49 +0100
commit291bf91743ace5065a6997cbb2a4f7d6933962a1 (patch)
tree2c15ff1589d842d869773665c891b01b4a6f74c2
parent2d248a4dd84f8548a43e295413050d930976979e (diff)
downloadldap-plugin-291bf91743ace5065a6997cbb2a4f7d6933962a1.tar.gz
ldap-plugin-291bf91743ace5065a6997cbb2a4f7d6933962a1.tar.bz2
ldap-plugin-291bf91743ace5065a6997cbb2a4f7d6933962a1.zip
Use Slapi_RDN to build the new DN
-rw-r--r--service_passwords.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/service_passwords.c b/service_passwords.c
index a43dbf6..d150e45 100644
--- a/service_passwords.c
+++ b/service_passwords.c
@@ -368,13 +368,16 @@ static Slapi_Entry *entry_dup_new_dn(Slapi_Entry *entry, char *dn)
static Slapi_Entry *prepend_service_prefix(Slapi_Entry *entry, char *service)
{
Slapi_Entry *new_entry = NULL;
- char rdn[255] = {0};
+ Slapi_RDN *rdn = NULL;
char *old_dn = NULL;
char *new_dn = NULL;
old_dn = slapi_entry_get_dn(entry);
- snprintf(rdn, 254, "cn=%s", service);
- new_dn = slapi_dn_plus_rdn(old_dn, rdn);
+
+ rdn = slapi_rdn_new();
+ slapi_rdn_add(rdn, "cn", service);
+ new_dn = slapi_dn_plus_rdn(old_dn, slapi_rdn_get_rdn(rdn));
+ slapi_rdn_free(&rdn);
new_entry = entry_dup_new_dn(entry, new_dn);
slapi_ch_free_string(&new_dn);