aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Golder <jonathan.golder@kurz-elektronik.de>2017-02-24 17:46:10 +0100
committerAnatolij Gustschin <agust@denx.de>2017-02-27 16:08:06 +0100
commit3cc6e7070dea2c81ef8f052740e9a9cc791c57f4 (patch)
tree868463180cc32b892ad15a8408a3f44d7402308b
parenta0f3e3df4adc451bf56159c0672e570f9c934ee8 (diff)
downloadu-boot-3cc6e7070dea2c81ef8f052740e9a9cc791c57f4.zip
u-boot-3cc6e7070dea2c81ef8f052740e9a9cc791c57f4.tar.gz
u-boot-3cc6e7070dea2c81ef8f052740e9a9cc791c57f4.tar.bz2
splash: Prevent splash_load_fs from writing to 0x0
Passing NULL to fs_read() for actread value results in hanging U-Boot at least on our ARM plattform (TI AM335x). Since fs_read() and following functions do not catch nullpointers, writing to 0x0 occurs. Passing a local dummy var instead of NULL solves this issue. Signed-off-by: Jonathan Golder <jonathan.golder@kurz-elektronik.de> Cc: Anatolij Gustschin <agust@denx.de>
-rw-r--r--common/splash_source.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/common/splash_source.c b/common/splash_source.c
index a5eeb3f..d1647c8 100644
--- a/common/splash_source.c
+++ b/common/splash_source.c
@@ -216,6 +216,7 @@ static int splash_load_fs(struct splash_location *location, u32 bmp_load_addr)
{
int res = 0;
loff_t bmp_size;
+ loff_t actread;
char *splash_file;
splash_file = getenv("splashfile");
@@ -251,7 +252,7 @@ static int splash_load_fs(struct splash_location *location, u32 bmp_load_addr)
}
splash_select_fs_dev(location);
- res = fs_read(splash_file, bmp_load_addr, 0, 0, NULL);
+ res = fs_read(splash_file, bmp_load_addr, 0, 0, &actread);
out:
if (location->ubivol != NULL)