summaryrefslogtreecommitdiffstats
path: root/cpukit/dtc/libfdt/fdt.c
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/dtc/libfdt/fdt.c')
-rw-r--r--cpukit/dtc/libfdt/fdt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cpukit/dtc/libfdt/fdt.c b/cpukit/dtc/libfdt/fdt.c
index 6cf2fa03b0..3e893073da 100644
--- a/cpukit/dtc/libfdt/fdt.c
+++ b/cpukit/dtc/libfdt/fdt.c
@@ -22,6 +22,10 @@ int32_t fdt_ro_probe_(const void *fdt)
if (can_assume(VALID_DTB))
return totalsize;
+ /* The device tree must be at an 8-byte aligned address */
+ if ((uintptr_t)fdt & 7)
+ return -FDT_ERR_ALIGNMENT;
+
if (fdt_magic(fdt) == FDT_MAGIC) {
/* Complete tree */
if (!can_assume(LATEST)) {