Commit Graph

6692 Commits

Author SHA1 Message Date
Nick Terrell
e2030a2c40 [fuzz] Add a DEBUGLOG(3) statement to print file
Enable it by building with this command:

```
./fuzz.py build all --debug 3
```
2019-08-22 17:27:15 -07:00
Nick Terrell
a505463710
Merge pull request #1726 from nmagerko/stream-size
Add --stream-size=# option
2019-08-22 11:31:15 -07:00
Nick Magerko
fd486a846a Differentiate --stream-size from --size-hint 2019-08-22 09:37:47 -07:00
Nick Magerko
2cdda8b3c4 Minor documentation update 2019-08-22 09:13:28 -07:00
Nick Magerko
b3540507f5 Remove bc from play tests 2019-08-21 10:27:54 -07:00
Nick Terrell
54ad33448c
Merge pull request #1737 from terrelln/legacy-fix
[legacy] Fix buffer overflow in v0.2 and v0.4 raw literals decompression
2019-08-21 10:10:24 -07:00
Nick Terrell
188311dd4a
Merge pull request #1736 from terrelln/fuzz-fix
[fuzz] Improve fuzzer build script and docs
2019-08-21 10:09:38 -07:00
Yann Collet
69c875a0cc
Merge pull request #1724 from facebook/blockSize
clarifications on field `Block_Size`
2019-08-21 05:19:43 -07:00
Yann Collet
38b6428fcd
Merge pull request #1725 from emaste/dev
remove extraneous doubled ;s
2019-08-21 05:19:30 -07:00
Yann Collet
fe0877c664
Merge pull request #1721 from facebook/seq127
fixed very minor inefficiency (nbSeq==127)
2019-08-21 05:19:12 -07:00
Nick Terrell
07f22d465d [legacy] Fix buffer overflow in v0.2 and v0.4 raw literals decompression
Extends the fix in PR#1722 to v0.2 and v0.4. These aren't built into
zstd by default, and v0.5 onward are not affected.

I only add the `srcSize > BLOCKSIZE` check to v0.4 because the comments
say that it must hold, but the equivalent comment isn't present in v0.2.

Credit to OSS-Fuzz.
2019-08-20 17:13:04 -07:00
Nick Terrell
3982935aef [fuzz] Improve fuzzer build script and docs
* Remove the `make libFuzzer` target since it is broken and obsoleted
  by `CC=clang CXX=clang++ ./fuzz.py build all --enable-fuzzer`. The
  new `-fsanitize=fuzzer` is much better because it works with MSAN
  by default.
* Improve the `./fuzz.py gen` command by making the input type explicit
  when creating a new target.
* Update the `README` for `--enable-fuzzer`.

Fixes #1727.
2019-08-20 16:44:50 -07:00
Nick Magerko
30bfa228e8 Keep content size flag set in stream size mode 2019-08-19 11:20:28 -07:00
Nick Magerko
a24dc3a935 Remove extraneous variables 2019-08-19 11:14:56 -07:00
Nick Magerko
f781cf672b Remove extraneous parameter 2019-08-19 11:07:43 -07:00
Nick Magerko
bbd83c2ab3 Update man page 2019-08-19 09:11:22 -07:00
Nick Magerko
c403b12f9d Set pledged size just before compression 2019-08-19 09:01:31 -07:00
Yann Collet
97bb38635c number instead of nb
suggested by @terrelln
2019-08-17 08:04:42 +02:00
Nick Magerko
85d07c6c47 Tweak stdout, stderr redirection in new playTests 2019-08-16 12:49:21 -07:00
Nick Magerko
af0c9501d1 Add --stream-size=# command 2019-08-16 11:34:39 -07:00
Yann Collet
1e07eb4d5c clarifications on the meaning of field Block_Size
following comments from Intel's Smita Kumar.
2019-08-16 15:15:25 +02:00
Ed Maste
b81d7cc6a0 remove extraneous doubled ;s 2019-08-15 21:17:06 -04:00
Felix Handte
c9072ee674
Merge pull request #1722 from felixhandte/legacy-decompression-fix
Fix Buffer Overflow in Legacy (v0.3) Raw Literals Decompression
2019-08-15 15:55:46 -04:00
W. Felix Handte
d6f31e1c38 Add to CHANGELOG for Upcoming Release 2019-08-15 14:42:38 -04:00
W. Felix Handte
a42bbb4e05 Fix Buffer Overflow in Legacy (v0.3) Raw Literals Decompression 2019-08-15 14:28:30 -04:00
Yann Collet
782bfb858a fixed very minor inefficiency (nbSeq==127)
The nbSeq "short" format (1-byte)
is compatible with any value < 128.

