[PATCH] arm: bootm: don't fall over if image is padded with less than 40 bytes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If the zImage has a padding, which is less than 40 bytes
(sizeof struct fdt_header) the amount of read bytes would be propagated
as an error code. Fix this by only propagating real errors and treating
failure to read less than the expected amount as no concatenated DT
being present.

Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
---
 arch/arm/lib/bootm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
index 8068a53be0a5..25efb42541f9 100644
--- a/arch/arm/lib/bootm.c
+++ b/arch/arm/lib/bootm.c
@@ -250,8 +250,10 @@ static int do_bootz_linux_fdt(int fd, struct image_data *data)
 
 	header = &__header;
 	ret = read(fd, header, sizeof(*header));
-	if (ret < sizeof(*header))
+	if (ret < 0)
 		return ret;
+	if (ret < sizeof(*header))
+		return -ENXIO;
 
 	if (file_detect_type(header, sizeof(*header)) != filetype_oftree)
 		return -ENXIO;
-- 
2.11.0


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux