From: Howard Chu Date: Fri, 26 Aug 2011 19:02:20 +0000 (-0700) Subject: Minor fixes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c104c30057252205725373d094d774b855d51799;p=thirdparty%2Fopenldap.git Minor fixes --- diff --git a/servers/slapd/back-mdb/tools.c b/servers/slapd/back-mdb/tools.c index b1f5100115..285ad2ed7c 100644 --- a/servers/slapd/back-mdb/tools.c +++ b/servers/slapd/back-mdb/tools.c @@ -142,6 +142,7 @@ int mdb_tool_entry_close( if( txn ) { if ( mdb_txn_commit( txn )) return -1; + txn = NULL; } if( nholes ) { @@ -151,6 +152,7 @@ int mdb_tool_entry_close( fprintf(stderr, " entry %ld: %s\n", holes[i].id, holes[i].dn.bv_val); } + nholes = 0; return -1; } @@ -242,6 +244,7 @@ ID mdb_tool_dn2id_get( struct berval *dn ) { + struct mdb_info *mdb; Operation op = {0}; Opheader ohdr = {0}; ID id; @@ -250,6 +253,14 @@ ID mdb_tool_dn2id_get( if ( BER_BVISEMPTY(dn) ) return 0; + mdb = (struct mdb_info *) be->be_private; + + if ( !txn ) { + rc = mdb_txn_begin( mdb->mi_dbenv, (slapMode & SLAP_TOOL_READONLY) != 0, &txn ); + if ( rc ) + return NOID; + } + op.o_hdr = &ohdr; op.o_bd = be; op.o_tmpmemctx = NULL;