From: Howard Chu Date: Fri, 26 Aug 2011 20:29:11 +0000 (-0700) Subject: Fix parent check X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=74265d98cae9094514a523de1c52050a5cbe479b;p=openldap Fix parent check --- diff --git a/servers/slapd/back-mdb/add.c b/servers/slapd/back-mdb/add.c index 517f476cbf..2254839f0f 100644 --- a/servers/slapd/back-mdb/add.c +++ b/servers/slapd/back-mdb/add.c @@ -166,8 +166,8 @@ txnReturn: if ( !bvmatch( &pdn, &p->e_nname ) ) { rs->sr_matched = ber_strdup_x( p->e_name.bv_val, op->o_tmpmemctx ); - rs->sr_ref = is_entry_referral( p ) - ? get_entry_referrals( op, p ) + rs->sr_ref = p != (Entry *)&slap_entry_root && + is_entry_referral( p ) ? get_entry_referrals( op, p ) : NULL; if ( p != (Entry *)&slap_entry_root ) mdb_entry_return( p ); @@ -245,7 +245,7 @@ txnReturn: /* parent must be an administrative point of the required kind */ } - /* free parent and reader lock */ + /* free parent */ if ( p != (Entry *)&slap_entry_root ) { pid = p->e_id; if ( p->e_nname.bv_len ) {