diff --git a/servers/slapd/back-bdb/modrdn.c b/servers/slapd/back-bdb/modrdn.c index bb6dea16f3fdd2827c07a187c993ba3aa15d1c9a..ffb2a3a8911e0572b312092fcfa5d7f2e63523e0 100644 --- a/servers/slapd/back-bdb/modrdn.c +++ b/servers/slapd/back-bdb/modrdn.c @@ -303,11 +303,11 @@ retry: /* transaction retry */ dnParent( &e->e_nname, &p_ndn ); } np_ndn = &p_ndn; - if ( p_ndn.bv_len != 0 ) { + eip = ei->bei_parent; + if ( eip && eip->bei_id ) { /* Make sure parent entry exist and we can write its * children. */ - eip = ei->bei_parent; rs->sr_err = bdb_cache_find_id( op, ltid, eip->bei_id, &eip, 0, locker, &plock );