Skip to content
Snippets Groups Projects
Commit f68ab43d authored by Mike Frysinger's avatar Mike Frysinger Committed by Wolfgang Denk
Browse files

lzma: ignore unset filesizes


The Linux kernel build system changed how it compresses things with LZMA
such that the header no longer contains the filesize (it is instead set to
all F's).  So if we get a LZMA image that has -1 for the 64bit field,
let's just assume that the decompressed size is unknown and continue on.

Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
parent cccfc2ab
Branches
No related tags found
No related merge requests found
......@@ -97,11 +97,14 @@ int lzmaBuffToBuffDecompress (unsigned char *outStream, SizeT *uncompressedSize,
} else if (outSizeHigh != 0 || (UInt32)(SizeT)outSize != outSize) {
/*
* SizeT is a 32 bit uint => We cannot manage files larger than
* 4GB!
* 4GB! Assume however that all 0xf values is "unknown size" and
* not actually a file of 2^64 bits.
*
*/
debug ("LZMA: 64bit support not enabled.\n");
return SZ_ERROR_DATA;
if (outSizeHigh != (SizeT)-1 || outSize != (SizeT)-1) {
debug ("LZMA: 64bit support not enabled.\n");
return SZ_ERROR_DATA;
}
}
debug ("LZMA: Uncompresed size............ 0x%lx\n", outSizeFull);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment