summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #923 from lz4/fix784Yann Collet2020-09-284-65/+216
|\ | | | | fix efficiency of LZ4_compress_HC_destSize()
| * improved last literals run on LZ4_compress_destSizeYann Collet2020-09-282-10/+12
| | | | | | | | | | | | applying new more accurate formula from LZ4_compress_HC_destSize() also : fix some minor display issue in tests/frametest
| * ensure last match not too close to endYann Collet2020-09-283-27/+48
| | | | | | | | must respect MFLIMIT distance from oend
| * fix incorrect countingYann Collet2020-09-282-3/+4
| | | | | | | | after truncation of last sequence
| * fix efficiency of LZ4_compress_HC_destSize()Yann Collet2020-09-283-34/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #921 from lz4/doubleNullYann Collet2020-09-282-4/+14
|\ \ | | | | | | fix compressing into NULL
| * | fix compressing into NULLYann Collet2020-09-262-4/+14
| |/ | | | | | | | | fails properly bug discovered by oss-fuzz
* | Merge pull request #922 from XVilka/tinycc-supportYann Collet2020-09-281-2/+2
|\ \ | |/ |/| Fix compilation with TinyCC
| * Fix compilation with TinyCCAnton Kochkov2020-09-271-2/+2
|/
* Merge pull request #919 from attilaolah/cliYann Collet2020-09-231-6/+9
|\ | | | | Add CMake option LZ4_BUILD_CLI
| * Add CMake option LZ4_BUILD_CLI.Attila Oláh2020-09-231-6/+9
|/ | | | | 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.
* comment bug on older versions of ZSTD_compress_destSize()Yann Collet2020-09-181-1/+12
| | | | following investigation in #859
* Merge pull request #918 from lz4/usan_nullYann Collet2020-09-186-12/+66
|\ | | | | Properly fix #847
| * fixed ubsan tests with dynamic libraryYann Collet2020-09-172-3/+7
| |
| * ubsan: make pointer overflow recoverableYann Collet2020-09-171-1/+1
| | | | | | | | | | | | | | 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).
| * fixed lz4frame with blocks of size 1Yann Collet2020-09-173-24/+27
| | | | | | | | properly track history
| * Merge branch 'usan_null' of github.com:Cyan4973/lz4 into usan_nullYann Collet2020-09-172-4/+4
| |\
| | * Merge branch 'usan_null' of github.com:lz4/lz4 into usan_nullYann Collet2020-09-171-2/+5
| | |\
| | * | fix ubsan testYann Collet2020-09-172-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | which now fails with a clear error as intended (not just print a status and move on). should be reproduced on travisCI
| * | | added the actual code changeYann Collet2020-09-171-6/+53
| | |/ | |/|
* | | Merge pull request #913 from lz4/usan_nullYann Collet2020-09-171-0/+11
|\ \ \ | |/ / | | | fix #847
| * | fix #847Yann Collet2020-09-151-2/+5
| |/ | | | | | | | | support NULL input without triggering undefined sanitizer
| * added test triggering NULL arithmetic with usanYann Collet2020-09-151-0/+8
|/ | | | described in #847
* Merge pull request #910 from lz4/extraInputYann Collet2020-08-276-49/+128
|\ | | | | Fix issue #783
| * fixed minor pre-existing printf formattingYann Collet2020-08-271-2/+2
| | | | | | | | different signedness
| * fixed strict c90 supportYann Collet2020-08-271-2/+0
| |
| * fix #783Yann Collet2020-08-273-32/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Merge branch 'dev' into extraInputYann Collet2020-08-2738-178/+259
| |\ | |/ |/|
* | Merge pull request #909 from lz4/fasterCountYann Collet2020-08-262-45/+71
|\ \ | | | | | | Improved software byte count
| * \ Merge branch 'dev' into fasterCountYann Collet2020-08-263-97/+146
| |\ \ | |/ / |/| |
* | | Merge pull request #908 from lz4/stdin_sizeYann Collet2020-08-263-97/+146
|\ \ \ | | | | | | | | Added ability to determine content-size
| * | | fix test under non-interactive environmentYann Collet2020-08-251-1/+1
| | | |
| * | | added more tests around --content-sizeYann Collet2020-08-251-1/+10
| | | | | | | | | | | | | | | | notably in association with `stdin`
| * | | use variables for program invocationYann Collet2020-08-251-80/+82
| | | |
| * | | Merge pull request #905 from nh2/use-fstatYann Collet2020-08-252-16/+54
| |\ \ \ |/ / / / | | | | Use fstat() to determine file size
| * | | fixup: Portable fileno()Niklas Hambüchen2020-08-251-1/+10
| | | |
| * | | fixup: C90 compliance, clean up stat() types/callsNiklas Hambüchen2020-08-251-27/+31
| | | |
| * | | Use fstat() to determine file size.Niklas Hambüchen2020-08-242-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | added documentation about LZ4_FORCE_SW_BITCOUNTYann Collet2020-08-262-8/+33
| | | | | | | | | | | | | | | | | | | | Also : added memory-frugal software byte count for big endian 64-bit cpus. Disabled by default.
| | * | Merge pull request #898 from aqrit/aqrit-prefixlenYann Collet2020-08-241-45/+46
| | |\ \ | |/ / / |/| | | rejigger bit counting intrinsics
| | * | silence warningaqrit2020-08-171-2/+2
| | | | | | | | | | | | MSVC debug mode complains
| | * | rejigger bit counting intrinsicsaqrit2020-08-121-45/+46
| | | | | | | | | | | | | | | | | | | | Fix lz4/lz4#867 Optimize software fallback routines. Delete some faulty (and dead?) MSVC big endian code.
* | | | Merge pull request #902 from lz4/realhwYann Collet2020-08-241-0/+15
|\ \ \ \ | | | | | | | | | | added target aarch64, ppc64lw and s390x to TravisCI
| * | | | added target aarch64, ppc64lw and s390x to TravisCIYann Collet2020-08-221-0/+15
| |/ / / | | | | | | | | | | | | more portability tests
* | | | Merge pull request #907 from terrelln/travisYann Collet2020-08-241-1/+1
|\ \ \ \ | | | | | | | | | | [CI][ossfuzz] Fix string equal
| * | | | [CI][ossfuzz] Fix string equalNick Terrell2020-08-241-1/+1
| |/ / /
* | | | Merge pull request #903 from lz4/nofastforceYann Collet2020-08-241-16/+0
|\ \ \ \ | |/ / / |/| | | removed LZ4_compress_fast_force()
| * | | removed LZ4_compress_fast_force()Yann Collet2020-08-221-16/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #886 from servusDei2018/devYann Collet2020-08-211-3/+2
|\ \ \ | | | | | | | | Optimized by replacing `endl` with `'\n'`
| * | | Optimized by replacing `endl` with `'\n'`Nate2020-07-241-3/+2
| | | |