]> git.sur5r.net Git - u-boot/blobdiff - common/splash_source.c
tools: sunxi: avoid read after end of string
[u-boot] / common / splash_source.c
index 4c64f10c500ab2e0826f3537ee65a6c8d552f36c..d1647c8300629d529444f2b053ac53e5735525e2 100644 (file)
@@ -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)
@@ -395,9 +396,9 @@ int splash_source_load(struct splash_location *locations, uint size)
        if (!splash_location)
                return -EINVAL;
 
-       if (splash_location->flags & SPLASH_STORAGE_RAW)
+       if (splash_location->flags == SPLASH_STORAGE_RAW)
                return splash_load_raw(splash_location, bmp_load_addr);
-       else if (splash_location->flags & SPLASH_STORAGE_FS)
+       else if (splash_location->flags == SPLASH_STORAGE_FS)
                return splash_load_fs(splash_location, bmp_load_addr);
 #ifdef CONFIG_FIT
        else if (splash_location->flags == SPLASH_STORAGE_FIT)