mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 08:39:37 -05:00
ITS#4223 don't store negative results in IDL cache
This commit is contained in:
parent
22f05c6785
commit
a0d9bd7890
2 changed files with 7 additions and 7 deletions
|
|
@ -1006,7 +1006,7 @@ synced:
|
|||
|
||||
if ( !BDB_IDL_IS_RANGE( cx->tmp ) && cx->tmp[0] > 3 )
|
||||
bdb_idl_sort( cx->tmp, cx->buf );
|
||||
if ( cx->bdb->bi_idl_cache_max_size ) {
|
||||
if ( cx->bdb->bi_idl_cache_max_size && !BDB_IDL_IS_ZERO( cx->tmp )) {
|
||||
char *ptr = ((char *)&cx->id)-1;
|
||||
cx->key.data = ptr;
|
||||
cx->key.size = sizeof(ID)+1;
|
||||
|
|
|
|||
|
|
@ -325,17 +325,17 @@ bdb_idl_cache_put(
|
|||
bdb_idl_cache_entry_t idl_tmp;
|
||||
bdb_idl_cache_entry_t *ee;
|
||||
|
||||
if ( rc == DB_NOTFOUND || BDB_IDL_IS_ZERO( ids ))
|
||||
return;
|
||||
|
||||
DBT2bv( key, &idl_tmp.kstr );
|
||||
|
||||
ee = (bdb_idl_cache_entry_t *) ch_malloc(
|
||||
sizeof( bdb_idl_cache_entry_t ) );
|
||||
ee->db = db;
|
||||
if ( rc == DB_NOTFOUND || BDB_IDL_IS_ZERO( ids )) {
|
||||
ee->idl = NULL;
|
||||
} else {
|
||||
ee->idl = (ID*) ch_malloc( BDB_IDL_SIZEOF ( ids ) );
|
||||
BDB_IDL_CPY( ee->idl, ids );
|
||||
}
|
||||
ee->idl = (ID*) ch_malloc( BDB_IDL_SIZEOF ( ids ) );
|
||||
BDB_IDL_CPY( ee->idl, ids );
|
||||
|
||||
ee->idl_lru_prev = NULL;
|
||||
ee->idl_lru_next = NULL;
|
||||
ber_dupbv( &ee->kstr, &idl_tmp.kstr );
|
||||
|
|
|
|||
Loading…
Reference in a new issue