Commit Graph

2152 Commits

Author SHA1 Message Date
Yann Collet
4790994568 fuzzer : reduced stack usage 2019-04-18 17:12:14 -07:00
Yann Collet
6cb084ed36 fuzzer: reduce stack usage to please Visual static analyzer 2019-04-18 17:01:36 -07:00
Yann Collet
0b876db6d4 address a few minor Visual warnings
and created target cxx17build
2019-04-18 16:07:16 -07:00
Yann Collet
5a6d72447a
Merge pull request #678 from lz4/decFast
Fix out-of-bound read in LZ4_decompress_fast()
2019-04-18 14:29:20 -07:00
Yann Collet
4f6de46f60 fix several minor static analyzer warnings 2019-04-18 12:05:50 -07:00
Yann Collet
3f558163ad fuzzer: fixed scan-build leak warning
the program exit(),
so there is no need to track and dealloc every buffer.
2019-04-18 10:38:51 -07:00
Yann Collet
8f0e744063 fuzzer: fix explicit cast for C++ 2019-04-17 15:44:14 -07:00
Yann Collet
5acfb15df0 re-enable FORCE_INLINE
was disabled for tests
2019-04-17 15:33:37 -07:00
Yann Collet
25d96f1e4d fix out-of-bound read within LZ4_decompress_fast()
and deprecate LZ4_decompress_fast(),
with deprecation warnings enabled by default.

Note that, as a consequence of the fix,
LZ4_decompress_fast is now __slower__ than LZ4_decompress_safe().
That's because, since it doesn't know the input buffer size,
it must progress more cautiously into the input buffer
to ensure to out-of-bound read.
2019-04-17 15:01:53 -07:00
Yann Collet
1ed69691a1 fuzzer: added tests to detect LZ4_decompress_fast() out of bound read 2019-04-17 13:31:24 -07:00
Yann Collet
b59fd652e8
Merge pull request #674 from nrgiii/dev
Fix
2019-04-17 10:43:38 -07:00
Norm Green
c329ab1d7b Merge branch 'fuzzerAix' into dev 2019-04-17 09:35:18 -07:00
Norm Green
1848ea5cbd Fix AIX errors/warnings 2019-04-17 09:20:09 -07:00
Yann Collet
5dde00e5d3 fixed version number for lz4hc 2019-04-16 20:46:04 -07:00
Yann Collet
131896ab9d
Merge pull request #673 from lz4/dev
minor update for v1.9.0
2019-04-16 13:55:28 -07:00
Yann Collet
d25b6d6401 minor benchmark update
was using wrong memory timing
2019-04-16 11:52:54 -07:00
Yann Collet
6fc763cd98 ensure consistent definition and usage of FREEMEM
as suggested by @sloutsky in #671
2019-04-16 11:26:03 -07:00
Yann Collet
108adfcb42 minor news update
for msys2
2019-04-16 11:20:31 -07:00
Yann Collet
f1226ac53d
Merge pull request #670 from lz4/dev
v1.9.0
2019-04-16 10:07:41 -07:00
Yann Collet
fc3176f6aa updated NEWS for v1.9.0 2019-04-15 17:30:31 -07:00
Yann Collet
a067441f56
Merge pull request #669 from lz4/fixframe
Fix lz4frame inefficiency
2019-04-15 15:32:03 -07:00
Yann Collet
920c988669 simplified output_directive 2019-04-15 14:13:10 -07:00
Yann Collet
55f6f0dd74 fix comma for pedantic 2019-04-15 11:22:25 -07:00
Yann Collet
0d4a974639 Merge branch 'dev' into fixframe 2019-04-15 11:18:33 -07:00
Yann Collet
ac5d2629c1 added a fake initialization to please an analyzer
which is unable to understand that the variable is necessarily initialized
in spite of an assert just before.
2019-04-15 11:17:35 -07:00
Yann Collet
ce0f316989 fix fuzzer tests on dirty context
context is no longer dirty after a failed compressed block.
Actually, all indexes are fine.
It remains compatible with continued streaming, and reset*_fast().
2019-04-15 11:12:54 -07:00
Yann Collet
474c17cdc4 unified limitedOutput_directive
between lz4.c and lz4hc.c .
was left in a strange state after the "amalgamation" patch.

