Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [amalgamation] lz4frame.c | Bing Xu | 2018-11-26 | 1 | -0/+7 |
| | |||||
* | fixed #589 | Yann Collet | 2018-10-09 | 1 | -1/+5 |
| | | | | | | | | following recommendations by @raggi. The fix is slightly different, but achieves the same goal, and is backed by a test tool which proves that it works (generates the error before the patch, no longer after the patch). | ||||
* | added a test for LZ4F_compressEnd() | Yann Collet | 2018-10-09 | 1 | -11/+14 |
| | | | | | | | | | | | | | | | which actively tries to make it write out of bound. For this scenario to be possible, it's necessary to set dstCapacity < LZ4F_compressBound() When a compression operation fails, the CCtx context is left in an undefined state, therefore compression cannot resume. As a consequence : - round trip tests must be aborted, since there is nothing valid to decompress - most users avoid this situation, by ensuring that dstCapacity >= LZ4F_compressBound() For these reasons, this use case was poorly tested up to now. | ||||
* | fixed improper hint | Yann Collet | 2018-09-28 | 1 | -3/+5 |
| | | | | | | | | | | | | | when LZ4F_decompress() decodes an uncompressed block, it provides an incorrect hint for next block when frame checksum is enabled and block checksum is not. Impact is low : the hint is just an hint, the decoder works whatever the amount of input provided. But the assumption that each call to LZ4F_decompress() would generate just one complete block if input size hint was respected was broken by this error. | ||||
* | fixed minor cppcheck warnings in lib | Yann Collet | 2018-09-18 | 1 | -7/+7 |
| | |||||
* | avoid final trailing comma for enum lists | Yann Collet | 2018-09-13 | 1 | -5/+5 |
| | | | | | | | as detected in #485 by @JoachimSchneider. Refactored the c_standards tests so that these issues get automatically detected in CI tests. | ||||
* | Fixed bugs about incorrect acceleration calculation and benchmarking ↵ | Jennifer Liu | 2018-06-27 | 1 | -2/+2 |
| | | | | negative compresion level | ||||
* | small extDict : fixed side-effect | Yann Collet | 2018-05-06 | 1 | -0/+1 |
| | | | | | | don't fix dictionaries of size 0. setting dictEnd == source triggers prefix mode, thus removing possibility to use CDict. | ||||
* | fixed frametest error | Yann Collet | 2018-05-06 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | | | | | The error can be reproduced using following command : ./frametest -v -i100000000 -s1659 -t31096808 It's actually a bug in the stream LZ4 API, when starting a new stream and providing a first chunk to complete with size < MINMATCH. In which case, the chunk becomes a dictionary. No hash was generated and stored, but the chunk is accessible as default position 0 points to dictStart, and position 0 is still within MAX_DISTANCE. Then, next attempt to read 32-bits from position 0 fails. The issue would have been mitigated by starting from index 64 KB, effectively eliminating position 0 as too far away. The proper fix is to eliminate such "dictionary" as too small. Which is what this patch does. | ||||
* | Merge pull request #529 from felixhandte/lz4f-fast-reset-for-streaming-only | Yann Collet | 2018-05-03 | 1 | -5/+14 |
|\ | | | | | LZ4F: Only Reset the LZ4_stream_t when Init'ing a Streaming Block | ||||
| * | Only Reset the LZ4 Stream when Init'ing a Streaming Block | W. Felix Handte | 2018-05-03 | 1 | -5/+14 |
| | | |||||
* | | random lz4f clarifications | Yann Collet | 2018-05-02 | 1 | -29/+47 |
|/ | | | | | | | | | | | | | | the initial intention was to update lz4f ring buffer strategy, but lz4f doesn't use ring buffer. Instead, it uses the destination buffer as much as possible, and merely copies just what's required to preserve history into its own buffer, at the end. Pretty efficient. This patch just clarifies a few comments and add some assert(). It's built on top of #528. It also updates doc. | ||||
* | Merge pull request #520 from felixhandte/frame-dict-nits | Yann Collet | 2018-04-27 | 1 | -7/+14 |
|\ | | | | | Minor Fixes to Dictionary Preparation in LZ4 Frame | ||||
| * | Avoid Possibly Redundant Table Clears When Loading HC Dict | W. Felix Handte | 2018-04-27 | 1 | -1/+1 |
| | | |||||
| * | Remove Redundant LZ4_resetStream() Call | W. Felix Handte | 2018-04-27 | 1 | -2/+1 |
| | | |||||
| * | Rename LZ4F_applyCDict() -> LZ4F_initStream() | W. Felix Handte | 2018-04-27 | 1 | -4/+12 |
| | | |||||
* | | Merge pull request #519 from lz4/fdParser | Yann Collet | 2018-04-27 | 1 | -0/+3 |
|\ \ | |/ |/| | Faster decoding speed | ||||
| * | fixed a number of minor cast warnings | Yann Collet | 2018-04-27 | 1 | -1/+1 |
| | | |||||
| * | fasterDecSpeed can be triggered from cli with --favor-decSpeed | Yann Collet | 2018-04-26 | 1 | -1/+1 |
| | | |||||
| * | favorDecSpeed feature can be triggered from lz4frame | Yann Collet | 2018-04-26 | 1 | -0/+3 |
| | | | | | | | | and lz4hc. | ||||
* | | Limit Dictionary Size During LZ4F Decompression | W. Felix Handte | 2018-04-26 | 1 | -4/+21 |
|/ | | | | Fixes lz4/lz4#517. | ||||
* | Change Over Includes in the Project | W. Felix Handte | 2018-04-24 | 1 | -1/+2 |
| | |||||
* | Remove Debug Log Statements | W. Felix Handte | 2018-04-24 | 1 | -21/+0 |
| | |||||
* | Add API for Attaching Dictionaries | W. Felix Handte | 2018-04-20 | 1 | -2/+1 |
| | |||||
* | Use Fast Reset in LZ4F Again | W. Felix Handte | 2018-04-20 | 1 | -1/+1 |
| | |||||
* | Use Fast Reset API in LZ4F | W. Felix Handte | 2018-04-20 | 1 | -1/+1 |
| | |||||
* | Call LZ4F_applyCDict Even on NULL CDict | W. Felix Handte | 2018-04-20 | 1 | -1/+1 |
| | |||||
* | Set dictCtx Rather than memcpy'ing Ctx | W. Felix Handte | 2018-04-20 | 1 | -6/+3 |
| | |||||
* | Add Debug Log Statements to HC | W. Felix Handte | 2018-04-20 | 1 | -0/+21 |
| | |||||
* | Minor Fixes | W. Felix Handte | 2018-04-11 | 1 | -2/+0 |
| | |||||
* | Add a LZ4_STATIC_LINKING_ONLY Macro to Guard Experimental APIs | W. Felix Handte | 2018-04-11 | 1 | -0/+1 |
| | |||||
* | Expose dictCtx Functionality in LZ4 | W. Felix Handte | 2018-04-11 | 1 | -2/+1 |
| | |||||
* | Rename _extState_noReset -> _extState_fastReset and Edit Comments | W. Felix Handte | 2018-04-11 | 1 | -1/+1 |
| | |||||
* | Expose a Faster Stream Reset Function | W. Felix Handte | 2018-04-10 | 1 | -3/+1 |
| | |||||
* | fix comment style | Yann Collet | 2018-03-21 | 1 | -2/+2 |
| | |||||
* | Switch ALLOC() to ALLOC_AND_ZERO() to Paper Over Existing Uninitialized Read | W. Felix Handte | 2018-03-13 | 1 | -1/+1 |
| | |||||
* | Split lz4CtxLevel into Two Fields | W. Felix Handte | 2018-03-13 | 1 | -17/+10 |
| | |||||
* | Another Allocation Fail Check | W. Felix Handte | 2018-03-13 | 1 | -1/+2 |
| | |||||
* | Renames and Comment Fixes | W. Felix Handte | 2018-03-12 | 1 | -1/+1 |
| | |||||
* | Hoist LZ4F Dictionary Setup into Helper LZ4F_applyCDict() | W. Felix Handte | 2018-03-12 | 1 | -47/+25 |
| | |||||
* | Minor Style Fixes | W. Felix Handte | 2018-03-12 | 1 | -9/+9 |
| | |||||
* | Replace calloc() Calls With malloc() Where Possible | W. Felix Handte | 2018-03-12 | 1 | -15/+16 |
| | |||||
* | Make LZ4F_compressFrame_usingCDict Take a Compression Context | W. Felix Handte | 2018-03-12 | 1 | -22/+53 |
| | |||||
* | Set Dictionary Context Pointer Rather than Copying the Context In | W. Felix Handte | 2018-03-12 | 1 | -6/+29 |
| | |||||
* | Only Re-Alloc / Reset When Needed When Switching Between Regular and High ↵ | W. Felix Handte | 2018-03-12 | 1 | -13/+27 |
| | | | | Compression Modes | ||||
* | Avoid Resetting the Context When Possible | W. Felix Handte | 2018-03-12 | 1 | -2/+19 |
| | |||||
* | refactored frameCompress example | Yann Collet | 2018-01-31 | 1 | -1/+2 |
| | | | | to better reflect LZ4F API usage. | ||||
* | lz4frame : removed some intermediate stage from LZ4F_decompress() | Yann Collet | 2018-01-14 | 1 | -16/+6 |
| | | | | | ensure some strange jump cases are not possible (they were already not possible, but static analyzer couldn't understand it). | ||||
* | ensure a ptr is non-null | Yann Collet | 2018-01-14 | 1 | -0/+9 |
| | | | | | with an assert() to help static analyzer understanding this condition. | ||||
* | modified formulation for LZ4F_compressBound() | Yann Collet | 2018-01-14 | 1 | -5/+5 |
| | | | | | | previous version used an intentional overflow, which is defined since it uses unsigned type, but static analyzer complain about it. |