diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-10-13 20:58:38 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-10-13 11:00:04 +0000 |
commit | 269143fa0031ef0b6d801b47aab48ff3b1414565 (patch) | |
tree | e83088e77860bd0e7dc513aaa2792a42008c9885 /source4/lib/ldb/ldb_tdb/ldb_index.c | |
parent | 549c044b9fe76e7d5a47a08fe73a99c87a41ddf4 (diff) | |
download | samba-269143fa0031ef0b6d801b47aab48ff3b1414565.tar.gz samba-269143fa0031ef0b6d801b47aab48ff3b1414565.tar.bz2 samba-269143fa0031ef0b6d801b47aab48ff3b1414565.zip |
s4-ldb: take advantage of ldb_match_msg_error() in more places
this gives better error checking
Diffstat (limited to 'source4/lib/ldb/ldb_tdb/ldb_index.c')
-rw-r--r-- | source4/lib/ldb/ldb_tdb/ldb_index.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source4/lib/ldb/ldb_tdb/ldb_index.c b/source4/lib/ldb/ldb_tdb/ldb_index.c index a39e6c7097..db49455745 100644 --- a/source4/lib/ldb/ldb_tdb/ldb_index.c +++ b/source4/lib/ldb/ldb_tdb/ldb_index.c @@ -918,6 +918,7 @@ static int ltdb_index_filter(const struct dn_list *dn_list, for (i = 0; i < dn_list->count; i++) { struct ldb_dn *dn; int ret; + bool matched; msg = ldb_msg_new(ac); if (!msg) { @@ -944,8 +945,13 @@ static int ltdb_index_filter(const struct dn_list *dn_list, return LDB_ERR_OPERATIONS_ERROR; } - if (!ldb_match_msg(ldb, msg, - ac->tree, ac->base, ac->scope)) { + ret = ldb_match_msg_error(ldb, msg, + ac->tree, ac->base, ac->scope, &matched); + if (ret != LDB_SUCCESS) { + talloc_free(msg); + return ret; + } + if (!matched) { talloc_free(msg); continue; } |