diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c index 49ccf1c..32d9ee5 100644 --- a/common/spl/spl_fit.c +++ b/common/spl/spl_fit.c @@ -135,6 +135,7 @@ static int spl_load_fit_image(struct spl_load_info *info, ulong sector, int offset; size_t length; int len; + ulong size; ulong load_addr, load_ptr; void *src; ulong overhead; @@ -197,11 +198,13 @@ static int spl_load_fit_image(struct spl_load_info *info, ulong sector, IS_ENABLED(CONFIG_SPL_GZIP) && image_comp == IH_COMP_GZIP && type == IH_TYPE_KERNEL) { + size = length; if (gunzip((void *)load_addr, CONFIG_SYS_BOOTM_LEN, - src, &length)) { + src, &size)) { puts("Uncompressing error\n"); return -EIO; } + length = size; } else { memcpy((void *)load_addr, src, length); }