]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-mdb/referral.c
fix opinfo
[openldap] / servers / slapd / back-mdb / referral.c
index 1c28434f321218eb81356de7f853c6cd0f2afcab..be74c48492c675aa25be77288c2d377b6e6bb90a 100644 (file)
@@ -139,16 +139,11 @@ mdb_referrals( Operation *op, SlapReply *rs )
        }
 
 done:
-       moi->moi_ref--;
-       if ( moi->moi_ref < 1 ) {
-               if ( moi->moi_flag & MOI_READER ) {
-                       mdb_txn_reset( moi->moi_txn );
-               }       /* writers can abort themselves */
+       if ( moi == &opinfo ) {
+               mdb_txn_reset( moi->moi_txn );
                LDAP_SLIST_REMOVE( &op->o_extra, &moi->moi_oe, OpExtra, oe_next );
-               if ( moi->moi_flag & MOI_FREEIT ) {
-                       op->o_tmpfree( moi, op->o_tmpmemctx );
-               }
        }
-       mdb_entry_return( e );
+       if ( e )
+               mdb_entry_return( e );
        return rc;
 }