Commit Graph

2027 Commits

Author SHA1 Message Date
Yann Collet
97611611a3 Merge pull request #423 from terrelln/exec-seq-patch
Fix small bug in ZSTD_execSequence()
2016-10-21 17:02:06 -07:00
Nick Terrell
ae1cb3b3d0 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 7158584399
2016-10-21 12:13:44 -07:00
Yann Collet
da3bd8b6de protect ZSTD_decodeFrameHeader() from invalid usage, as suggested by @spaskob 2016-10-20 20:11:00 -07:00
Yann Collet
52c1bf93fe improved dicitonary segment merge 2016-10-18 16:34:58 -07:00
Yann Collet
a7a4690b0a use implicit rules to compile zstd_decompress.c 2016-10-18 16:01:03 -07:00
Yann Collet
f7906d5955 detect early impossible decompression scenario in legacy decoder v0.5 2016-10-18 13:48:32 -07:00
Yann Collet
9313c8d953 no repeat mode in legacy v0.5 2016-10-18 13:36:15 -07:00
Yann Collet
83d7bdee4b fixed invalid invocation of dictionary in legacy decoder v0.5 2016-10-18 12:25:43 -07:00
Yann Collet
197a55ee7b fix edge case 2016-10-18 11:27:52 -07:00
Yann Collet
33fdd099bb fix command line interpretation 2016-10-17 17:48:48 -07:00
Yann Collet
06573e17be fixed minor corner case 2016-10-17 17:28:28 -07:00
Yann Collet
2b361cf2f1 minor opt 2016-10-14 16:09:07 -07:00
Yann Collet
70077bc9bb refactor for long commands 2016-10-14 14:41:17 -07:00
Yann Collet
d7b120ab5c added long commands --memory= and --memlimit-decompress= 2016-10-14 14:22:32 -07:00
Yann Collet
1122349ac2 added long comment --memlimit= 2016-10-14 14:07:11 -07:00
Yann Collet
7933434fdf Merge branch 'dev' of github.com:facebook/zstd into dev 2016-10-14 13:32:35 -07:00
Yann Collet
d4cda27b63 new command -M#, to limit memory usage during decompression (#403) 2016-10-14 13:32:20 -07:00
Yann Collet
c8b1ecf4ba Merge pull request #417 from terrelln/ubsan-failures
Fix ubsan failures (pass NULL to memcpy)
2016-10-13 03:37:22 -07:00
Nick Terrell
3b9cdf9220 Fix ubsan failures (pass NULL to memcpy) 2016-10-12 20:54:42 -07:00
Yann Collet
5d919e7ac3 added ZSTD_error_frameParameter_windowTooLarge (#403) 2016-10-12 17:29:24 -07:00
Yann Collet
e405c7a126 updated visual projects 2016-10-12 15:29:22 -07:00
Yann Collet
6f2f142b23 Merge pull request #406 from pixelb/pzstd-test-headless
pzstd: fix test failure on headless build
2016-10-12 12:23:11 -07:00
Yann Collet
e19111c42f make creates libzstd binaries (#415) 2016-10-12 11:09:36 -07:00
Yann Collet
8b70d012f0 fix cmake 2016-10-12 10:23:53 -07:00
Yann Collet
38fb0dc4cf Merge pull request #416 from terrelln/exec-sequence
Fix ZSTD_execSequence() edge case
2016-10-12 10:17:53 -07:00
Nick Terrell
7158584399 Fix ZSTD_execSequence() edge case 2016-10-12 10:05:26 -07:00
Yann Collet
f52cd03e73 bumped version number 2016-10-11 17:29:27 -07:00
Yann Collet
ef2357d0d3 created error_private.c, so that a single list of error strings get included 2016-10-11 17:24:50 -07:00
Yann Collet
14efab827b added zstd_errors.h to include installation 2016-10-11 16:51:29 -07:00
Yann Collet
a17fd7312a changed error_public.h into zstd_errors.h 2016-10-11 16:41:09 -07:00
Yann Collet
564b94183c Merge pull request #414 from terrelln/license
Remove references to GPLv2 license
2016-10-11 16:11:48 -07:00
Nick Terrell
3e82f2b61a Remove references to GPLv2 license
License headers added to Makefiles were taken from `zstd/Makefile`.
2016-10-11 15:28:40 -07:00
Yann Collet
18b51b99c0 sync fse 2016-10-11 08:21:09 -07:00
Pádraig Brady
0dd8071e2e 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.
2016-10-06 22:38:27 +01:00
Yann Collet
f405b8acbe Merge pull request #401 from inikep/dev
Dev
2016-10-05 17:56:47 +02:00
inikep
0fa190b5eb .travis.yml: added "make clean" before versionsTest 2016-10-05 13:41:37 +02:00
inikep
6ac85a414a Merge remote-tracking branch 'refs/remotes/facebook/dev' into dev 2016-10-05 12:17:51 +02:00
inikep
23cec875cd fixed Makefile targets: zstd-small, zstd-decompress, zstd-compress 2016-10-05 11:56:22 +02:00
inikep
ba49de38cf zlibWrapper: updated README.md 2016-10-03 14:19:30 +02:00
inikep
447e5128da updated .gitignore 2016-09-28 13:23:11 +02:00
inikep
0449152189 Merge remote-tracking branch 'refs/remotes/origin/zlibWrapper' into dev 2016-09-28 12:46:22 +02:00
inikep
447212d07c RES files for zstd 1.1.0 2016-09-28 12:23:07 +02:00
Yann Collet
83543a7b26 updated NEWS 2016-09-28 00:15:03 +02:00
Yann Collet
9ef72aa6b0 Merge pull request #393 from inikep/zlibWrapper
Zlibwrapper
2016-09-28 00:07:39 +02:00
inikep
22e2730081 ZSTD_resetDStream moved to inflate() 2016-09-27 18:21:17 +02:00
inikep
20859afb4c renamed to ZWRAP_deflateReset_keepDict 2016-09-27 17:27:43 +02:00
inikep
856f91ebef redirection to deflateReset and inflateReset 2016-09-27 17:14:04 +02:00
inikep
706876f09a added ZWRAP_deflateResetWithoutDict and ZWRAP_inflateResetWithoutDict 2016-09-27 16:56:07 +02:00
inikep
572d428b59 updated description of ZWRAP_setPledgedSrcSize 2016-09-27 15:25:20 +02:00
inikep
6072eaaa21 improved speed of deflate without Z_FINISH 2016-09-27 15:24:44 +02:00