Commit Graph

2526 Commits

Author SHA1 Message Date
Yann Collet
2b36b238d3 changed variable name to estimatedSrcSize, to emphasize it does not need to be exact 2016-12-13 17:59:55 +01:00
Yann Collet
e795c8a5f6 Added ZSTD_initCStream_srcSize().
Added relevant test cases in zstreamtest
2016-12-13 17:00:14 +01:00
Yann Collet
5397a66b19 minor BMI version check 2016-12-13 15:21:06 +01:00
Przemyslaw Skibinski
98ef0f98df fixed conversion warning 2016-12-13 14:52:21 +01:00
Przemyslaw Skibinski
8349d675e0 fileio.c: support advanced compression parameters 2016-12-13 13:24:59 +01:00
Przemyslaw Skibinski
897b8bb5eb bench.c: support advanced compression parameters 2016-12-13 13:03:41 +01:00
Przemyslaw Skibinski
334b8962b0 Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev11 2016-12-13 12:19:19 +01:00
Przemyslaw Skibinski
671f28d1e5 added parseCompressionParameters 2016-12-13 12:18:07 +01:00
Yann Collet
086985316f updated NEWS 2016-12-13 11:45:19 +01:00
Yann Collet
90ce45e565 Merge pull request #475 from DimitryAndric/fix-build-on-freebsd-1
Make zstd build out of the box properly on FreeBSD
2016-12-13 11:39:23 +01:00
Yann Collet
35168679bd Merge pull request #478 from terrelln/wildcopy-ub
Fix execSequence wildcopy undefined behavior
2016-12-13 11:33:00 +01:00
Yann Collet
faaebebb1a Merge pull request #479 from terrelln/decompression-bug
Fix decompression bug
2016-12-13 11:30:37 +01:00
Nick Terrell
064a143520 Fix execSequence wildcopy undefined behavior
execSequence relied on pointer overflow to handle cases where
`sequence.matchLength < 8`.  Instead of passing an `size_t` to
wildcopy, pass a `ptrdiff_t`.
2016-12-12 19:01:23 -08:00
Nick Terrell
e474aa55b4 Fix decompression buffer overrun
Allows an adversary to write up to 3 bytes beyond the end of the buffer.
Occurs if the match overlaps the `extDict` and `currentPrefix`, and the
match length in the `currentPrefix` is less than `MINMATCH`, and
`op-(16-MINMATCH) >= oMatchEnd > op-16`.
2016-12-12 18:05:30 -08:00
Dimitry Andric
83cc2fb083 Enable using isatty() and nanosleep() on *BSD 2016-12-12 19:24:51 +01:00
Dimitry Andric
12df6da83b Fix running test suite on FreeBSD
* Remove last bashism from tests/playTests.sh
* Use gmd5sum from the sysutils/coreutils port
2016-12-12 19:22:47 +01:00
Yann Collet
4c6ce5a57e Merge pull request #476 from inikep/dev11
Dev11
2016-12-12 16:44:55 +01:00
Przemyslaw Skibinski
c855da7533 allow all operationg systems with _POSIX_C_SOURCE >= 200112L 2016-12-12 15:37:43 +01:00
Przemyslaw Skibinski
242c036875 turn on the '-r' option for HP-UX and AIX 2016-12-12 11:59:17 +01:00
Przemyslaw Skibinski
c01ac6c30a turn on the '-r' option for *BSD and Solaris 2016-12-12 11:23:21 +01:00
Yann Collet
fda539f50b minor coding style changes 2016-12-12 01:03:23 +01:00
Yann Collet
c3a5c4bef8 introduced cycleLog 2016-12-12 00:47:30 +01:00
Yann Collet
c261f71f6a minor variation of rescale fix 2016-12-12 00:25:07 +01:00
Yann Collet
e93f1f5893 Merge pull request #474 from terrelln/compression-segfault
Fix compression segfault
2016-12-11 22:28:24 +01:00
Nick Terrell
b547d212a1 Fix longmatch test build errors. 2016-12-10 23:17:36 -08:00
Nick Terrell
5cc85cf183 Switch uint64_t to U64 2016-12-10 19:31:55 -08:00
Nick Terrell
0acae734f1 Add exposing test case 2016-12-10 19:12:13 -08:00
Nick Terrell
3826207a70 Simplify segfault fix
Take advantage of the fact that `chainLog <= windowLog`.
2016-12-10 18:46:55 -08:00
Nick Terrell
0012332ce0 Fix compression segfault
When the overflow protection kicks in, it makes sure that ip - ctx->base
isn't too large.  However, it didn't ensure that saved offsets are
still valid.  This change ensures that any valid offsets (<= windowLog)
are still representable after the update.

The bug would shop up on line 1056, when `offset_1 > current + 1`, which
causes an underflow.  This in turn, would cause a segfault on line 1063.

The input must necessarily be longer than 1 GB for this issue to occur.
Even then, it only occurs if one of the last 3 matches is larger than
the chain size and block size.
2016-12-09 17:15:33 -08:00
Yann Collet
383b8088a3 minor lib build refactoring 2016-12-08 18:42:27 -08:00
Yann Collet
6e754fe76a fixed lib soname.
example : simple_compression : size overflow check
2016-12-08 18:26:56 -08:00
Yann Collet
16a5752588 streaming example uses stable API 2016-12-08 17:28:26 -08:00
Yann Collet
ef013f0edc Merge branch 'dev' of github.com:facebook/zstd into dev 2016-12-08 12:07:06 -08:00
Yann Collet
229b9e2996 Merge pull request #473 from inikep/dev11
improved documentation
2016-12-08 11:36:38 -08:00
Przemyslaw Skibinski
1d54feb171 use newer make with AppVeyor 2016-12-08 14:00:09 +01:00
Przemyslaw Skibinski
128acb35db improved MSYS support 2016-12-08 10:49:59 +01:00
Przemyslaw Skibinski
13de72e0cc programs\Makefile: use Linux paths 2016-12-08 10:43:55 +01:00
Przemyslaw Skibinski
7687913178 Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev11 2016-12-08 10:42:42 +01:00
Przemyslaw Skibinski
6323d0050f VS projects: restored zbuff for libzstd* 2016-12-08 09:06:00 +01:00
Yann Collet
d2908b9215 updated NEWS 2016-12-07 16:41:33 -08:00
Yann Collet
426a9d4b71 changed : dll : only approved ZSTD symbols are now exposed. All other symbols remain internal. 2016-12-07 16:39:34 -08:00
Yann Collet
c0a1d6deb0 better cleaning 2016-12-07 15:58:32 -08:00
Yann Collet
08611a9f64 removed make artefact 2016-12-07 14:04:39 +01:00
Przemyslaw Skibinski
4da53219a0 zstd Manual updated to 1.1.2 2016-12-07 11:18:40 +01:00
Przemyslaw Skibinski
abd9ec0d53 gen_html: comments of type /*= and /**= can be longer than a single line 2016-12-07 11:13:20 +01:00
Przemyslaw Skibinski
c37b8cb609 Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev11 2016-12-07 09:13:47 +01:00
Yann Collet
2a826e592b compatibility with zstd-frugal (noBench mode) 2016-12-06 17:56:20 -08:00
Yann Collet
e63c631aaf decode benchmark, multi-files 2016-12-06 17:46:49 -08:00
Yann Collet
d946501d2c decode benchmark - single file (hidden option) 2016-12-06 16:49:23 -08:00
Yann Collet
1628fe08fc cmake : SHARED_LIBRARY_OUTPUT_NAME is user-selectable, by @aparamon (#469) 2016-12-06 13:45:42 -08:00