| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
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.
|
|\ \
| | |
| | | |
fix compressing into NULL
|
| |/
| |
| |
| |
| | |
fails properly
bug discovered by oss-fuzz
|
|\ \
| |/
|/| |
Fix compilation with TinyCC
|
|/ |
|
|\
| |
| | |
Add CMake option LZ4_BUILD_CLI
|
|/
|
|
|
| |
Defaults to ON so nothing changes, but it can be set to OFF so that the
CLI is not built at all, only the library.
|
|
|
|
| |
following investigation in #859
|
|\
| |
| | |
Properly fix #847
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
the way `base` is used must allow 2-complement address overflow.
`base` is effectively a virtual pointer, never dereferenced directly.
What matters is `base + index`.
This is the address that will be dereference and must be valid (it is properly validated).
|
| |
| |
| |
| | |
properly track history
|
| |\ |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
which now fails with a clear error as intended
(not just print a status and move on).
should be reproduced on travisCI
|
| | |/
| |/| |
|
|\ \ \
| |/ /
| | | |
fix #847
|
| |/
| |
| |
| |
| | |
support NULL input
without triggering undefined sanitizer
|
|/
|
|
| |
described in #847
|
|\
| |
| | |
Fix issue #783
|
| |
| |
| |
| | |
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.
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
Improved software byte count
|
| |\ \
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
Added ability to determine content-size
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
notably in association with `stdin`
|
| | | | |
|
| |\ \ \
|/ / / /
| | | | |
Use fstat() to determine file size
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This allows us to get the file size even when the input file is passed
via stdin. This fixes `--content-size` not working in situations like
$ lz4 -v --content-size < /tmp/test > /tmp/test.lz4
Warning : cannot determine input content size
With this change, it works.
Also helps with #904.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Also : added memory-frugal software byte count for big endian 64-bit cpus.
Disabled by default.
|
| | |\ \
| |/ / /
|/| | | |
rejigger bit counting intrinsics
|
| | | |
| | | |
| | | | |
MSVC debug mode complains
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Fix lz4/lz4#867
Optimize software fallback routines.
Delete some faulty (and dead?) MSVC big endian code.
|
|\ \ \ \
| | | | |
| | | | | |
added target aarch64, ppc64lw and s390x to TravisCI
|
| |/ / /
| | | |
| | | |
| | | | |
more portability tests
|
|\ \ \ \
| | | | |
| | | | | |
[CI][ossfuzz] Fix string equal
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | | |
removed LZ4_compress_fast_force()
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
which serves no more purpose.
The comment implies that the simple presence of this unused function was affecting performance,
and that's the reason why it was not removed earlier.
This is likely another side effect of instruction alignment.
It's obviously unreliable to rely on it in this way,
meaning that the impact will be different, positive of negative,
with any minor code change, and any minor compiler version change, even parameter change.
|
|\ \ \
| | | |
| | | | |
Optimized by replacing `endl` with `'\n'`
|
| | | | |
|