When, for various reasons, a bad FIT image is used where a loadable
image is marked as 0 length, attempt is made for a 0 length allocation and
read of 0 byte read operation.

Instead provide warning in log and skip attempting to do such a load.

Signed-off-by: Nishanth Menon <n...@ti.com>
---
 common/spl/spl_fit.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index f41abca0ccb5..e9540dc2167a 100644
--- a/common/spl/spl_fit.c
+++ b/common/spl/spl_fit.c
@@ -286,6 +286,13 @@ static int spl_load_fit_image(struct spl_load_info *info, 
ulong sector,
                if (fit_image_get_data_size(fit, node, &len))
                        return -ENOENT;
 
+               /* Dont bother to copy 0 byte data, but warn, though */
+               if (!len) {
+                       log_warning("%s: Skip load '%s': image size is 0!\n",
+                                   __func__, fit_get_name(fit, node, NULL));
+                       return 0;
+               }
+
                src_ptr = map_sysmem(ALIGN(load_addr, ARCH_DMA_MINALIGN), len);
                length = len;
 
-- 
2.32.0

Reply via email to