diff options
author | Wolfgang Denk <wd@denx.de> | 2009-12-05 02:11:59 +0100 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2009-12-05 02:11:59 +0100 |
commit | 2a49bf3149e34e6f910e70bbc0a26e81cfdbdf70 (patch) | |
tree | e19b3def6c8f41f56cdb5e8b71aa53d8f72f5812 /lib_generic/lzma/LzmaTools.c | |
parent | cd514aeb996e2f7aefbe1f78481965d9d074aed4 (diff) | |
parent | f68ab43de67f59925542efb6bcec30f4a84fe695 (diff) |
Merge branch 'master' into next
Conflicts:
board/esd/plu405/plu405.c
drivers/rtc/ftrtc010.c
Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'lib_generic/lzma/LzmaTools.c')
-rw-r--r-- | lib_generic/lzma/LzmaTools.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib_generic/lzma/LzmaTools.c b/lib_generic/lzma/LzmaTools.c index 408b577f1..8860bfbf3 100644 --- a/lib_generic/lzma/LzmaTools.c +++ b/lib_generic/lzma/LzmaTools.c @@ -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); |