diff options
Diffstat (limited to 'source4/lib/ldb')
-rw-r--r-- | source4/lib/ldb/modules/asq.c | 3 | ||||
-rw-r--r-- | source4/lib/ldb/modules/paged_results.c | 3 | ||||
-rw-r--r-- | source4/lib/ldb/modules/sort.c | 3 |
3 files changed, 9 insertions, 0 deletions
diff --git a/source4/lib/ldb/modules/asq.c b/source4/lib/ldb/modules/asq.c index 905bab480a..2975f4d832 100644 --- a/source4/lib/ldb/modules/asq.c +++ b/source4/lib/ldb/modules/asq.c @@ -105,6 +105,9 @@ static int asq_search(struct ldb_module *module, struct ldb_request *req) } asq_ctrl = talloc_get_type(control->data, struct ldb_asq_control); + if (!asq_ctrl) { + return LDB_ERR_PROTOCOL_ERROR; + } /* get the object to retrieve the DNs to search */ base_req = talloc_zero(req, struct ldb_request); diff --git a/source4/lib/ldb/modules/paged_results.c b/source4/lib/ldb/modules/paged_results.c index 5e88052990..c4aad4500e 100644 --- a/source4/lib/ldb/modules/paged_results.c +++ b/source4/lib/ldb/modules/paged_results.c @@ -117,6 +117,9 @@ static int paged_search(struct ldb_module *module, struct ldb_request *req) } paged_ctrl = talloc_get_type(control->data, struct ldb_paged_control); + if (!paged_ctrl) { + return LDB_ERR_PROTOCOL_ERROR; + } /* check if it is a continuation search the store */ if (paged_ctrl->cookie_len != 0) { diff --git a/source4/lib/ldb/modules/sort.c b/source4/lib/ldb/modules/sort.c index 9a0d449cf7..ac9f1081de 100644 --- a/source4/lib/ldb/modules/sort.c +++ b/source4/lib/ldb/modules/sort.c @@ -126,6 +126,9 @@ static int server_sort_search(struct ldb_module *module, struct ldb_request *req } sort_ctrls = talloc_get_type(control->data, struct ldb_server_sort_control *); + if (!sort_ctrls) { + return LDB_ERR_PROTOCOL_ERROR; + } /* FIXME: we do not support more than one attribute for sorting right now */ /* FIXME: we need to check if the attribute type exist or return an error */ |