]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldap/extended.c
Use struct berval * instead of ** for newpasswd
[openldap] / servers / slapd / back-ldap / extended.c
index f5c5df81d6cda1528b58a6435762a50b21f15e5d..47a1f1b6c5a16b31725787bac8d2f850831e1564 100644 (file)
@@ -72,7 +72,7 @@ ldap_back_exop_passwd(
        struct berval id = { 0, NULL };
        struct berval old = { 0, NULL };
        struct berval new = { 0, NULL };
-       struct berval dn, mdn = { 0, NULL }, *newpw = NULL;
+       struct berval dn, mdn = { 0, NULL }, newpw;
        LDAPMessage *res;
        ber_int_t msgid;
        char *msg = NULL, *match = NULL;
@@ -156,9 +156,9 @@ ldap_back_exop_passwd(
                        if (rc == LDAP_SUCCESS) {
                                if (err == LDAP_SUCCESS) {
                                        rc = ldap_parse_passwd(lc->ld, res, &newpw);
-                                       if (rc == LDAP_SUCCESS && newpw) {
-                                               *rspdata = slap_passwd_return(newpw);
-                                               ber_bvfree(newpw);
+                                       if (rc == LDAP_SUCCESS && newpw.bv_val) {
+                                               *rspdata = slap_passwd_return(&newpw);
+                                               free(newpw.bv_val);
                                        }
                                } else {
                                        rc = err;