From: Howard Chu Date: Thu, 25 Aug 2011 10:04:00 +0000 (-0700) Subject: Fix for dn2entry NULL result X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eae1a9bac5e199c91f0aaa5975d821a833c0cc7f;p=thirdparty%2Fopenldap.git Fix for dn2entry NULL result --- diff --git a/servers/slapd/back-mdb/delete.c b/servers/slapd/back-mdb/delete.c index 30edd4ec27..da6d066569 100644 --- a/servers/slapd/back-mdb/delete.c +++ b/servers/slapd/back-mdb/delete.c @@ -136,19 +136,19 @@ txnReturn: "<=- " LDAP_XSTRING(mdb_delete) ": no such object %s\n", op->o_req_dn.bv_val, 0, 0); - if ( !BER_BVISEMPTY( &p->e_name )) { + if ( p && !BER_BVISEMPTY( &p->e_name )) { rs->sr_matched = ch_strdup( p->e_name.bv_val ); - rs->sr_ref = ( p && is_entry_referral( p )) + rs->sr_ref = ( is_entry_referral( p )) ? get_entry_referrals( op, p ) : NULL; - if ( p ) { - mdb_entry_return( p ); - p = NULL; - } } else { rs->sr_ref = referral_rewrite( default_referral, NULL, &op->o_req_dn, LDAP_SCOPE_DEFAULT ); } + if ( p ) { + mdb_entry_return( p ); + p = NULL; + } rs->sr_err = LDAP_REFERRAL; rs->sr_flags = REP_MATCHED_MUSTBEFREED | REP_REF_MUSTBEFREED;