mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
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: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
cccfc2ab77
commit
f68ab43de6
1 changed files with 6 additions and 3 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue