summaryrefslogtreecommitdiff
path: root/common/splash_source.c
diff options
context:
space:
mode:
authorNiko Mauno <niko.mauno@vaisala.com>2017-08-03 09:53:24 +0300
committerAnatolij Gustschin <agust@denx.de>2017-08-29 00:20:16 +0200
commit22aa21dba4085bb8d597eeeeeee9e3328af684bb (patch)
tree9cd7f46c9216e1b3194a074052217174b7b8a5ba /common/splash_source.c
parent8b3cec7da18645eda7f7cd0b65ee9f2dac573409 (diff)
downloadu-boot-22aa21dba4085bb8d597eeeeeee9e3328af684bb.tar.gz
u-boot-22aa21dba4085bb8d597eeeeeee9e3328af684bb.tar.bz2
u-boot-22aa21dba4085bb8d597eeeeeee9e3328af684bb.zip
splash_source: Verify FIT magic
Before reading entire FIT image, add sanity check by testing image header against FDT_MAGIC. This should help avoid problems in situations where FIT is not yet available from storage device, for example when performing initial programming of device. Cc: Anatolij Gustschin <agust@denx.de> Acked-by: Tomas Melin <tomas.melin@vaisala.com>
Diffstat (limited to 'common/splash_source.c')
-rw-r--r--common/splash_source.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/common/splash_source.c b/common/splash_source.c
index a21ad62f82..e0defdebd6 100644
--- a/common/splash_source.c
+++ b/common/splash_source.c
@@ -317,6 +317,11 @@ static int splash_load_fit(struct splash_location *location, u32 bmp_load_addr)
return res;
img_header = (struct image_header *)bmp_load_addr;
+ if (image_get_magic(img_header) != FDT_MAGIC) {
+ printf("Could not find FDT magic\n");
+ return -EINVAL;
+ }
+
fit_size = fdt_totalsize(img_header);
/* Read in entire FIT */