From d05b0be4bb8078f70ecafabfff7e832ec4e3a707 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sun, 14 Jul 2019 06:46:13 -0700 Subject: [PATCH] ITS#7657 back-mdb improve alias deref Don't search for scopes of entries with no children --- servers/slapd/back-mdb/dn2id.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/servers/slapd/back-mdb/dn2id.c b/servers/slapd/back-mdb/dn2id.c index 1ac804f227..bdb3086df7 100644 --- a/servers/slapd/back-mdb/dn2id.c +++ b/servers/slapd/back-mdb/dn2id.c @@ -641,6 +641,22 @@ mdb_idscope( rc = mdb_cursor_open( txn, dbi, &cursor ); if ( rc ) return rc; + /* first see if base has any children at all */ + key.mv_data = &base; + rc = mdb_cursor_get( cursor, &key, &data, MDB_SET ); + if ( rc ) { + goto leave; + } + { + size_t dkids; + rc = mdb_cursor_count( cursor, &dkids ); + if ( rc == 0 ) { + if ( dkids < 2 ) { + goto leave; + } + } + } + ida = mdb_idl_first( ids, &cid ); /* Don't bother moving out of ids if it's a range */ -- 2.47.2