summaryrefslogtreecommitdiff
path: root/lib/lzma/LzmaTools.c
AgeCommit message (Collapse)Author
2026-01-06lzma: Update LZMA SDK code from 9.20 to 25.01Tom Rini
Currently, we have a copy of the LZMA SDK code, version 9.20, with small updates. The original import of the LZMA SDK included a script to update the library. This is no longer possible, due to important local changes, so remove it. We also remove a number of extra text files that should be unchanged from upstream, but provide no direct value to the project. Instead, have the help text for LZMA note that this comes from the LZMA SDK. Next, we move our code up to the current release, 25.01. There are a number of new header files, and some performance improvements made to the code, at the cost of between 2 to 3 kilobytes in binary size. As there is now a Kconfig option to disable this and retain similar speed to what we have currently, the default option is to make this trade-off. Our changes to the code around calling schedule() to avoid the watchdog being triggered are kept. We add __UBOOT__ guards in two places to prevent conflict with our own usage of these words on MIPS. Signed-off-by: Tom Rini <[email protected]>
2023-12-21lib: Remove <common.h> inclusion from these filesTom Rini
After some header file cleanups to add missing include files, remove common.h from all files in the lib directory. This primarily means just dropping the line but in a few cases we need to add in other header files now. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2022-09-18cyclic: Use schedule() instead of WATCHDOG_RESET()Stefan Roese
Globally replace all occurances of WATCHDOG_RESET() with schedule(), which handles the HW_WATCHDOG functionality and the cyclic infrastructure. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Tom Rini <[email protected]> [am335x_evm, mx6cuboxi, rpi_3,dra7xx_evm, pine64_plus, am65x_evm, j721e_evm]
2022-04-06lzma: Tidy up the function prototypeSimon Glass
This should use a const pointer for the input stream. Fix this and also add a proper comment. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop log.h from common headerSimon Glass
Move this header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2018-05-07SPDX: Convert all of our single license tags to Linux Kernel styleTom Rini
When U-Boot started using SPDX tags we were among the early adopters and there weren't a lot of other examples to borrow from. So we picked the area of the file that usually had a full license text and replaced it with an appropriate SPDX-License-Identifier: entry. Since then, the Linux Kernel has adopted SPDX tags and they place it as the very first line in a file (except where shebangs are used, then it's second line) and with slightly different comment styles than us. In part due to community overlap, in part due to better tag visibility and in part for other minor reasons, switch over to that style. This commit changes all instances where we have a single declared license in the tag as both the before and after are identical in tag contents. There's also a few places where I found we did not have a tag and have introduced one. Signed-off-by: Tom Rini <[email protected]>
2015-01-14lzma: fix buffer bound check error furtherSimon Glass
Commit 4d3b8a0d fixed a problem with lzma decompress where it would run out of bytes to decompress. The algorithm needs to know how many uncompressed bytes it is expected to produce. However, the fix introduced a potential buffer overrun, and causes the compression test to fail (test_compression command in sandbox). The correct fix seems to be to use the minimum of the expected number of uncompressed bytes and the amount of output space available. That way things work normally when there is enough space, and return an error (without overrunning available space) when there is not. Signed-off-by: Antonios Vamporakis <[email protected]> CC: Kees Cook <[email protected]> CC: Simon Glass <[email protected]> CC: Daniel Schwierzeck <[email protected]> CC: Luka Perkov <[email protected]> Signed-off-by: Simon Glass <[email protected]>
2014-06-11LzmaTools: don't self assign valuesJeroen Hofstee
It seems the code tries to trick the compiler the argument is actually used. However compilers became too smart to fool them so easily an now warn. Gcc and clang don't seem to emit a warning when the argument is unused. If so it should be decorated with unused / (void). Signed-off-by: Jeroen Hofstee <[email protected]>
2014-01-14lzma: fix buffer bound check errorAntonios Vamporakis
Variable uncompressedSize references the space available, while outSizeFull is the actual expected uncompressed size. Using the wrong value causes LzmaDecode to return SZ_ERROR_INPUT_EOF. Problem was introduced in commit afca294. While at it add additional debug message. Signed-off-by: Antonios Vamporakis <[email protected]> CC: Kees Cook <[email protected]> CC: Simon Glass <[email protected]> CC: Daniel Schwierzeck <[email protected]> CC: Luka Perkov <[email protected]>
2013-09-03lzma: correctly bounds-check output bufferKees Cook
The output buffer size must be correctly passed to the lzma decoder or there is a risk of overflowing memory during decompression. Switching to the LZMA_FINISH_END mode means nothing is left in an unknown state once the buffer becomes full. Signed-off-by: Kees Cook <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2012-03-28lzma: fix printf warningsMike Frysinger
Fix size_t printf format warnings: LzmaTools.c: In function 'lzmaBuffToBuffDecompress': LzmaTools.c:110:5: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'SizeT' LzmaTools.c:111:5: warning: format '%x' expects type 'unsigned int', but argument 2 has type 'SizeT' Signed-off-by: Mike Frysinger <[email protected]>
2011-10-27GCC4.6: Squash warnings in LzmaTools.cMarek Vasut
LzmaTools.c: In function 'lzmaBuffToBuffDecompress': LzmaTools.c:70:5: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'unsigned char *' LzmaTools.c:71:5: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'unsigned char *' LzmaTools.c:72:5: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'unsigned char *' LzmaTools.c:73:5: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'unsigned char *' LzmaTools.c:74:5: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'unsigned char *' LzmaTools.c:110:5: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'SizeT' LzmaTools.c:111:5: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'SizeT' Signed-off-by: Marek Vasut <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Simon Glass <[email protected]> Cc: Mike Frysinger <[email protected]>
2010-04-13Rename lib_generic/ to lib/Peter Tyser
Now that the other architecture-specific lib directories have been moved out of the top-level directory there's not much reason to have the '_generic' suffix on the common lib directory. Signed-off-by: Peter Tyser <[email protected]>