summaryrefslogtreecommitdiff
path: root/drivers/core/ofnode.c
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-11-12 08:27:45 -0700
committerTom Rini <trini@konsulko.com>2023-12-13 18:39:05 -0500
commit9578dd856a72b0412fa65480d8e3c76a52a6cba1 (patch)
tree8140d4fdb34a26ae9bc091a84f11cbae2a7b4f85 /drivers/core/ofnode.c
parent1de1a0348755ad5e57790a39059eceeb8e8aba42 (diff)
fdt: Check for a valid fdt in oftree_ensure()
Check the header before starting to use it, since this could provide very confusing later, when ofnode calls start to fail. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/core/ofnode.c')
-rw-r--r--drivers/core/ofnode.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index f72ea416cf1..21a233f90f0 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -83,6 +83,11 @@ static oftree oftree_ensure(void *fdt)
if (check_tree_count())
return oftree_null();
+ if (fdt_check_header(fdt)) {
+ log_err("Invalid device tree blob header\n");
+ return oftree_null();
+ }
+
/* register the new tree */
i = oftree_count++;
oftree_list[i] = fdt;