Commit Graph

2544 Commits

Author SHA1 Message Date
Przemyslaw Skibinski
b3843afcf5 introduced platform.h 2016-12-16 14:13:15 +01:00
Yann Collet
7d5e344ce5 Merge pull request #480 from inikep/dev11
advanced mode where each parameter can be selected on the command line
2016-12-15 22:27:50 +01:00
Przemyslaw Skibinski
06b3f017af appveyor.yml: fixed tests of fullbench-dll fullbench-lib 2016-12-15 12:31:18 +01:00
Przemyslaw Skibinski
0a1caeef6d VS: fixed 32-bit DLL compilation 2016-12-15 12:12:46 +01:00
Przemyslaw Skibinski
4e10bd339d appveyor.yml: added tests of fullbench-dll fullbench-lib 2016-12-15 12:09:23 +01:00
Przemyslaw Skibinski
60f10aab6c introduced ZSTDLIB_VISIBILITY 2016-12-15 11:32:31 +01:00
Przemyslaw Skibinski
f9a56668a6 improved playTests.sh (3 2016-12-14 18:43:06 +01:00
Przemyslaw Skibinski
24a4236111 improved playTests.sh (2) 2016-12-14 18:07:31 +01:00
Przemyslaw Skibinski
ab5ed6fa7f improved playTests.sh 2016-12-14 17:10:38 +01:00
Przemyslaw Skibinski
9b4fa0ddf7 playTests.sh: added Advanced compression parameters 2016-12-14 16:50:00 +01:00
Przemyslaw Skibinski
25314428c9 zstd.1: added advanced compression options 2016-12-14 16:10:13 +01:00
Yann Collet
dc9931205a updated manual 2016-12-14 14:53:47 +01:00
Przemyslaw Skibinski
c71e552b2e fixed "strategy" in advanced compression parameters 2016-12-13 20:04:32 +01:00
Yann Collet
13a8190937 Merge pull request #482 from inikep/zlibWrapper
Zlibwrapper
2016-12-13 19:50:34 +01:00
Yann Collet
b23420fa48 updated NEWS 2016-12-13 19:47:17 +01:00
Przemyslaw Skibinski
622d741a67 updated zlib copyright notice 2016-12-13 19:44:07 +01:00
Yann Collet
ea6e0c22e5 Merge pull request #481 from inikep/zlibWrapper
fixed fitblk
2016-12-13 19:42:51 +01:00
Przemyslaw Skibinski
eee427ee25 fixed fitblk 2016-12-13 19:14:04 +01:00
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