]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ldb:ldb_kv_dn_list_find_val: check for int overflow
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Tue, 9 Jul 2024 23:52:39 +0000 (11:52 +1200)
committerDouglas Bagnall <dbagnall@samba.org>
Sat, 27 Jul 2024 22:47:39 +0000 (22:47 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
lib/ldb/ldb_key_value/ldb_kv_index.c

index 2a31b35ebcf97ffcf4d274a85d73b248dec4a83f..dce3782404142478833cd2fc5b41e64e14200eb9 100644 (file)
@@ -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; i<list->count; i++) {
                        if (ldb_val_equal_exact(&list->dn[i], v) == 1) {