image.c: Fix non-Android booting with ramdisk and/or device tree
authorTom Rini <trini@konsulko.com>
Tue, 27 Oct 2015 23:04:40 +0000 (19:04 -0400)
committerTom Rini <trini@konsulko.com>
Tue, 27 Oct 2015 23:06:17 +0000 (19:06 -0400)
In 1fec3c5 I added a check that if we had an Android image we default to
trying the kernel address for a ramdisk.  However when we don't have an
Android image buf is NULL and we oops here.  Ensure that we have 'buf'
to check first.

Reported-by: elipe Balbi <balbi@ti.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
common/image.c

index e6071099d6365ecc63483c2c1ab4b1df400997ac..85c4f39cdf54a3388d19bfaf1d9c07a28a39022d 100644 (file)
@@ -913,7 +913,7 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images,
         * Look for an Android boot image.
         */
        buf = map_sysmem(images->os.start, 0);
-       if (genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
+       if (buf && genimg_get_format(buf) == IMAGE_FORMAT_ANDROID)
                select = argv[0];
 #endif