diff --git a/servers/slapd/back-bdb/add.c b/servers/slapd/back-bdb/add.c index e18feb33eb..b44f86fe64 100644 --- a/servers/slapd/back-bdb/add.c +++ b/servers/slapd/back-bdb/add.c @@ -305,7 +305,8 @@ retry: /* transaction retry */ dnRdn( &op->ora_e->e_name, &rdn ); build_new_dn( &newdn, &p->e_name, &rdn, NULL ); - ber_memfree( op->ora_e->e_name.bv_val ); + if ( op->ora_e->e_name.bv_val != op->o_req_dn.bv_val ) + ber_memfree( op->ora_e->e_name.bv_val ); op->ora_e->e_name = newdn; /* FIXME: should check whether