Nick Terrell
5f228f8db2
[libzstd] Add a ZSTD_STATIC_ASSERT for BIT_DStream_status
2019-04-23 14:22:16 -07:00
Nick Terrell
a892e25374
[libzstd] Error if all sequence bits aren't consumed
2019-04-23 14:07:36 -07:00
Nick Terrell
b758250eb1
Merge pull request #1595 from terrelln/legacy-fix
...
[legacy] Fix ZSTDv0*_decodeSequence()
2019-04-19 12:23:50 -07:00
Nick Terrell
0fd322f812
[legacy] Fix ZSTDv0*_decodeSequence()
...
* Version <= 0.5 could read beyond the end of `dumps`, which points into
the input buffer.
* Check the validity of `dumps` before using it, if it is out of bounds
return garbage values. There is no return code for this function.
* Introduce `MEM_readLE24()` for simplicity, since I don't want to trust
that there is an extra byte after `dumps`.
2019-04-19 11:34:52 -07:00
Nick Terrell
9ad7ea44ec
Merge pull request #1594 from terrelln/legacy-fix
...
[legacy] Fix Huffman jump table reads in v01 and v05
2019-04-18 17:29:32 -07:00
Nick Terrell
2536771134
[legacy] Fix Huffman jump table reads in v01 and v05
2019-04-18 16:20:42 -07:00
Nick Terrell
a8db4bd3fe
Merge pull request #1593 from terrelln/legacy-fix
...
[fuzzer] Run fuzzers in legacy mode and fix legacy code
2019-04-18 16:07:42 -07:00
Nick Terrell
785331acbd
[paramgrill] Fix mingw build errors
2019-04-18 15:06:56 -07:00
Nick Terrell
579f3d7794
[legacy] Fix bug in ZSTD_decodeSeqHeaders()
2019-04-18 13:41:10 -07:00
Nick Terrell
ac098c7f5f
[legacy] Fix a bug in ZSTDv06_findFrameSizeInfoLegacy()
2019-04-18 13:33:26 -07:00
Nick Terrell
610a81ecf9
[fuzzer] Compile with legacy support
2019-04-18 12:44:55 -07:00
Nick Terrell
cc669006dc
[fuzzer] Size the decompression output buffer randomly
2019-04-18 12:44:21 -07:00
Nick Terrell
af3531ee35
Merge pull request #1590 from terrelln/frame-info-fuzz
...
[fuzzer] Fuzz frame info functions
2019-04-17 12:13:49 -07:00
Nick Terrell
58bcc328a4
[fuzz] Add a seedcorpora target for oss-fuzz
2019-04-17 12:13:06 -07:00
Nick Terrell
ee130a9889
[libzstd] Check the size in readSkippableFrameSize()
2019-04-17 11:41:55 -07:00
Nick Terrell
5922f4e2ae
[legacy] Return the right error code
2019-04-17 11:34:52 -07:00
Nick Terrell
09caa4d800
[fuzzer] Add a fuzzer for frame info functions
...
Add a fuzzer that fuzzes all helper functions that take compressed
input. This fuzzer caught one out of bounds read in
`ZSTD_decompressBound()`.
2019-04-17 11:29:42 -07:00
Nick Terrell
450feb0f95
[libzstd] Fix ZSTD_decompressBound() on bad skippable frames
...
The function didn't verify that the skippable frame size is correct.
2019-04-17 11:29:42 -07:00
Nick Terrell
b85f7d7790
Merge pull request #1589 from terrelln/appveyorTest
...
[libzstd] Require ZSTD_MULTITHREAD to create a ZSTDMT_CCtx
2019-04-16 12:32:19 -07:00
Nick Terrell
a17fe4c9e5
[visual] Fix unreachable code warning
2019-04-16 11:32:35 -07:00
Yann Collet
41ad46f1a9
Merge pull request #1588 from terrelln/release-prep
...
[fullbench] Fix speed measurements
2019-04-16 10:11:28 -07:00
Nick Terrell
82d5a9870e
[visual] Compile with ZSTD_MULTITHREAD=1
...
This branch `appveyorTests` runs the tests that `master` runs, so
passing Appveyor means that the tests are fixed.
2019-04-15 23:04:46 -07:00
Nick Terrell
de0499f7fa
[libzstd] Require ZSTD_MULTITHREAD to create a ZSTDMT_CCtx
...
ZSTDMT was broken when compiled without ZSTD_MULTITHREAD defined,
because `ZSTD_CCtx_setParameter(cctx, ZSTD_c_nbWorkers, nbWorkerss)`
failed. It was detected by the MSVC test which runs the fuzzer with
multithreading disabled.
This is a very niche use case of a deprecated API, because the API is
inefficient and synchronous, since `threading.h` will be synchronous.
Users almost certainly don't want this, and anyone who tested their code
should realize that it is broken. Therefore, I think it is safe to
require `ZSTD_MULTITHREAD` to be defined to use ZSTDMT.
2019-04-15 23:04:46 -07:00
Nick Terrell
a48e32ca50
[fullbench] Fix measurements
2019-04-15 21:01:48 -07:00
Nick Terrell
a821aee3b1
Merge pull request #1587 from terrelln/release-prep
...
[playTets] Don't pass status=none to dd
2019-04-15 16:42:26 -07:00
Nick Terrell
6996804d05
[playTets] Don't pass status=none to dd
...
The OS X test machine on TravisCI doesn't recognize the parameter
https://travis-ci.org/facebook/zstd/jobs/520517933 .
2019-04-15 16:21:46 -07:00
Nick Terrell
d86c7ad458
Merge pull request #1585 from terrelln/release-prep
...
Prepare for the zstd-1.4.0 release
2019-04-15 14:41:50 -07:00
Nick Terrell
bef61221a3
Update the changelog for zstd-1.4.0
2019-04-15 14:33:46 -07:00
Nick Terrell
203aac5bc6
Update benchmarks in README
2019-04-15 13:57:14 -07:00
Josh Soref
a880ca239b
Spelling ( #1582 )
...
* spelling: accidentally
* spelling: across
* spelling: additionally
* spelling: addresses
* spelling: appropriate
* spelling: assumed
* spelling: available
* spelling: builder
* spelling: capacity
* spelling: compiler
* spelling: compressibility
* spelling: compressor
* spelling: compression
* spelling: contract
* spelling: convenience
* spelling: decompress
* spelling: description
* spelling: deflate
* spelling: deterministically
* spelling: dictionary
* spelling: display
* spelling: eliminate
* spelling: preemptively
* spelling: exclude
* spelling: failure
* spelling: independence
* spelling: independent
* spelling: intentionally
* spelling: matching
* spelling: maximum
* spelling: meaning
* spelling: mishandled
* spelling: memory
* spelling: occasionally
* spelling: occurrence
* spelling: official
* spelling: offsets
* spelling: original
* spelling: output
* spelling: overflow
* spelling: overridden
* spelling: parameter
* spelling: performance
* spelling: probability
* spelling: receives
* spelling: redundant
* spelling: recompression
* spelling: resources
* spelling: sanity
* spelling: segment
* spelling: series
* spelling: specified
* spelling: specify
* spelling: subtracted
* spelling: successful
* spelling: return
* spelling: translation
* spelling: update
* spelling: unrelated
* spelling: useless
* spelling: variables
* spelling: variety
* spelling: verbatim
* spelling: verification
* spelling: visited
* spelling: warming
* spelling: workers
* spelling: with
2019-04-12 11:18:11 -07:00
Nick Terrell
13fddac46d
Merge pull request #1583 from lzutao/meson
...
Fix tests and meson build
2019-04-12 11:13:20 -07:00
Lzu Tao
e31e7ca9ed
travis: Make Mesonbuild non-optional
2019-04-12 23:43:34 +07:00
Lzu Tao
6c9b023f3e
meson: Fix build
2019-04-12 21:28:36 +07:00
Lzu Tao
fb6901b2c0
tests: Add missing header timefn.h
2019-04-12 21:28:17 +07:00
Yann Collet
8ac2831f3d
Merge pull request #1581 from facebook/benchfn
...
benchfn's reduced dependencies
2019-04-11 14:23:04 -07:00
Yann Collet
1e01560b83
fixed timespec_get() initialization bug on some targets
...
not sure why, but msan fires an "unitialized variable" error
when time gets properly initialized by timespec_get().
Maybe in some cases, not all bytes of the structure are initialized ?
Or maybe msan fails to detect the initialization ?
Anyway, pre-initializing the variable before passing it to timespec_get() works.
2019-04-11 13:46:30 -07:00
Yann Collet
058da605cb
fixed minor conversion warning
2019-04-11 12:25:27 -07:00
Yann Collet
f8e9bec73a
fixed poolTests on Windows
...
must use ZSTD_ prefix in front of pthread types
so that they get properly translated for Windows.
2019-04-11 12:03:42 -07:00
Yann Collet
8f56fa2f58
fixed poolTests
...
added poolTests to all
2019-04-11 09:50:39 -07:00
Nick Terrell
9563fb4bfc
Merge pull request #1580 from terrelln/dict-fuzz
...
[libzstd] Fix decompression dictionary bugs and clean up initialization
2019-04-10 19:29:09 -07:00
Yann Collet
30c26ab726
fixed minor warning
...
unused variable when assert() turned off in fileio.c
2019-04-10 17:48:56 -07:00
Yann Collet
fbdd30d68e
fixed cmake build script for test programs
2019-04-10 17:47:01 -07:00
Nick Terrell
aafe97b67d
[libzstd] Switch dictUses to an enum
2019-04-10 16:50:35 -07:00
Yann Collet
526ec646b7
alternate static assert
...
to circumvent Visual's C4804 warning
2019-04-10 16:05:02 -07:00
Yann Collet
9703a59121
fixed minor conversion warning
2019-04-10 15:54:55 -07:00
Yann Collet
885476fb5b
FreeBSD_11 specific fix
...
C11 mandates the definition of timespec_get() and TIME_UTC.
However, FreeBSD11 announce C11 compliance, but does not provifr timespec_get(),
breaking link stage for benchfn.
Since it does not provide TIME_UTC either, which is also required by C11,
test this macro: this will automatically rule out FreeBSD 11 for this code path
(it will use the backup C90 path instead, based on clock_t).
The issue seeems fixed in FreeBSD 12.
2019-04-10 15:22:18 -07:00
Yann Collet
2fa4f2e246
updated Visual projects
...
added timefn
2019-04-10 15:07:36 -07:00
Yann Collet
2c6b14ed22
fixed Windows header
...
cmake build script: added timefn
2019-04-10 14:54:13 -07:00
Yann Collet
3d346579d8
no more need for CLOCK_MONOTONIC
2019-04-10 14:16:39 -07:00
Yann Collet
36d2dfd846
moved C11 code path to timespec_get
2019-04-10 14:15:11 -07:00