Commit Graph

1335 Commits

Author SHA1 Message Date
Yann Collet
87968517f9 fixed decoding block checksum in lz4frame 2017-10-04 15:24:08 -07:00
Yann Collet
f6b31bf0d0 fix #404
static analyzer `cppcheck` complains about a shift-by-32 on a 32 bits value,
which is an undefined behavior.
However, the flagged code path is never triggered in 32-bits mode,
(actually, it's not even generated if DCE kicks in),
the shift-by-32 is necessarily performed on a 64-bits value.

While it doesn't change anything regarding lz4 code generation, for both 32 and 64 bits mode,
(can be checked by md5sum on the generated binary),
the shift has been rewritten in a way which should please this static analyzer,
since it now pretends to shift by 16 on 32-bits cpu (note : it doesn't matter since the code will not even be generated in this case).

Note : this is a blind fix, the new code has not been tested with cppcheck, because cppcheck only works on Windows.
Other static analyzer, such as scan-build, do not trigger this false positive.
2017-09-30 10:35:55 -07:00
Yann Collet
ceb868f442 minor lz4frame code refactor
try to improve code readability.
minor optimization on condition to preserve history.
2017-09-23 15:06:24 -07:00
Yann Collet
2a9af21d62 Merge pull request #402 from felixhandte/fix-dict-segfault
Fix dict segfault
2017-09-23 14:02:22 -07:00
W. Felix Handte
77f7245ea7 Fix Segfault When Copying Dict
dctx must have been initialized before we can copy the dictionary in.
2017-09-22 13:20:49 -07:00
Yann Collet
810e2ca27b minor improvements to examples
cosmetic : better display
added optional variable MOREFLAGS
2017-09-11 10:25:47 -07:00
Yann Collet
e5bd29a2fb made clang warnings fail (-Werror)
in order to catch them in CI tests
2017-09-10 14:35:16 -07:00
Yann Collet
a30cba08f4 fixed a bunch of -Wcomma warnings
reported by @rvandermeulen (#398)
2017-09-10 14:32:38 -07:00
Yann Collet
a2b4f732f4 added -Wcomma to travisCI clang test 2017-09-10 14:23:18 -07:00
Yann Collet
b500c5282e fix #397 : decompression failed when using a combination of extDict + low memory address
Reported and fixed by @jscheid

Note : we are missing a test case to include it in the CI
2017-09-07 12:48:24 -07:00
Yann Collet
00418f7611 bench : made decompression speed evaluation same time as compression
minor : slightly modified an example do avoid disabling a gcc warning through #pragma
2017-09-07 12:12:36 -07:00
Yann Collet
ee5332438b minor Makefile fixes 2017-09-06 17:41:44 -07:00
Yann Collet
1ad9a36cfb updated lib/README
clarifications, improved wording
2017-09-06 11:22:45 -07:00
Yann Collet
3d260f3522 complementary information for #394 2017-08-30 16:09:10 -07:00
Yann Collet
e3c71584ff clarified documentation of streaming decompression functions
(synchronous bufferless mode)
answering questions by @jtbandes (#394)
2017-08-30 15:42:04 -07:00
Yann Collet
69c3f4bb55 minor typo fix 2017-08-30 15:02:04 -07:00
Yann Collet
f212a10ae0 fixed FS-independent file order in /lib
identified by @bmwiedemann
2017-08-29 15:31:56 -07:00
Yann Collet
c4d6884cd8 build: source files sorted in a FS independent manner
to be more compatible with reproducible builds.
patch inspired by @bmwiedemann
2017-08-26 12:22:51 -07:00
Yann Collet
d2306b836e updated NEWS with fixes 2017-08-25 14:13:29 -07:00
Yann Collet
2fa660bb06 Merge pull request #386 from lz4/parallelMake
`make test` compatible with parallel execution (`-j#`)
2017-08-25 11:23:30 -07:00
Yann Collet
a261f51ee3 removed fasttest from circleCI 2017-08-25 09:50:56 -07:00
Yann Collet
2ed3612477 removed test-fasttest 2017-08-24 18:30:00 -07:00
Yann Collet
4db65c1d99 Merge pull request #393 from terrelln/deprecate2
Don't use C++11 deprecation attribute with clang
2017-08-24 18:05:07 -07:00
Yann Collet
c04655bebf fixed make recurrence from /tests 2017-08-24 17:58:13 -07:00
Yann Collet
517dd95d92 removed fasttest 2017-08-24 17:03:03 -07:00
Yann Collet
82ccdec2fb minor : added header license 2017-08-24 16:59:47 -07:00
Yann Collet
3ec89940d5 Merge branch 'dev' into parallelMake 2017-08-24 16:46:19 -07:00
Nick Terrell
252ce14fd2 Don't use C++11 deprecation attribute with clang
Clang doesn't accept a C++11 attribute following `LZ4LIB_API`.
Use the GNU attribute instead.
2017-08-24 14:06:34 -07:00
Yann Collet
35a39e0e53 Merge pull request #392 from m-hennecke/fix-arm-openbsd
Fix: Add return statement to main function
2017-08-24 14:00:27 -07:00
Yann Collet
9fae51f9c2 Merge pull request #391 from tcpan/dev
FIX: added prefix to FORCE_INLINE to prevent redefinition error durin…
2017-08-24 11:52:17 -07:00
Yann Collet
bb0997b3dc Merge pull request #390 from lz4/installVars
fixed man directory installation (#387)
2017-08-24 11:45:17 -07:00
tcpan
f423d016cf FIX: added prefix to FORCE_INLINE to prevent redefinition error during compilation when used with other libraries that define FORCE_INLINE 2017-08-24 10:14:20 -04:00
Markus Hennecke
2ff723b9ae Fix: Add return statement to main function 2017-08-24 14:31:45 +02:00
Yann Collet
68040a76ad fixed man directory installation (#337)
also : lz4c is now a symlink to lz4
2017-08-23 17:53:45 -07:00
Yann Collet
5637d8856f make test is compatible with parallel execution (-j#)
each test section runs with its own set of files
2017-08-21 15:26:03 -07:00
Yann Collet
c10863b98e fix : asan error in dctx, due to increased maximum frame header size, reported by Craig Young 2017-08-17 10:55:30 -07:00
Yann Collet
1e92bb0af0 Merge pull request #382 from lz4/installVars
better respect GNU standard Makefile conventions
2017-08-16 00:43:32 -07:00
Yann Collet
edb4343659 updated lz4frame manual 2017-08-15 16:58:12 -07:00
Yann Collet
a1f3a27e9b Merge branch 'dev' into installVars and fixed conflicts 2017-08-15 16:57:00 -07:00
Yann Collet
af9d72b7f6 Merge pull request #383 from lz4/blockChecksum
Block checksum
2017-08-15 16:50:04 -07:00
Yann Collet
8593ba8831 Merge pull request #380 from lz4/dictID
Frame Dictionary API
2017-08-15 14:12:04 -07:00
Yann Collet
01cdbfb5fe lz4c legacy commands are now enabled at runtime based on link/binary name "lz4c"
instead of selected at compilation time depending on a macro.
This design makes it possible to have a single binary which supports both modes.

An advantageous side effect is that when doing `make; make install`
no additional binary is created during `make install`
(it used to create `lz4c`, because `make` would only build `lz4`)
2017-08-14 16:56:05 -07:00
Yann Collet
731cff1208 fix minor markdown display issues 2017-08-14 15:18:47 -07:00
Yann Collet
aea7d521ae better respect GNU standard Makefile conventions
supports lowercase directory variables
add an "Installation" section in README.md
added an INSTALL file
2017-08-14 15:13:23 -07:00
Yann Collet
930a692110 cli : restored command -BX to enable block checksum (#322) 2017-08-11 17:58:46 -07:00
Yann Collet
77f99d2922 restored block checksum capability at lz4frame API level 2017-08-11 17:46:52 -07:00
Yann Collet
228e26ee63 Merge pull request #378 from deymo/dev
Allow to predefine FORCE_INLINE macro.
2017-08-11 10:49:25 -07:00
Yann Collet
757497ae3d implemented lz4frame decompression API 2017-08-10 16:53:57 -07:00
Yann Collet
4531637ecd support dictionary compression with independent blocks 2017-08-10 12:12:53 -07:00
Yann Collet
8d597d62d5 fixed gcc prototype warning 2017-08-10 10:28:52 -07:00