From: Howard Chu Date: Mon, 4 Aug 2014 20:35:02 +0000 (-0700) Subject: ITS#7915 fix mdb_entry_release X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d8c060104dadbd3045016bdc790c06a9e99abbab;p=openldap ITS#7915 fix mdb_entry_release In server mode, make sure the entry was actually ours --- diff --git a/servers/slapd/back-mdb/id2entry.c b/servers/slapd/back-mdb/id2entry.c index 6fb8801393..cb4fb85aff 100644 --- a/servers/slapd/back-mdb/id2entry.c +++ b/servers/slapd/back-mdb/id2entry.c @@ -272,11 +272,11 @@ int mdb_entry_release( /* slapMode : SLAP_SERVER_MODE, SLAP_TOOL_MODE, SLAP_TRUNCATE_MODE, SLAP_UNDEFINED_MODE */ - mdb_entry_return( op, e ); if ( slapMode & SLAP_SERVER_MODE ) { OpExtra *oex; LDAP_SLIST_FOREACH( oex, &op->o_extra, oe_next ) { if ( oex->oe_key == mdb ) { + mdb_entry_return( op, e ); moi = (mdb_op_info *)oex; /* If it was setup by entry_get we should probably free it */ if ( moi->moi_flag & MOI_FREEIT ) { @@ -291,6 +291,8 @@ int mdb_entry_release( break; } } + } else { + mdb_entry_return( op, e ); } return 0;