]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
lib: fdtdec: Parse the gzip/lzo headers only when dependencies have met
authorLad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Tue, 1 Oct 2024 09:56:47 +0000 (10:56 +0100)
committerTom Rini <trini@konsulko.com>
Thu, 17 Oct 2024 21:01:14 +0000 (15:01 -0600)
It might happen that CONFIG_GZIP and CONFIG_LZO are enabled but we might
have CONFIG_MULTI_DTB_FIT_LZO enabled in this case in the code path of
uncompress_blob() we parse the gzip headers first which results in
`Error: Bad gzipped data` being printed. To avoid this parse the gzip/lzo
headers only when dependencies have met.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
lib/fdtdec.c

index 85f4426f9049ece8df806e2f7e4ada397089c63f..b06559880296276bebd434e9d1de6d2fa923fa98 100644 (file)
@@ -1172,10 +1172,10 @@ static int uncompress_blob(const void *src, ulong sz_src, void **dstp)
        void *dst;
        int rc;
 
-       if (CONFIG_IS_ENABLED(GZIP))
+       if (CONFIG_IS_ENABLED(GZIP) && CONFIG_IS_ENABLED(MULTI_DTB_FIT_GZIP))
                if (gzip_parse_header(src, sz_in) >= 0)
                        gzip = 1;
-       if (CONFIG_IS_ENABLED(LZO))
+       if (CONFIG_IS_ENABLED(LZO) && CONFIG_IS_ENABLED(MULTI_DTB_FIT_LZO))
                if (!gzip && lzop_is_valid_header(src))
                        lzo = 1;