Yann Collet [Tue, 9 Oct 2018 21:37:51 +0000 (14:37 -0700)]
fixed #589
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).
Yann Collet [Tue, 9 Oct 2018 21:25:18 +0000 (14:25 -0700)]
added a test for LZ4F_compressEnd()
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.
Yann Collet [Tue, 2 Oct 2018 17:37:20 +0000 (10:37 -0700)]
Merge pull request #586 from blezsan/custom_block_sizes
support custom block sizes
Blaise Sanouillet [Tue, 2 Oct 2018 12:38:30 +0000 (05:38 -0700)]
support custom block sizes: fix memory leak to make CI builds happy
Blaise Sanouillet [Mon, 1 Oct 2018 12:22:50 +0000 (05:22 -0700)]
support custom block sizes: remove unneeded fudging, fix leaked filehandles, other nits
Blaise Sanouillet [Mon, 1 Oct 2018 12:09:19 +0000 (05:09 -0700)]
Merge branch 'dev' into custom_block_sizes
Yann Collet [Fri, 28 Sep 2018 23:58:01 +0000 (16:58 -0700)]
Merge pull request #587 from lz4/hintbug
fixed improper hint
Yann Collet [Fri, 28 Sep 2018 22:58:22 +0000 (15:58 -0700)]
Merge pull request #580 from khabinov/stream-error-flag-initCheck
Rename initCheck to dirtyContext and use it in LZ4_resetStream_fast()
Yann Collet [Fri, 28 Sep 2018 21:57:50 +0000 (14:57 -0700)]
fixed improper hint
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.
Oleg Khabinov [Tue, 18 Sep 2018 18:29:31 +0000 (11:29 -0700)]
Rename initCheck to dirtyContext and use it in LZ4_resetStream_fast() to check if full reset is needed.
Blaise Sanouillet [Fri, 28 Sep 2018 17:00:38 +0000 (10:00 -0700)]
support custom block sizes: fix const
Blaise Sanouillet [Fri, 28 Sep 2018 16:53:14 +0000 (09:53 -0700)]
support custom block sizes: fix usage message & remove unused functions
Blaise Sanouillet [Fri, 28 Sep 2018 16:02:36 +0000 (09:02 -0700)]
support custom block sizes - fix types
Blaise Sanouillet [Fri, 28 Sep 2018 15:02:49 +0000 (08:02 -0700)]
support custom block sizes
Yann Collet [Wed, 26 Sep 2018 20:57:09 +0000 (13:57 -0700)]
Merge pull request #578 from lz4/support128bit
Support for 128bit pointers like AS400
Yann Collet [Tue, 25 Sep 2018 21:43:19 +0000 (14:43 -0700)]
changed LZ4_streamDecode member order
to reduce memory usage on 128-bits systems
Yann Collet [Wed, 19 Sep 2018 20:48:46 +0000 (13:48 -0700)]
Merge pull request #581 from lz4/cppcheck
Added cppcheck static analyzer test
Yann Collet [Wed, 19 Sep 2018 01:08:59 +0000 (18:08 -0700)]
tried to clean another bunch of cppcheck warnings
so "funny" thing with cppcheck
is that no 2 versions give the same list of warnings.
On Mac, I'm using v1.81, which had all warnings fixed.
On Travis CI, it's v1.61, and it complains about a dozen more/different things.
On Linux, it's v1.72, and it finds a completely different list of a half dozen warnings.
Some of these seems to be bugs/limitations in cppcheck itself.
The TravisCI version v1.61 seems unable to understand %zu correctly, and seems to assume it means %u.
Yann Collet [Tue, 18 Sep 2018 23:55:17 +0000 (16:55 -0700)]
Merge branch 'dev' into cppcheck
Yann Collet [Tue, 18 Sep 2018 23:54:25 +0000 (16:54 -0700)]
Merge pull request #579 from lz4/xxhash
updated xxhash to latest version
Yann Collet [Tue, 18 Sep 2018 23:52:02 +0000 (16:52 -0700)]
added cppcheck
as Makefile target and Travis CI test.
Fixed last cppcheck warnings in tests and examples
Yann Collet [Tue, 18 Sep 2018 23:30:31 +0000 (16:30 -0700)]
fixed minor cppcheck warnings in examples
Yann Collet [Tue, 18 Sep 2018 23:08:17 +0000 (16:08 -0700)]
fixed minor cppcheck warnings in programs
Yann Collet [Tue, 18 Sep 2018 22:51:26 +0000 (15:51 -0700)]
fixed minor cppcheck warnings in lib
Yann Collet [Tue, 18 Sep 2018 19:14:26 +0000 (12:14 -0700)]
updated xxhash to latest version
Yann Collet [Tue, 18 Sep 2018 00:22:07 +0000 (17:22 -0700)]
increase size of LZ4 contexts for 128-bit systems
Yann Collet [Tue, 18 Sep 2018 00:07:00 +0000 (17:07 -0700)]
Merge branch 'dev' into support128bit
Yann Collet [Tue, 18 Sep 2018 00:06:34 +0000 (17:06 -0700)]
Merge pull request #575 from lz4/apiDoc
unpublish static-only functions
Yann Collet [Tue, 18 Sep 2018 00:05:17 +0000 (17:05 -0700)]
increase lz4hc context size as constant for 128-bit systems
Yann Collet [Fri, 14 Sep 2018 21:58:16 +0000 (14:58 -0700)]
use byU32 mode for any pointer > 32-bit
including 128-bit, like IBM AS-400
Yann Collet [Fri, 14 Sep 2018 20:51:43 +0000 (13:51 -0700)]
Merge pull request #574 from lz4/enumComma
avoid final trailing comma for enum lists
Yann Collet [Fri, 14 Sep 2018 17:11:49 +0000 (10:11 -0700)]
Merge pull request #573 from laffer1/laffer1-pkgconfig-mnbsd
FIx pkgconfig file installation on MidnightBSD
Yann Collet [Thu, 13 Sep 2018 23:14:00 +0000 (16:14 -0700)]
updated build doc
Yann Collet [Thu, 13 Sep 2018 23:02:11 +0000 (16:02 -0700)]
unpublish static-only function
these functions are now unpublished in dll by default.
One needs to opt-in, using macro LZ4_PUBLISH_STATIC_FUNCTIONS.
used this opportunity to update a bunch of api comments in lz4.h
Yann Collet [Thu, 13 Sep 2018 21:29:41 +0000 (14:29 -0700)]
avoid final trailing comma for enum lists
as detected in #485 by @JoachimSchneider.
Refactored the c_standards tests
so that these issues get automatically detected in CI tests.
Yann Collet [Wed, 12 Sep 2018 17:50:37 +0000 (10:50 -0700)]
removed image from repository
used for v1.8.2 announcement
Yann Collet [Wed, 12 Sep 2018 17:48:19 +0000 (10:48 -0700)]
fixed NEWS for v1.8.3
Lucas Holt [Wed, 12 Sep 2018 01:18:43 +0000 (21:18 -0400)]
FIx pkgconfig file installation on MidnightBSD
Yann Collet [Tue, 11 Sep 2018 17:15:31 +0000 (10:15 -0700)]
updated NEWS for v1.8.3 release
Yann Collet [Tue, 11 Sep 2018 17:01:33 +0000 (10:01 -0700)]
Merge branch 'dev' of github.com:Cyan4973/lz4 into dev
Yann Collet [Tue, 11 Sep 2018 17:01:23 +0000 (10:01 -0700)]
Merge pull request #571 from lz4/mflimit
clarify constant MFLIMIT
Yann Collet [Tue, 11 Sep 2018 00:36:40 +0000 (17:36 -0700)]
clarify constant MFLIMIT
and separate it from MATCH_SAFEGUARD_DISTANCE.
While both constants have same value,
they do not seve same purpose, hence should not be confused.
Yann Collet [Mon, 10 Sep 2018 21:44:15 +0000 (14:44 -0700)]
Merge pull request #569 from lz4/circle2
Migrate CircleCI tests from 1.0 towards 2.0
Yann Collet [Tue, 11 Sep 2018 16:55:31 +0000 (09:55 -0700)]
Merge pull request #570 from lz4/partialDecode
Partial decode
Yann Collet [Mon, 10 Sep 2018 23:48:41 +0000 (16:48 -0700)]
fixed minor warning in fuzzer.c
added a few more comments and assert()
Yann Collet [Mon, 10 Sep 2018 23:22:16 +0000 (16:22 -0700)]
restored nullifying output
to counter possible (offset==0)
Yann Collet [Mon, 10 Sep 2018 22:51:53 +0000 (15:51 -0700)]
removed temporary debug traces
Yann Collet [Mon, 10 Sep 2018 22:44:40 +0000 (15:44 -0700)]
Merge branch 'dev' into partialDecode
Yann Collet [Mon, 10 Sep 2018 21:44:15 +0000 (14:44 -0700)]
Merge pull request #569 from lz4/circle2
Migrate CircleCI tests from 1.0 towards 2.0
Yann Collet [Mon, 10 Sep 2018 20:11:56 +0000 (13:11 -0700)]
Merge pull request #565 from lz4/lz4f_init
Introduced constants LZ4F_INIT_*
Yann Collet [Mon, 10 Sep 2018 19:08:51 +0000 (12:08 -0700)]
switched to circle 2.0
using automated config-translation
Yann Collet [Mon, 10 Sep 2018 19:02:42 +0000 (12:02 -0700)]
Merge branch 'dev' of github.com:Cyan4973/lz4 into dev
Yann Collet [Mon, 10 Sep 2018 18:59:09 +0000 (11:59 -0700)]
Merge pull request #567 from laffer1/dev
Add support for MidnightBSD
Lucas Holt [Sat, 8 Sep 2018 18:46:54 +0000 (14:46 -0400)]
Add support for MidnightBSD
Yann Collet [Sat, 8 Sep 2018 01:22:01 +0000 (18:22 -0700)]
fixed fuzzer test
and removed one blind copy, since there is no more guarantee that at least 4 bytes are still available in output buffer
Yann Collet [Fri, 7 Sep 2018 23:21:31 +0000 (16:21 -0700)]
updated function interface documentation
Yann Collet [Fri, 7 Sep 2018 22:44:19 +0000 (15:44 -0700)]
first sketch for a byte-accurate partial decoder
Yann Collet [Fri, 7 Sep 2018 18:02:42 +0000 (11:02 -0700)]
updated API documentation
Yann Collet [Thu, 6 Sep 2018 19:43:29 +0000 (12:43 -0700)]
Merge pull request #563 from lz4/docDict
updated documentation for dictionary compression
Yann Collet [Thu, 6 Sep 2018 00:57:15 +0000 (17:57 -0700)]
added comments on version numbers
Yann Collet [Thu, 6 Sep 2018 00:48:40 +0000 (17:48 -0700)]
Merge pull request #564 from lz4/cTime
fixed compression time
Yann Collet [Wed, 5 Sep 2018 23:45:46 +0000 (16:45 -0700)]
frameCompress : added an error detection case
check for potential input data not consumed.
Yann Collet [Wed, 5 Sep 2018 23:43:46 +0000 (16:43 -0700)]
Merge branch 'dev' into lz4f_init
Yann Collet [Wed, 5 Sep 2018 23:35:59 +0000 (16:35 -0700)]
Merge pull request #548 from cd127/dev
Fix bug in frame decompress example
Yann Collet [Wed, 5 Sep 2018 23:04:05 +0000 (16:04 -0700)]
Introduced constants LZ4F_INIT_*
to simplify initialization of lz4frame.h structures.
Partially in response to #546.
Yann Collet [Wed, 5 Sep 2018 22:55:34 +0000 (15:55 -0700)]
Merge pull request #556 from kou/add-missing-exeext
Add missing $(EXT)
Yann Collet [Wed, 5 Sep 2018 22:16:03 +0000 (15:16 -0700)]
fixed compression time
displayed at the end (#555)
Yann Collet [Wed, 5 Sep 2018 21:07:53 +0000 (14:07 -0700)]
Merge pull request #562 from lz4/roundTrip
Round trip test for #560
Yann Collet [Wed, 5 Sep 2018 21:05:08 +0000 (14:05 -0700)]
updated documentation regarding dictionary compression
following suggestion from @stbrumme (#558)
Also : bumped version number, regenerated man page and html doc
Yann Collet [Wed, 5 Sep 2018 18:25:10 +0000 (11:25 -0700)]
removed one assert() condition
which is not correct when using LZ4_HC with dictionary and starting from a low address (<0x10000).
Yann Collet [Wed, 5 Sep 2018 01:23:21 +0000 (18:23 -0700)]
made roundTripTest fully general
no longer "locked" on level 9
Yann Collet [Wed, 5 Sep 2018 01:21:40 +0000 (18:21 -0700)]
fixed #560
it was a fairly complex scenario,
involving source files > 64K
and some extraordinary conditions related to specific layout of ranges of zeroes.
and only on level 9.
Yann Collet [Wed, 5 Sep 2018 00:37:56 +0000 (17:37 -0700)]
fix minor cast warning for C++ compilation
Yann Collet [Tue, 4 Sep 2018 23:50:34 +0000 (16:50 -0700)]
new test program : roundTripTest
make a round trip test with arbitrary input file,
generate an `abort()` on error,
to work in tandem with `afl`.
note : currently locked on level 9, to investigate #560.
Kouhei Sutou [Mon, 13 Aug 2018 05:17:54 +0000 (14:17 +0900)]
Add missing $(EXT)
Yann Collet [Thu, 9 Aug 2018 21:07:45 +0000 (14:07 -0700)]
Merge pull request #553 from mrjoel/mrjoel/cmake-optional-lz4c
Add CMake option to not build legacy lz4c program
Joel Johnson [Thu, 2 Aug 2018 06:23:00 +0000 (00:23 -0600)]
Add CMake option to not build legacy lz4c program
Yann Collet [Mon, 30 Jul 2018 10:53:11 +0000 (12:53 +0200)]
Merge pull request #552 from jackluo923/dev
fixed spelling mistake in lz4_manual and lz4.h
Jack Luo [Sun, 29 Jul 2018 02:21:57 +0000 (22:21 -0400)]
fixed spelling mistake in lz4.h
Jack Luo [Sun, 29 Jul 2018 02:12:55 +0000 (22:12 -0400)]
fixed spelling mistake in lz4_manual
Yann Collet [Tue, 17 Jul 2018 13:42:48 +0000 (15:42 +0200)]
Merge pull request #547 from jennifermliu/dev
Add --fast command to cli
Yann Collet [Mon, 16 Jul 2018 10:15:21 +0000 (03:15 -0700)]
Merge pull request #550 from terrelln/compress-doc
Fix LZ4_compress_fast_continue() docs
Nick Terrell [Tue, 10 Jul 2018 18:44:03 +0000 (11:44 -0700)]
Fix LZ4_compress_fast_continue() docs
Fixes #549.
Cedric De Brito [Mon, 2 Jul 2018 12:35:04 +0000 (14:35 +0200)]
Fix bug in frame decompress example
The decompression was failing as the srcEnd pointer in
decompress_file_internal was wrongly computed beyond
the end of the memory block.
We need to account for the fact that the header ("info")
was already read in the calling function ("alreadyConsumed").
Jennifer Liu [Wed, 27 Jun 2018 20:36:38 +0000 (13:36 -0700)]
Fixed bugs about incorrect acceleration calculation and benchmarking negative compresion level
Jennifer Liu [Wed, 27 Jun 2018 00:53:12 +0000 (17:53 -0700)]
Fixed invalid argument test and reformatted else
Jennifer Liu [Wed, 27 Jun 2018 00:31:15 +0000 (17:31 -0700)]
Fixed code based on comments from pull request
Jennifer Liu [Tue, 26 Jun 2018 21:48:58 +0000 (14:48 -0700)]
Removed duplicated circile.yml file
Jennifer Liu [Tue, 26 Jun 2018 18:24:21 +0000 (11:24 -0700)]
Fixed lz4 not found error part 2
Jennifer Liu [Tue, 26 Jun 2018 18:15:55 +0000 (11:15 -0700)]
Fixed lz4 not found error
Jennifer Liu [Tue, 26 Jun 2018 17:49:39 +0000 (10:49 -0700)]
delete commented out code in bench.c
Jennifer Liu [Tue, 26 Jun 2018 17:33:15 +0000 (10:33 -0700)]
fix yml file
Jennifer Liu [Tue, 26 Jun 2018 01:51:47 +0000 (18:51 -0700)]
Fixed bug about file to be compressed is not present
Jennifer Liu [Tue, 26 Jun 2018 00:46:39 +0000 (17:46 -0700)]
Added --fast command to cli
Jennifer Liu [Wed, 20 Jun 2018 20:37:49 +0000 (13:37 -0700)]
set up sample .ysml
Yann Collet [Fri, 1 Jun 2018 21:40:22 +0000 (14:40 -0700)]
Merge pull request #543 from nrgiii/aix_32bit_fuzzer
Aix 32bit fuzzer
Norm Green [Fri, 1 Jun 2018 19:00:41 +0000 (12:00 -0700)]
Merge branch 'master' of https://github.com/nrgiii/lz4 into aix_32bit_fuzzer
Norm Green [Fri, 1 Jun 2018 18:52:22 +0000 (11:52 -0700)]
Fix AIX 32 bit build problem of fuzzer.c
Yann Collet [Tue, 29 May 2018 21:20:48 +0000 (14:20 -0700)]
Merge pull request #542 from wbx-github/dev
allow to override uname when cross-compiling
Yann Collet [Tue, 22 May 2018 21:20:45 +0000 (14:20 -0700)]
Merge pull request #541 from felixhandte/hc-extern-c
Add `extern "C"` Guard Around Experimental HC Declarations