From: Howard Chu Date: Mon, 14 Mar 2005 19:04:05 +0000 (+0000) Subject: ITS#3559 - import fix from HEAD X-Git-Tag: OPENLDAP_REL_ENG_2_2_24~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f5cd9ed1f96acb67c75bd78f1885ccf869bf330;p=thirdparty%2Fopenldap.git ITS#3559 - import fix from HEAD --- diff --git a/servers/slapd/back-bdb/dn2id.c b/servers/slapd/back-bdb/dn2id.c index 91ab7f0ea8..8f90b8ad68 100644 --- a/servers/slapd/back-bdb/dn2id.c +++ b/servers/slapd/back-bdb/dn2id.c @@ -930,15 +930,6 @@ hdb_dn2idl_internal( struct dn2id_cookie *cx ) { - if ( cx->bdb->bi_idl_cache_size ) { - cx->rc = bdb_idl_cache_get(cx->bdb, cx->db, &cx->key, cx->tmp); - if ( cx->rc == DB_NOTFOUND ) { - return cx->rc; - } - if ( cx->rc == LDAP_SUCCESS ) { - goto gotit; - } - } BDB_IDL_ZERO( cx->tmp ); if ( !cx->ei ) { @@ -949,6 +940,16 @@ hdb_dn2idl_internal( } } + if ( cx->bdb->bi_idl_cache_size ) { + cx->rc = bdb_idl_cache_get(cx->bdb, cx->db, &cx->key, cx->tmp); + if ( cx->rc == DB_NOTFOUND ) { + return cx->rc; + } + if ( cx->rc == LDAP_SUCCESS ) { + goto gotit; + } + } + bdb_cache_entryinfo_lock( cx->ei ); /* If number of kids in the cache differs from on-disk, load