| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
makes it possible to replace at link time
malloc, calloc and free
by user-provided functions
which must be named LZ4_malloc(), LZ4_calloc() and LZ4_free().
answer #937
|
|
|
|
| |
fast (non-HC) variant
|
|
|
|
|
| |
fix incorrect behavior of LZ4_saveDictHC()
when invoked right after initialization.
|
|
|
|
| |
across lz4.c and lz4hc.c
|
| |
|
|
|
|
| |
use heap instead
|
| |
|
|
|
|
| |
which includes an alignment test
|
|
|
|
| |
to help scan-build detect the condition
|
| |
|
|
|
|
| |
fix one (rare & complex) issue discovered by this test
|
|
|
|
|
| |
detected by scan-build and cppcheck
fix #786
|
|\
| |
| | |
fix efficiency of LZ4_compress_HC_destSize()
|
| |
| |
| |
| |
| |
| | |
applying new more accurate formula from LZ4_compress_HC_destSize()
also : fix some minor display issue in tests/frametest
|
| |
| |
| |
| | |
must respect MFLIMIT distance from oend
|
| |
| |
| |
| | |
after truncation of last sequence
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
LZ4_compress_HC_destSize() had a tendency
to discard its last match when this match overflowed specified dstBuffer limit.
The impact is generally moderate,
but occasionally huge,
typically when this last match is very large
(such as compressing a bunch of zeroes).
Issue #784 fixed for both Chain and Opt implementations.
Added a unit test suggested by @remittor checking this topic.
|
|/
|
|
|
| |
fails properly
bug discovered by oss-fuzz
|
| |
|
|
|
|
| |
properly track history
|
|\ |
|
| |
| |
| |
| |
| | |
support NULL input
without triggering undefined sanitizer
|
|/
|
|
|
|
| |
which now fails with a clear error as intended
(not just print a status and move on).
should be reproduced on travisCI
|
|
|
|
| |
described in #847
|
|
|
|
| |
different signedness
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LZ4_decompress_safe_partial()
now also supports a scenario where
nb_bytes_to_generate is <= block_decompressed_size
And
nb_bytes_to_read is >= block_compressed_size.
Previously, the only supported scenario was
nb_bytes_to_read == block_compress_size.
Pay attention that,
if nb_bytes_to_read is > block_compressed_size,
then, necessarily, it requires that
nb_bytes_to_generate is <= block_decompress_size.
If both are larger, it will generate corrupted data.
|
|\ |
|
| | |
|
| |
| |
| |
| | |
notably in association with `stdin`
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
EndMark, the 4-bytes value indicating the end of frame,
must be `0x00000000`.
Previously, it was just mentioned as a `0-size` block.
But such definition could encompass uncompressed blocks of size 0,
with a header of value `0x80000000`.
But the intention was to also support uncompressed empty blocks.
They could be used as a keep-alive signal.
Note that compressed empty blocks are already supported,
it's just that they have a size 1 instead of 0 (for the `0` token).
Unfortunately, the decoder implementation was also wrong,
and would also interpret a `0x80000000` block header as an endMark.
This issue evaded detection so far simply because
this situation never happens, as LZ4Frame always issues
a clean 0x00000000 value as a endMark.
It also does not flush empty blocks.
This is fixed in this PR.
The decoder can now deal with empty uncompressed blocks,
and do not confuse them with EndMark.
The specification is also clarified.
Finally, FrameTest is updated to randomly insert empty blocks during fuzzing.
|
| |
| |
| | |
* fix issue #783
|
|/
|
|
|
| |
fails currently,
for investigation of #783
|
|\
| |
| | |
Fix #876
|
| |
| |
| |
| |
| |
| | |
with huge values, as expected from #876
Also : added target `check`
|
|/ |
|
|\
| |
| | |
Fix issue #865
|
| | |
|
|/
|
|
| |
Add condition for OpenBSD, which uses gmake
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
could trigger %0 on exceptional circumstances
due to wrong buffer size parameter.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's now possible to select a custom LZ4_DISTANCE_MAX at compile time,
provided it's <= 65535.
However, in some cases (when compressing in byU16 mode),
the new distance wasn't respected,
as it used to implied that it was necessarily within range.
Added a distance check for this case.
Also : added a new TravisCI test which ensures that
custom LZ4_DISTANCE_MAX compiles correctly
and compresses correctly (relying on `assert()` to find outsized offsets).
|
| |
|