summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/spl/spl_fit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
index 49ccf1c17b..32d9ee5901 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);
}