Now only 3 directives remain,
same name across both implementations,
single definition place.

Might allow some light simplification due to reduced nb of states possible.
2019-04-15 11:09:56 -07:00
Yann Collet
799112b812 Merge branch 'dev' into fixframe 2019-04-15 10:46:48 -07:00
Yann Collet
98e5c0062f added more margin for canary in frametest 2019-04-15 10:44:46 -07:00
Yann Collet
1f4a412646 decompress*_fast() function do not generate deprecation warnings
they are classified as deprecated in the API documentation (lz4.h)
but do not yet trigger a warning,
to give time to existing applications to move away.

Also, the _fast() variants are still ~5% faster than the _safe() ones
after Dave's patch.
2019-04-15 10:33:40 -07:00
Yann Collet
481a37fe47 fixed lz4frame with linked blocks
when one block was not compressible,
it would tag the context as `dirty`,
resulting in compression automatically bailing out of all future blocks,
making the rest of the frame uncompressible.
2019-04-15 10:28:36 -07:00
Yann Collet
3ab916c6a2 frametest: removed uninitialized warning
was a false positive, but better remove it anyway
2019-04-15 10:14:36 -07:00
Yann Collet
9c41e5804e assert() the failed test
ensure canary remains within buffer limits
2019-04-15 02:11:59 -07:00
Yann Collet
c222dd9010 fixed frametest
One test could write a canary value out of bound
in exceptional conditions involving multiple flushes
triggered by -s3421 -t462948.
2019-04-15 01:54:40 -07:00
Yann Collet
3215069741 Merge branch 'dev' of github.com:Cyan4973/lz4 into dev 2019-04-13 15:55:33 -07:00
Yann Collet
749c3400bd fixed incorrect assertion condition
output can use the full length of output buffer
2019-04-13 15:55:06 -07:00
Yann Collet
cffde7eeb9
Merge pull request #668 from lz4/visual
Fix some Visual conversion warnings
2019-04-13 14:15:48 -07:00
Yann Collet
31763c59fc updated benchmark table 2019-04-12 18:00:43 -07:00
Yann Collet
63bfb64b80 and even more visual conversion warnings 2019-04-12 17:40:23 -07:00
Yann Collet
5fba3ac522
Merge pull request #667 from lz4/pipeMultiple
Fix combination -m -c
2019-04-12 17:29:44 -07:00
Yann Collet
8c2429ed1f some more Visual conversion warning 2019-04-12 17:06:53 -07:00
Yann Collet
c7554c3004 fixed minor Visual conversion warnings 2019-04-12 17:03:28 -07:00
Yann Collet
dd43b913a2 fix minor visual warning
yet some overly cautious overflow risk flag,
while it's actually impossible, due to previous test just one line above.
Changing the cast position, just to be please the thing.
2019-04-12 16:56:22 -07:00
Yann Collet
f8b7605034 fixed minor Visual warnings
since Visual 2017,
worries about potential overflow, which are actually impossible.
Replaced (c * a) by (c ? a : 0).
Will likely replaced a * by a cmov.
Probably harmless for performance.
2019-04-12 16:49:01 -07:00
Yann Collet
9c49e3ca07 added tests for -d -m -c
seems to work properly
2019-04-12 16:10:55 -07:00
Yann Collet
e865a3e7ec fixed lz4 -m -c
can compress multiple files into stdout
2019-04-12 15:17:48 -07:00
Yann Collet
2de183c92a
Merge pull request #666 from lz4/blockIndep
added command -BI for "Independent Blocks"
2019-04-12 14:28:44 -07:00
Yann Collet
20c2a5fc94 added command -BI for "Independent Blocks"
This is the reverse of `-BD`, and the current default.

This command can be useful to reverse a previous `-BD` command.
It may in the future be more important
if `lz4` switches to generating dependent blocks by default.
2019-04-12 13:27:11 -07:00
Yann Collet
352bbdb98e updated man page
with --favor-decSpeed
2019-04-12 13:15:05 -07:00
Yann Collet
21ff1a839a updated doc to underline difference between block and frame
as this is a very frequent source of confusion for new users.
2019-04-12 11:27:44 -07:00