fdt: off by one in ofnode_lookup_fdt()
authorDan Carpenter <dan.carpenter@linaro.org>
Wed, 26 Jul 2023 06:59:52 +0000 (09:59 +0300)
committerTom Rini <trini@konsulko.com>
Tue, 8 Aug 2023 21:05:43 +0000 (17:05 -0400)
The "oftree_count" is the number of entries which have been set in
the oftree_list[] array.  If all the entries have been initialized then
this off by one would result in reading one element beyond the end
of the array.

Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/core/ofnode.c

index 8df16e5..a4dc9bd 100644 (file)
@@ -103,7 +103,7 @@ void *ofnode_lookup_fdt(ofnode node)
        if (gd->flags & GD_FLG_RELOC) {
                uint i = OFTREE_TREE_ID(node.of_offset);
 
-               if (i > oftree_count) {
+               if (i >= oftree_count) {
                        log_debug("Invalid tree ID %x\n", i);
                        return NULL;
                }