diff options
Diffstat (limited to 'source3/lib/ldb/ldb_tdb')
-rw-r--r-- | source3/lib/ldb/ldb_tdb/ldb_index.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/lib/ldb/ldb_tdb/ldb_index.c b/source3/lib/ldb/ldb_tdb/ldb_index.c index 2a862c02d6..d7a8e5e9b5 100644 --- a/source3/lib/ldb/ldb_tdb/ldb_index.c +++ b/source3/lib/ldb/ldb_tdb/ldb_index.c @@ -642,6 +642,10 @@ static int ltdb_index_filter(const struct dn_list *dn_list, struct ldb_reply *ares = NULL; unsigned int i; + if (!ac) { + return LDB_ERR_OPERATIONS_ERROR; + } + for (i = 0; i < dn_list->count; i++) { struct ldb_dn *dn; int ret; @@ -722,6 +726,10 @@ int ltdb_search_indexed(struct ldb_handle *handle) struct dn_list *dn_list; int ret; + if ((ac == NULL) || (ltdb == NULL)) { + return -1; + } + if (ltdb->cache->indexlist->num_elements == 0 && ac->scope != LDB_SCOPE_BASE) { /* no index list? must do full search */ |