]>
git.ipfire.org Git - thirdparty/zstd.git/log
Przemyslaw Skibinski [Fri, 28 Oct 2016 18:40:21 +0000 (20:40 +0200)]
test-zstd-speed.py: default timeout changed to 1800 seconds
Przemyslaw Skibinski [Fri, 28 Oct 2016 17:24:16 +0000 (19:24 +0200)]
test-zstd-speed.py: converted to python3 and added "--timeout"
Przemyslaw Skibinski [Fri, 28 Oct 2016 16:15:34 +0000 (18:15 +0200)]
generate RES files during each compilation
Przemyslaw Skibinski [Fri, 28 Oct 2016 11:17:35 +0000 (13:17 +0200)]
generate_res.bat moved to programs/windres
Przemyslaw Skibinski [Fri, 28 Oct 2016 11:16:06 +0000 (13:16 +0200)]
generate_res moved to programs/windres
Przemyslaw Skibinski [Fri, 28 Oct 2016 10:20:02 +0000 (12:20 +0200)]
generate_res.bat: automatic detection if windres.exe is available
Przemyslaw Skibinski [Fri, 28 Oct 2016 09:54:47 +0000 (11:54 +0200)]
updated build\VS2010\zstd\generate_res\verrsrc.h
Przemyslaw Skibinski [Wed, 26 Oct 2016 07:39:35 +0000 (09:39 +0200)]
Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev11
Yann Collet [Wed, 26 Oct 2016 00:47:02 +0000 (17:47 -0700)]
added ZSTD_initDStream_usingDDict() .
slightly optimized ZSTD_initDStream() when no dictionary .
fixed ZSTD_sizeof_CStream() .
Yann Collet [Tue, 25 Oct 2016 23:19:52 +0000 (16:19 -0700)]
first sketch for ZSTD_initCStream_usingCDict()
Yann Collet [Tue, 25 Oct 2016 21:48:43 +0000 (14:48 -0700)]
Merge pull request #429 from inikep/btopt2
Btopt2
Yann Collet [Tue, 25 Oct 2016 18:34:09 +0000 (11:34 -0700)]
Merge pull request #428 from inikep/dev11
windres
Przemyslaw Skibinski [Tue, 25 Oct 2016 10:25:07 +0000 (12:25 +0200)]
added ZSTD_btopt2 strategy
Przemyslaw Skibinski [Tue, 25 Oct 2016 08:34:41 +0000 (10:34 +0200)]
Windows resources moved to programs/windres/
Przemyslaw Skibinski [Tue, 25 Oct 2016 08:05:20 +0000 (10:05 +0200)]
images/ moved to doc/images/
Yann Collet [Tue, 25 Oct 2016 06:42:26 +0000 (23:42 -0700)]
Merge pull request #426 from terrelln/fixes
Fix various {A, M}SAN bugs
Yann Collet [Tue, 25 Oct 2016 00:22:12 +0000 (17:22 -0700)]
updated comments on context re-use
Nick Terrell [Mon, 24 Oct 2016 21:11:27 +0000 (14:11 -0700)]
Fix compiler narrowing warning
Nick Terrell [Mon, 24 Oct 2016 20:10:13 +0000 (13:10 -0700)]
Merge remote-tracking branch 'upstream/dev' into fixes
* upstream/dev:
added doc\zstd_manual.html
added contrib\gen_html
zstd_compression_format.md moved to doc/
Fix small bug in ZSTD_execSequence()
improved ZSTD_compressBlock_opt_extDict_generic
protect ZSTD_decodeFrameHeader() from invalid usage, as suggested by @spaskob
zstd_opt.h: small improvement in compression ratio
improved dicitonary segment merge
use implicit rules to compile zstd_decompress.c
detect early impossible decompression scenario in legacy decoder v0.5
no repeat mode in legacy v0.5
fixed invalid invocation of dictionary in legacy decoder v0.5
fix edge case
fix command line interpretation
fixed minor corner case
zstd.h: added the Introduction section
fixed clang 3.5 warnings
zstd.h: updated comments
Yann Collet [Mon, 24 Oct 2016 18:11:40 +0000 (11:11 -0700)]
Merge pull request #425 from inikep/dev11
Doc
Nick Terrell [Thu, 20 Oct 2016 00:22:08 +0000 (17:22 -0700)]
Reject dictionaries with incomplete entropy tables
If a dictionary specifies that a symbol has probability zero in its
`matchLength`, `literalLength`, or `offset` FSE table, but the symbol
appears when compressing input, the compressor fails.
Ensure that dictionaries support all `matchLength`, and `literalLength`
codes. They must also support all of the `offset` codes required to
represent every possible offset that can appear in the first block.
Przemyslaw Skibinski [Mon, 24 Oct 2016 14:07:53 +0000 (16:07 +0200)]
added doc\zstd_manual.html
Przemyslaw Skibinski [Mon, 24 Oct 2016 13:59:51 +0000 (15:59 +0200)]
added contrib\gen_html
Przemyslaw Skibinski [Mon, 24 Oct 2016 13:58:07 +0000 (15:58 +0200)]
zstd_compression_format.md moved to doc/
Yann Collet [Sat, 22 Oct 2016 00:02:06 +0000 (17:02 -0700)]
Merge pull request #423 from terrelln/exec-seq-patch
Fix small bug in ZSTD_execSequence()
Nick Terrell [Thu, 20 Oct 2016 23:45:10 +0000 (16:45 -0700)]
Fix small bug in ZSTD_execSequence()
`memmove(op, match, sequence.matchLength)` is not the desired behavior.
Overlap is allowed, and handled as if we did `*op++ = *match++`, which
is not how `memmove()` handles overlap.
Only triggered if both of the following conditions are met:
* The match spans extDict & currentPrefixSegment
* `oLitEnd <= oend_w < oLitEnd + length1 < oMatchEnd <= oend`.
These two conditions imply that the block is less than 15 bytes long.
This bug isn't triggered by the streaming API, because it allocates
enough space for the window size + the block size, so there cannot be
a match that is within 8 bytes of the end and overlaps with itself.
It cannot be triggered by the block decompression API because all of
the decompressed data is in the currentPrefixSegment.
Introduced by commit
71585843998459e636f639165ff8a1ca9d161b62
Przemyslaw Skibinski [Fri, 21 Oct 2016 09:19:00 +0000 (11:19 +0200)]
improved ZSTD_compressBlock_opt_extDict_generic
Yann Collet [Fri, 21 Oct 2016 03:11:00 +0000 (20:11 -0700)]
protect ZSTD_decodeFrameHeader() from invalid usage, as suggested by @spaskob
Przemyslaw Skibinski [Thu, 20 Oct 2016 09:49:02 +0000 (11:49 +0200)]
zstd_opt.h: small improvement in compression ratio
Przemyslaw Skibinski [Thu, 20 Oct 2016 09:01:52 +0000 (11:01 +0200)]
Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev11
Przemyslaw Skibinski [Thu, 20 Oct 2016 08:54:39 +0000 (10:54 +0200)]
Merge remote-tracking branch 'refs/remotes/origin/dev' into dev11
Nick Terrell [Wed, 19 Oct 2016 18:19:54 +0000 (11:19 -0700)]
Fix stack buffer overrun when weightTotal == 0
If `weightTotal == 0`, then `BIT_highbit32(weightTotal)` is
undefined behavior in the case that it calls `__builtin_clz()`.
If `tableLog == HUF_TABLELOG_ABSOLUTEMAX` then we will access one
byte beyond the end of the buffer.
Nick Terrell [Tue, 18 Oct 2016 23:08:52 +0000 (16:08 -0700)]
Unitialized memory read in ZSTD_decodeSeqHeaders()
Caused by two things:
1. Not checking that `ip` is in range except for the first byte.
2. `ZSTDv0{5,6}_decodeLiteralsBlock()` could return a value larger than `srcSize`.
Yann Collet [Tue, 18 Oct 2016 23:34:58 +0000 (16:34 -0700)]
improved dicitonary segment merge
Yann Collet [Tue, 18 Oct 2016 23:01:03 +0000 (16:01 -0700)]
use implicit rules to compile zstd_decompress.c
Nick Terrell [Tue, 18 Oct 2016 21:52:34 +0000 (14:52 -0700)]
Backport fix from commit
125d817
This fixes a read of unitialized memory.
Full commit hash:
125d81774fe87a2bc18023d999d8e510678c38fb .
Nick Terrell [Tue, 18 Oct 2016 21:22:49 +0000 (14:22 -0700)]
Backport fix from commit
9e8b09a
Fixes uninitialized memory reads.
Full commit hash:
9e8b09a7bd42dd06ee62b33aff215fbb52708d7b
Yann Collet [Tue, 18 Oct 2016 20:48:32 +0000 (13:48 -0700)]
detect early impossible decompression scenario in legacy decoder v0.5
Yann Collet [Tue, 18 Oct 2016 20:36:15 +0000 (13:36 -0700)]
no repeat mode in legacy v0.5
Yann Collet [Tue, 18 Oct 2016 19:25:43 +0000 (12:25 -0700)]
fixed invalid invocation of dictionary in legacy decoder v0.5
Yann Collet [Tue, 18 Oct 2016 18:27:52 +0000 (11:27 -0700)]
fix edge case
Nick Terrell [Tue, 18 Oct 2016 01:16:57 +0000 (18:16 -0700)]
Fix stack buffer overflow in HUF_readCTable()
If `w ==0` on line 153, then `CTable[n].nbBits == tableLog + 1`.
Then `nbPerRank[CTable[n].nbBits]` and `valPerRank[CTable[n].nbBits]`
are stack buffer overflows.
Yann Collet [Tue, 18 Oct 2016 00:48:48 +0000 (17:48 -0700)]
fix command line interpretation
Yann Collet [Tue, 18 Oct 2016 00:28:28 +0000 (17:28 -0700)]
fixed minor corner case
Nick Terrell [Mon, 17 Oct 2016 23:55:52 +0000 (16:55 -0700)]
Fix buffer overrun in ZSTD_loadDictEntropyStats()
The table log set by `FSE_readNCount()` was not checked in
`ZSTD_loadDictEntropyStats()`. This caused `FSE_buildCTable()`
to stack/heap overflow in a few places.
The benchmarks look good, there is no obvious compression performance regression:
> ./zstds/zstd.opt.0 -i10 -b1 -e10 ~/bench/silesia.tar
1#silesia.tar :
211988480 ->
73656930 (2.878), 271.6 MB/s , 716.8 MB/s
2#silesia.tar :
211988480 ->
70162842 (3.021), 204.8 MB/s , 671.1 MB/s
3#silesia.tar :
211988480 ->
66997986 (3.164), 156.8 MB/s , 658.6 MB/s
4#silesia.tar :
211988480 ->
66002591 (3.212), 136.4 MB/s , 665.3 MB/s
5#silesia.tar :
211988480 ->
65008480 (3.261), 98.9 MB/s , 647.0 MB/s
6#silesia.tar :
211988480 ->
62979643 (3.366), 65.2 MB/s , 670.4 MB/s
7#silesia.tar :
211988480 ->
61974560 (3.421), 44.9 MB/s , 688.2 MB/s
8#silesia.tar :
211988480 ->
61028308 (3.474), 32.4 MB/s , 711.9 MB/s
9#silesia.tar :
211988480 ->
60416751 (3.509), 21.1 MB/s , 718.1 MB/s
10#silesia.tar :
211988480 ->
60174239 (3.523), 22.2 MB/s , 721.8 MB/s
> ./compress_zstds/zstd.opt.1 -i10 -b1 -e10 ~/bench/silesia.tar
1#silesia.tar :
211988480 ->
73656930 (2.878), 273.8 MB/s , 722.0 MB/s
2#silesia.tar :
211988480 ->
70162842 (3.021), 203.2 MB/s , 666.6 MB/s
3#silesia.tar :
211988480 ->
66997986 (3.164), 157.4 MB/s , 666.5 MB/s
4#silesia.tar :
211988480 ->
66002591 (3.212), 132.1 MB/s , 661.9 MB/s
5#silesia.tar :
211988480 ->
65008480 (3.261), 96.8 MB/s , 641.6 MB/s
6#silesia.tar :
211988480 ->
62979643 (3.366), 63.1 MB/s , 677.0 MB/s
7#silesia.tar :
211988480 ->
61974560 (3.421), 44.3 MB/s , 678.2 MB/s
8#silesia.tar :
211988480 ->
61028308 (3.474), 33.1 MB/s , 708.9 MB/s
9#silesia.tar :
211988480 ->
60416751 (3.509), 21.5 MB/s , 710.1 MB/s
10#silesia.tar :
211988480 ->
60174239 (3.523), 21.9 MB/s , 723.9 MB/s
Nick Terrell [Mon, 17 Oct 2016 22:49:50 +0000 (15:49 -0700)]
Fix buffer overrun in ZSTD_loadEntropy()
The table log set by `FSE_readNCount()` was not checked in
`ZSTD_loadEntropy()`. This caused `FSE_buildDTable(dctx->MLTable, ...)`
to overwrite the beginning of `dctx->hufTable`.
The benchmarks look good, there is no obvious performance regression:
> ./zstds/zstd.opt.0 -i10 -b1 -e5 ~/bench/silesia.tar
1#silesia.tar :
211988480 ->
73656930 (2.878), 268.2 MB/s , 701.0 MB/s
2#silesia.tar :
211988480 ->
70162842 (3.021), 199.5 MB/s , 666.9 MB/s
3#silesia.tar :
211988480 ->
66997986 (3.164), 154.9 MB/s , 655.6 MB/s
4#silesia.tar :
211988480 ->
66002591 (3.212), 128.9 MB/s , 648.4 MB/s
5#silesia.tar :
211988480 ->
65008480 (3.261), 98.4 MB/s , 633.4 MB/s
> ./zstds/zstd.opt.2 -i10 -b1 -e5 ~/bench/silesia.tar
1#silesia.tar :
211988480 ->
73656930 (2.878), 266.1 MB/s , 703.7 MB/s
2#silesia.tar :
211988480 ->
70162842 (3.021), 199.0 MB/s , 666.6 MB/s
3#silesia.tar :
211988480 ->
66997986 (3.164), 156.2 MB/s , 656.2 MB/s
4#silesia.tar :
211988480 ->
66002591 (3.212), 133.2 MB/s , 647.4 MB/s
5#silesia.tar :
211988480 ->
65008480 (3.261), 96.3 MB/s , 633.3 MB/s
Nick Terrell [Mon, 17 Oct 2016 18:28:02 +0000 (11:28 -0700)]
Check if dict is empty before reading first byte
Yann Collet [Fri, 14 Oct 2016 23:03:34 +0000 (16:03 -0700)]
minor opt
Yann Collet [Fri, 14 Oct 2016 21:41:17 +0000 (14:41 -0700)]
refactor for long commands
Yann Collet [Fri, 14 Oct 2016 21:22:32 +0000 (14:22 -0700)]
added long commands --memory= and --memlimit-decompress=
Yann Collet [Fri, 14 Oct 2016 21:07:11 +0000 (14:07 -0700)]
added long comment --memlimit=
Yann Collet [Fri, 14 Oct 2016 20:32:35 +0000 (13:32 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Fri, 14 Oct 2016 20:13:13 +0000 (13:13 -0700)]
new command -M#, to limit memory usage during decompression (#403)
Yann Collet [Thu, 13 Oct 2016 10:37:22 +0000 (03:37 -0700)]
Merge pull request #417 from terrelln/ubsan-failures
Fix ubsan failures (pass NULL to memcpy)
Nick Terrell [Thu, 13 Oct 2016 03:54:42 +0000 (20:54 -0700)]
Fix ubsan failures (pass NULL to memcpy)
Yann Collet [Thu, 13 Oct 2016 00:28:59 +0000 (17:28 -0700)]
added ZSTD_error_frameParameter_windowTooLarge (#403)
Yann Collet [Wed, 12 Oct 2016 22:29:22 +0000 (15:29 -0700)]
updated visual projects
Yann Collet [Wed, 12 Oct 2016 19:23:11 +0000 (12:23 -0700)]
Merge pull request #406 from pixelb/pzstd-test-headless
pzstd: fix test failure on headless build
Yann Collet [Wed, 12 Oct 2016 18:09:36 +0000 (11:09 -0700)]
make creates libzstd binaries (#415)
Yann Collet [Wed, 12 Oct 2016 17:23:53 +0000 (10:23 -0700)]
fix cmake
Yann Collet [Wed, 12 Oct 2016 17:17:53 +0000 (10:17 -0700)]
Merge pull request #416 from terrelln/exec-sequence
Fix ZSTD_execSequence() edge case
Nick Terrell [Mon, 10 Oct 2016 23:19:21 +0000 (16:19 -0700)]
Fix ZSTD_execSequence() edge case
Yann Collet [Wed, 12 Oct 2016 00:29:27 +0000 (17:29 -0700)]
bumped version number
Yann Collet [Wed, 12 Oct 2016 00:24:50 +0000 (17:24 -0700)]
created error_private.c, so that a single list of error strings get included
Yann Collet [Tue, 11 Oct 2016 23:51:29 +0000 (16:51 -0700)]
added zstd_errors.h to include installation
Yann Collet [Tue, 11 Oct 2016 23:41:09 +0000 (16:41 -0700)]
changed error_public.h into zstd_errors.h
Yann Collet [Tue, 11 Oct 2016 23:11:48 +0000 (16:11 -0700)]
Merge pull request #414 from terrelln/license
Remove references to GPLv2 license
Nick Terrell [Tue, 11 Oct 2016 22:27:44 +0000 (15:27 -0700)]
Remove references to GPLv2 license
License headers added to Makefiles were taken from `zstd/Makefile`.
Yann Collet [Tue, 11 Oct 2016 15:21:09 +0000 (08:21 -0700)]
sync fse
Pádraig Brady [Thu, 6 Oct 2016 14:13:10 +0000 (15:13 +0100)]
pzstd: fix test failure on headless build
Remove this test as pass/fail status is
dependent on whether I/O is connected to a tty.
It currrently passes on a tty but fails on
a package build system for example.
inikep [Thu, 6 Oct 2016 14:28:21 +0000 (16:28 +0200)]
zstd.h: added the Introduction section
inikep [Thu, 6 Oct 2016 12:22:48 +0000 (14:22 +0200)]
fixed clang 3.5 warnings
inikep [Thu, 6 Oct 2016 11:23:52 +0000 (13:23 +0200)]
zstd.h: updated comments
Yann Collet [Wed, 5 Oct 2016 15:56:47 +0000 (17:56 +0200)]
Merge pull request #401 from inikep/dev
Dev
inikep [Wed, 5 Oct 2016 11:41:37 +0000 (13:41 +0200)]
.travis.yml: added "make clean" before versionsTest
inikep [Wed, 5 Oct 2016 10:17:51 +0000 (12:17 +0200)]
Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev
inikep [Wed, 5 Oct 2016 09:56:22 +0000 (11:56 +0200)]
fixed Makefile targets: zstd-small, zstd-decompress, zstd-compress
inikep [Mon, 3 Oct 2016 12:19:30 +0000 (14:19 +0200)]
zlibWrapper: updated README.md
inikep [Wed, 28 Sep 2016 11:23:11 +0000 (13:23 +0200)]
updated .gitignore
inikep [Wed, 28 Sep 2016 10:46:22 +0000 (12:46 +0200)]
Merge remote-tracking branch 'refs/remotes/origin/zlibWrapper' into dev
inikep [Wed, 28 Sep 2016 10:23:07 +0000 (12:23 +0200)]
RES files for zstd 1.1.0
Yann Collet [Tue, 27 Sep 2016 22:15:03 +0000 (00:15 +0200)]
updated NEWS
Yann Collet [Tue, 27 Sep 2016 22:07:39 +0000 (00:07 +0200)]
Merge pull request #393 from inikep/zlibWrapper
Zlibwrapper
inikep [Tue, 27 Sep 2016 16:21:17 +0000 (18:21 +0200)]
ZSTD_resetDStream moved to inflate()
inikep [Tue, 27 Sep 2016 15:27:43 +0000 (17:27 +0200)]
renamed to ZWRAP_deflateReset_keepDict
inikep [Tue, 27 Sep 2016 15:14:04 +0000 (17:14 +0200)]
redirection to deflateReset and inflateReset
inikep [Tue, 27 Sep 2016 14:56:07 +0000 (16:56 +0200)]
added ZWRAP_deflateResetWithoutDict and ZWRAP_inflateResetWithoutDict
inikep [Tue, 27 Sep 2016 13:25:20 +0000 (15:25 +0200)]
updated description of ZWRAP_setPledgedSrcSize
inikep [Tue, 27 Sep 2016 13:24:44 +0000 (15:24 +0200)]
improved speed of deflate without Z_FINISH
Yann Collet [Tue, 27 Sep 2016 13:14:32 +0000 (15:14 +0200)]
update dictionary builder warning comments
Yann Collet [Mon, 26 Sep 2016 22:32:05 +0000 (00:32 +0200)]
Merge pull request #384 from inikep/zlibWrapper
Zlibwrapper
inikep [Mon, 26 Sep 2016 20:47:39 +0000 (22:47 +0200)]
zlibWrapper: minor tweaks
inikep [Mon, 26 Sep 2016 20:24:04 +0000 (22:24 +0200)]
updated zlibWrapper\Makefile
inikep [Mon, 26 Sep 2016 20:11:55 +0000 (22:11 +0200)]
zwrapbench: improved tests with a dictionary
inikep [Mon, 26 Sep 2016 20:11:08 +0000 (22:11 +0200)]
updated results in zlibWrapper\README.md
inikep [Mon, 26 Sep 2016 18:57:01 +0000 (20:57 +0200)]
Merge remote-tracking branch 'refs/remotes/facebook/dev' into zlibWrapper
inikep [Mon, 26 Sep 2016 18:49:18 +0000 (20:49 +0200)]
improved behavior of deflateReset
inikep [Mon, 26 Sep 2016 18:41:52 +0000 (20:41 +0200)]
improved zwrapbench tests
Yann Collet [Mon, 26 Sep 2016 16:03:33 +0000 (18:03 +0200)]
added comment on filePos
Yann Collet [Mon, 26 Sep 2016 14:41:05 +0000 (16:41 +0200)]
fixed : init*_advanced() followed by reset() with different pledgedSrcSiz