From: Douglas Bagnall Date: Tue, 9 Jul 2024 23:52:39 +0000 (+1200) Subject: ldb:ldb_kv_dn_list_find_val: check for int overflow X-Git-Tag: tdb-1.4.11~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ed7bc50b00ea62a12d17e56a686053e0a956d8f8;p=thirdparty%2Fsamba.git ldb:ldb_kv_dn_list_find_val: check for int overflow Signed-off-by: Douglas Bagnall Reviewed-by: Stefan Metzmacher --- diff --git a/lib/ldb/ldb_key_value/ldb_kv_index.c b/lib/ldb/ldb_key_value/ldb_kv_index.c index 2a31b35ebcf..dce37824041 100644 --- a/lib/ldb/ldb_key_value/ldb_kv_index.c +++ b/lib/ldb/ldb_key_value/ldb_kv_index.c @@ -275,6 +275,10 @@ static int ldb_kv_dn_list_find_val(struct ldb_kv_private *ldb_kv, unsigned int i; struct ldb_val *exact = NULL, *next = NULL; + if (unlikely(list->count > INT_MAX)) { + return -1; + } + if (ldb_kv->cache->GUID_index_attribute == NULL) { for (i=0; icount; i++) { if (ldb_val_equal_exact(&list->dn[i], v) == 1) {