From: Howard Chu Date: Fri, 26 Aug 2011 08:18:49 +0000 (-0700) Subject: Fix mdb_entry_get X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a6b9ea1a3274ee0525a060821db45ac5725861d;p=thirdparty%2Fopenldap.git Fix mdb_entry_get --- diff --git a/servers/slapd/back-mdb/id2entry.c b/servers/slapd/back-mdb/id2entry.c index 2fe8d1495f..162845b793 100644 --- a/servers/slapd/back-mdb/id2entry.c +++ b/servers/slapd/back-mdb/id2entry.c @@ -210,7 +210,7 @@ int mdb_entry_get( "=> mdb_entry_get: oc: \"%s\", at: \"%s\"\n", oc ? oc->soc_cname.bv_val : "(null)", at_name, 0); - rc = mdb_opinfo_get( op, mdb, 0, &moi ); + rc = mdb_opinfo_get( op, mdb, rw == 0, &moi ); if ( rc ) return LDAP_OTHER; txn = moi->moi_txn; @@ -391,6 +391,8 @@ mdb_opinfo_get( Operation *op, struct mdb_info *mdb, int rdonly, mdb_op_info **m mdb_txn_renew( moi->moi_txn ); } moi->moi_ref++; + if ( !*moip != moi ) + *moip = moi; return 0; }