]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/modrdn.c
Sync back-bdb with HEAD
[openldap] / servers / slapd / back-bdb / modrdn.c
index 422420dcafc84e0c2d582fe274b073b1fff3bf9b..6a25d2882d0d49ac1844bc5c8b812039fde36463 100644 (file)
@@ -796,22 +796,13 @@ done:
        if ( new_rdn != NULL ) {
                ldap_rdnfree_x( new_rdn, op->o_tmpmemctx );
        }
+
        if ( old_rdn != NULL ) {
                ldap_rdnfree_x( old_rdn, op->o_tmpmemctx );
        }
+
        if( mod != NULL ) {
-               Modifications *tmp;
-               for (; mod; mod=tmp ) {
-                       tmp = mod->sml_next;
-                       /* slap_modrdn2mods does things one way,
-                        * slap_mods_opattrs does it differently
-                        */
-                       if ( mod->sml_op != SLAP_MOD_SOFTADD &&
-                               mod->sml_op != LDAP_MOD_DELETE ) break;
-                       if ( mod->sml_nvalues ) free( mod->sml_nvalues[0].bv_val );
-                       free( mod );
-               }
-               slap_mods_free( mod, 1 );
+               slap_modrdn2mods_free( mod );
        }
 
        /* LDAP v3 Support */