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-09-04 23:53:47 +0200
commita7126edcb321e6d02e5d83a6f4a7eeac777c1fe2 (patch)
tree9c2ad9b3541ee107cf97c8844bd748af466e41bf /common/splash_source.c
parentf8ba7f27740b42f17bf145d0e1e5aec66ac8dc0e (diff)
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 */