Yann Collet
d8d5f14138
fixed loadDictHC
...
by making a full initialization
instead of a fast reset.
2019-04-09 15:37:59 -07:00
Yann Collet
14c71dfa9c
modified LZ4_initStreamHC() to look like LZ4_initStream()
...
it is now a pure initializer, for statically allocated states.
It can initialize any memory area, and because of this, requires size.
2019-04-09 13:55:42 -07:00
Yann Collet
2ece0d8380
created LZ4_initStream()
...
- promoted LZ4_resetStream_fast() to stable
- moved LZ4_resetStream() into deprecate, but without triggering a compiler warning
- update all sources to no longer rely on LZ4_resetStream()
note : LZ4_initStream() proposal is slightly different :
it's able to initialize any buffer, provided that it's large enough.
To this end, it accepts a void*, and returns an LZ4_stream_t*.
2019-04-05 12:56:26 -07:00
Yann Collet
2a94faf462
fixed _GNU_SOURCE duplicate
2019-04-05 11:55:34 -07:00
Yann Collet
a4f1635b0a
fuzzer: fixed strict c99 with mmap+MAP_ANONYMOUS
2019-04-05 11:47:06 -07:00
Yann Collet
c491df54ec
created LZ4_initStreamHC()
...
- promoted LZ4_resetStreamHC_fast() to stable
- moved LZ4_resetStreamHC() to deprecated (but do not generate a warning yet)
- Updated doc, to highlight difference between init and reset
- switched all invocations of LZ4_resetStreamHC() onto LZ4_initStreamHC()
- misc: ensure `make all` also builds /tests
2019-04-04 17:05:11 -07:00
Yann Collet
7a39fb8fb6
make _fast*()
decoder generate a deprecation warning
...
updated modification
2019-04-04 12:47:36 -07:00
Yann Collet
186015a5d2
fixed strict C++ compilation
2019-01-09 13:45:42 -08:00
Yann Collet
baed01a9c7
fixed long sequence overflow test
2019-01-09 13:38:33 -08:00
Yann Collet
fbebf0345d
minor explicit cast warning
2019-01-09 13:18:43 -08:00
Yann Collet
7741c60f98
add a test to check long sequences ( #631 )
...
the test fails, as intended,
since #631 is not merged yet in this branch.
2019-01-09 12:09:52 -08:00
Lzu Tao
b9d3080d75
clang: Fix -Wcast-qual
2018-12-02 20:30:25 +07:00
Lzu Tao
0241755dbf
Fix clang warnings: -Wformat-pedantic and -Werror=overflow
2018-12-02 20:12:24 +07:00
Oleg Khabinov
f27ea0774e
Adding information about dirty context for _HC_ family of functions
2018-10-10 10:33:04 -07:00
Oleg Khabinov
28eb88d988
Some followups and renamings
2018-10-01 15:19:45 -07:00
Oleg Khabinov
f2ae385c2f
Rename initCheck to dirtyContext and use it in LZ4_resetStream_fast() to check if full reset is needed.
2018-09-28 14:55:05 -07:00
Yann Collet
b87a8e9e62
fixed minor warning in fuzzer.c
...
added a few more comments and assert()
2018-09-10 16:48:41 -07:00
Yann Collet
e22bb80074
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
2018-09-07 18:22:01 -07:00
Yann Collet
bf614d3c51
first sketch for a byte-accurate partial decoder
2018-09-07 15:44:19 -07:00
Yann Collet
30f6f34328
removed one assert() condition
...
which is not correct when using LZ4_HC with dictionary and starting from a low address (<0x10000).
2018-09-05 11:25:10 -07:00
Norm Green
ebe7e35601
Fix AIX 32 bit build problem of fuzzer.c
2018-06-01 11:52:22 -07:00
Yann Collet
999a8488f6
removed test that might be optimized away
...
under UB rule "no overflow on int"
2018-05-02 13:57:33 -07:00
Yann Collet
93cf628a08
introduce LZ4_decoderRingBufferSize()
...
fuzzer : fix and robustify ring buffer tests
2018-05-02 13:01:04 -07:00
Yann Collet
41ad238bf9
Merge pull request #515 from svpv/refactorDec
...
lz4.c: refactor the decoding routines
2018-04-29 07:41:35 -07:00
Alexey Tourbin
ce4e1389cc
fuzzer.c: enabled ring buffer tests for decompress_fast
...
Ring buffer tests were performed only with LZ4_decompress_safe_continue,
leaving my buggy changes to LZ4_decompress_safe_continue undetected.
The tests are now replicated and performed in a similar manner for both
LZ4_decompress_safe_continue and LZ4_decompress_safe_continue (except
for the small buffer case where only one function can be tested,
because part of the dictionary is overwritten with the output).
I also updated function names in the messages (changed them to the
actual ones). The error was reported for LZ4_decompress_safe(),
which I found misleading.
2018-04-27 07:27:10 +03:00
Yann Collet
b2637ab7b2
Merge pull request #512 from lz4/HC_dict
...
In-place unmutable dictionaries for LZ4HC
2018-04-24 13:18:40 -07:00
Nick Terrell
672799e814
Fix compilation error and assert.
2018-04-23 14:21:02 -07:00
Nick Terrell
bb83cad98f
Fix input size validation edge cases
...
The bug is a read up to 2 bytes past the end of the buffer.
There are three cases for this bug, one for each test case added.
* An empty input causes `token = *ip++` to read one byte too far.
* A one byte input with `(token >> ML_BITS) == RUN_MASK` causes
one extra byte to be read without validation. This could be
combined with the first bug to cause 2 extra bytes to be read.
* The case pointed out in issue #508 , where `ip == iend` at the
beginning of the loop after taking the shortcut.
Benchmarks show no regressions on clang or gcc-7 on both my mac
and devserver.
Fixes #508 .
2018-04-23 13:34:18 -07:00
W. Felix Handte
209c9c29d1
Add Some Simple Fuzzer Tests
2018-04-20 15:16:41 -04:00
Yann Collet
444211d259
edited a few traces for debugging
2018-04-16 17:16:08 -07:00
Yann Collet
4aff9b10b5
fixed fuzzer tests
...
which were modified in parallel within branc `dev`
2018-04-16 16:14:28 -07:00
Yann Collet
b5528ac86c
Merge branch 'dev' into lowAddr
2018-04-16 16:12:38 -07:00
W. Felix Handte
9f0f6b89bb
Further Test that ExtDictCtx Mode Produces the Exact Same Output
2018-04-13 11:50:52 -04:00
W. Felix Handte
6dd64e0776
Add Tests for LZ4_attach_dictionary and Friends
2018-04-13 11:50:52 -04:00
test4973
8af32ce6f7
modified a few traces for debug
2018-04-12 13:35:19 -07:00
test4973
ad7e040384
fix minor conversion warning
...
cast from void not implicit for C++
2018-04-09 20:38:00 -07:00
test4973
f9992fa37f
noticed a bug when re-using hash table
...
./fuzzer -vv -s4217 -t7518
2018-04-05 19:09:24 -07:00
test4973
6d931b6a93
fixed lz4 compression starting at small address
...
when using byU32 and byU16 modes
2018-04-05 12:40:33 -07:00
test4973
c3f0ed28ff
added low address fuzzer tests
2018-03-21 07:14:13 -07:00
Yann Collet
20e969e579
fuzzer: added low address compression test
...
is expected to work on linux+gcc only.
2018-02-05 15:19:00 -08:00
Yann Collet
7d2f30c7d1
lz4opt supports _destSize
...
no longer limited to level 9
2017-12-22 12:47:59 +01:00
Yann Collet
fdde4311fb
/tests programs compiled with LZ4_DEBUG=1
...
to enable assert() within /lib
2017-12-22 11:54:43 +01:00
Yann Collet
1025546347
unified HC levels
...
LZ4_setCompressionLevel() can be users accross the whole range of HC levels
No more transition issue between Optimal and HC modes
2017-11-03 11:28:28 -07:00
Yann Collet
0d073d4d28
added extern C
for lz4.h static section
...
should make the file more compatible with C++ compiler, such as Visual or g++
2017-03-17 15:11:09 -07:00
Yann Collet
aae447fffd
LZ4_compress_HC_continue_destSize() works as intended up to level 10
...
It's incompatible with btopt though,
so cLevel >= 11 feature much reduced performance (degraded mode)
2017-03-16 15:41:30 -07:00
Yann Collet
cd35f0d98c
LZ4_compress_HC_destSize() uses LZ4HC_compress_generic() code path
...
Limits compression level to 10,
to remain compatible with Hash Chain.
2017-03-16 15:10:38 -07:00
Yann Collet
430b7d32b3
created LZ4_HC_STATIC_LINKING_ONLY section
...
where are exposed new prototypes *_destSize()
2017-03-16 02:16:24 -07:00
remittor
66b26a389f
tests: fuzzer: Add test for LZ4_compressHC_destSize
2017-03-08 11:13:28 +03:00
Przemyslaw Skibinski
d2b51c22d3
fuzzer: tests more compression levels
2016-12-28 17:47:10 +01:00
Przemyslaw Skibinski
1c80b9af4e
LZ4HC_getSearchNum
2016-12-28 15:18:19 +01:00