However, the code would cautiously only accept values < 127.
This is not an error, because the general 2-bytes format
is compatible with small values < 128.
Hence the inefficiency never triggered any warning.

Spotted by Intel's Smita Kumar.
2019-08-15 16:41:34 +02:00
Felix Handte
87e31223e8
Merge pull request #1711 from felixhandte/changelog-v1.4.3
Update Changelog for v1.4.3
2019-08-06 17:02:37 -04:00
W. Felix Handte
6b68980173 Update Changelog for v1.4.3 2019-08-06 17:01:46 -04:00
Yann Collet
01b2331ad1 bumped version number
to v1.4.3
2019-08-05 17:17:16 +02:00
Yann Collet
61936ba42a
Merge pull request #1705 from josepho0918/dev
Add support for IAR C/C++ Compiler for Arm
2019-08-05 15:57:28 +02:00
Yann Collet
26351071bc
Merge pull request #1706 from LeeYoung624/dev
add NULL pointer check in util.c
2019-08-05 15:56:50 +02:00
Yann Collet
b2e71faaa8
Merge pull request #1709 from facebook/fix1624
Fix compression ratio inefficiency
2019-08-05 15:54:59 +02:00
Yann Collet
facbe8b2c2 factored the logic selecting lowest match index
as suggested by @terrelln
2019-08-05 15:18:43 +02:00
Yann Collet
0b0b83e8f3 fix test 122
it's an unsupported scenario.
2019-08-03 16:51:26 +02:00
Yann Collet
efe8496755 minor test refactoring
just for clarity, for the currently failing unit test
2019-08-02 19:31:19 +02:00
Yann Collet
387e20d4f0 fixed minor conversion warning in datagen 2019-08-02 18:02:54 +02:00
Yann Collet
37f47e51a8 fixed datagen
to produce same content on both 32 and 64-bit platforms
by removing floating from literal table determination.

also : added checksum trace in compression control test,
so that it's easier to determine if test fails
as a consequence of compressing a different sample.
2019-08-02 17:34:53 +02:00
Yann Collet
d1927f0b39 regenerate sample to compress
to reduce chances of differences between 32 and 64-bit fuzzer tests
2019-08-02 15:31:00 +02:00
Yann Collet
98e7c344cd fixed strategies btopt+ 2019-08-02 14:42:53 +02:00
Yann Collet
b4257b04e7 fixed strategy btlazy2 2019-08-02 14:26:26 +02:00
Yann Collet
5cf1b24aca fixed strategies greedy, lazy & lazy2
restore dictionary compression ratio
2019-08-02 14:21:39 +02:00
Yann Collet
2115292616 minor : fixed ptr arithmetic
invalid on void ptr
2019-08-01 17:12:26 +02:00
Yann Collet
810a9cac08 added efficiency test
to detect gross CR variations after a patch.

Tests normal and dictionary compression.
2019-08-01 16:59:22 +02:00
Yann Collet
98692c2838 fixed compression ratio regression when dictionary-compressing medium-size inputs at levels 1-3 2019-08-01 15:58:17 +02:00
Yann Collet
c25df8ba3f
Merge pull request #1707 from felixhandte/travis-versions-test
Run `versionsTest` in CI
2019-07-31 13:43:00 +02:00
W. Felix Handte
904734e484 Run versionsTest in CI 2019-07-30 20:11:25 -04:00
LeeYoung624
c5caaf52a4 bug fix : NULL pointer 2019-07-29 17:05:50 +08:00
Joseph Chen
3855bc4295 Add support for IAR C/C++ Compiler for Arm 2019-07-29 15:25:58 +08:00
Felix Handte
d95ac34202
Merge pull request #1701 from LeeYoung624/dev
memory leak fix
2019-07-25 11:56:37 -04:00
LeeYoung624
793b94b354 memory leak fix 2019-07-25 21:07:57 +08:00