summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
* Remove an useless declarationSylvestre Ledru2019-07-041-1/+1
|
* bumped version number to v1.9.2Yann Collet2019-07-011-1/+1
| | | | to reduce risks that future bug reports in `dev` branch report `v1.9.1` as the failing version.
* Fix out-of-bounds read of up to 64 KB in the pastNick Terrell2019-06-281-2/+8
|
* precise again that LZ4 decoder needs metadataYann Collet2019-06-061-22/+31
| | | | and that such metadata must be provided / sent / saved by the application.
* restored FORCE_INLINEYann Collet2019-06-041-1/+0
|
* Merge pull request #717 from lz4/inplaceYann Collet2019-05-313-23/+99
|\ | | | | Added documentation and macro to support in-place compression and decompression
| * added more details for in-place documentationYann Collet2019-05-311-14/+15
| |
| * decompress: changed final memcpy() into memmove()Yann Collet2019-05-311-10/+13
| | | | | | | | for compatibility with in-place decompression scenarios.
| * updated LZ4_DECOMPRESS_INPLACE_MARGINYann Collet2019-05-301-2/+2
| | | | | | | | | | to pass worst case scenario. Now adds margin proportional to input size to counter local expansion.
| * add more doc on in-place (de)compressionYann Collet2019-05-301-5/+25
| |
| * some more minor conversion warnings fixesYann Collet2019-05-291-4/+4
| |
| * ensure lz4.h can be included with or without LZ4_STATIC_LINKING_ONLY in any ↵Yann Collet2019-05-293-4/+16
| | | | | | | | | | | | order ensure correct propagation of LZ4_DISTANCE_MAX
| * added comments and macros for in-place (de)compressionYann Collet2019-05-292-6/+46
| |
* | FAST_DEC_LOOP: only did offset check in specific condition.Chenxi Mao2019-05-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I did FAST_DEC_LOOP performance test, I found the offset check is much more than v1.8.3 You will see the condition check difference via lzbench with dickens test case. v1.8.3 34959 v.1.9.x 1055885 After investigate the code, we could see the difference. v.1.8.3 SKIP the condition check if if condition is true in: https://github.com/lz4/lz4/blob/v1.8.3/lib/lz4.c#L1463 AND below condition is true https://github.com/lz4/lz4/blob/v1.8.3/lib/lz4.c#L1478\ The offset check should be invoked. v1.9.3 The offset check code will be invoked in every loop which lead to downgrade. So the fix would be move this check to specific condition to avoid useless condition check. After this change, the call number is same as v1.8.3
* | fix temporary buffer use when input size hint is respectedNiko Dzhus2019-05-241-1/+1
|/
* Merge pull request #708 from gabrielstedman/listYann Collet2019-05-162-2/+11
|\ | | | | Add multiframe report to --list command
| * Add multiframe report to --list commandgstedman2019-05-152-2/+11
| |
* | enable LZ4_FAST_DEC_LOOP build macro on aarch64/GCC by defaultGeorge Prekas2019-05-071-0/+5
|/
* Include block checksum in worst case scenario calculation of dstCapacityBrenden Eng2019-04-261-0/+1
|
* several minor style changes recommended by clang-tidyYann Collet2019-04-242-66/+75
|
* Merge pull request #697 from ldv-alt/fixes/test-amalgamationYann Collet2019-04-241-3/+1
|\ | | | | Fix test-amalgamation
| * test-amalgamation: use a single cat commandDmitry V. Levin2019-04-231-3/+1
| | | | | | | | | | | | | | | | | | | | Use the list of prerequisites instead of listing those files manually, this way they will never fall out of sync. Also update the amalgamation example to use a single cat command. Fixes: a7e8d394 ("[amalgamation] add test") Fixes: b192c86b ("[amalgamation] lz4frame.c")
* | lib/Makefile: Fix detection of `Darwin`.Chongyu Zhu2019-04-231-3/+2
|/
* More build imrpvementsJPeterMugaas2019-04-232-36/+74
| | | | | | Moved a few other tests to Makefiles.inc. Other things might need to go there. Made a test for symlink appropriateness. Windows can NOT handle them the same way Unix-like operating systems do (if at all). This is mostly the same as the Visual C projects. embed version info into .dll and .exes that are redistributed.
* Merge pull request #689 from JPeterMugaas/jpm-makefileYann Collet2019-04-221-15/+11
|\ | | | | Jpm makefile - as described in https://github.com/lz4/lz4/issues/688
| * Fix a test for mingwJPeterMugaas2019-04-221-1/+1
| |
| * Try to put some tests I made in ONE place. I also moved a test for ↵JPeterMugaas2019-04-221-26/+2
| | | | | | | | "install" in one place to try to isolate it.
| * Initial commits from diff I submitted earlierJPeterMugaas2019-04-221-11/+31
| |
* | bumped version numberYann Collet2019-04-191-1/+1
| | | | | | | | to v1.9.1
* | lz4frame: initializers compatibility with C++Yann Collet2019-04-192-5/+7
| | | | | | | | fix #679, reported by @degski
* | fixed read-after input in LZ4_decompress_safe()Yann Collet2019-04-192-29/+30
| |
* | address a few minor Visual warningsYann Collet2019-04-182-3/+6
| | | | | | | | and created target cxx17build
* | re-enable FORCE_INLINEYann Collet2019-04-171-3/+0
| | | | | | | | was disabled for tests
* | fix out-of-bound read within LZ4_decompress_fast()Yann Collet2019-04-172-11/+23
| | | | | | | | | | | | | | | | | | | | | | and deprecate LZ4_decompress_fast(), with deprecation warnings enabled by default. Note that, as a consequence of the fix, LZ4_decompress_fast is now __slower__ than LZ4_decompress_safe(). That's because, since it doesn't know the input buffer size, it must progress more cautiously into the input buffer to ensure to out-of-bound read.
* | Fix AIX errors/warningsNorm Green2019-04-171-0/+6
|/
* ensure consistent definition and usage of FREEMEMYann Collet2019-04-162-6/+6
| | | | as suggested by @sloutsky in #671
* simplified output_directiveYann Collet2019-04-151-15/+17
|
* fix comma for pedanticYann Collet2019-04-151-1/+1
|
* unified limitedOutput_directiveYann Collet2019-04-152-35/+27
| | | | | | | | | | | between lz4.c and lz4hc.c . was left in a strange state after the "amalgamation" patch. Now only 3 directives remain, same name across both implementations, single definition place. Might allow some light simplification due to reduced nb of states possible.
* decompress*_fast() function do not generate deprecation warningsYann Collet2019-04-151-13/+14
| | | | | | | | | they are classified as deprecated in the API documentation (lz4.h) but do not yet trigger a warning, to give time to existing applications to move away. Also, the _fast() variants are still ~5% faster than the _safe() ones after Dave's patch.
* fixed lz4frame with linked blocksYann Collet2019-04-151-11/+9
| | | | | | | when one block was not compressible, it would tag the context as `dirty`, resulting in compression automatically bailing out of all future blocks, making the rest of the frame uncompressible.
* Merge branch 'dev' of github.com:Cyan4973/lz4 into devYann Collet2019-04-133-16/+16
|\
| * fix minor visual warningYann Collet2019-04-121-2/+2
| | | | | | | | | | | | yet some overly cautious overflow risk flag, while it's actually impossible, due to previous test just one line above. Changing the cast position, just to be please the thing.
| * fixed minor Visual warningsYann Collet2019-04-122-14/+14
| | | | | | | | | | | | | | | | since Visual 2017, worries about potential overflow, which are actually impossible. Replaced (c * a) by (c ? a : 0). Will likely replaced a * by a cmov. Probably harmless for performance.
* | fixed incorrect assertion conditionYann Collet2019-04-131-1/+1
|/ | | | output can use the full length of output buffer
* updated doc to underline difference between block and frameYann Collet2019-04-123-16/+24
| | | | as this is a very frequent source of confusion for new users.
* improved documentation for LZ4 dictionary compressionYann Collet2019-04-112-4/+27
|
* introduce LZ4_DISTANCE_MAX build macroYann Collet2019-04-113-23/+35
| | | | | | | | | | make it possible to generate LZ4-compressed block with a controlled maximum offset (necessarily <= 65535). This could be useful for compatibility with decoders using a very limited memory budget (<64 KB). Answer #154
* Merge pull request #663 from lz4/headerSizeYann Collet2019-04-102-57/+99
|\ | | | | made LZ4F_getHeaderSize() public
| * made LZ4F_getHeaderSize() publicYann Collet2019-04-102-57/+99
| |