summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* uncompressed-blocks: Allow uncompressed blocks for all modesAlexander Mohr2022-10-101-1/+0
| | | | | | | | | this commit changes that uncompressed blocks are only available for independent blocks. Building and updating the dictionary from an uncompressed block has no adverse side effects. Signed-off-by: Alexander Mohr <alexander.m.mohr@mercedes-benz.com>
* Merge pull request #1174 from lz4/lz4_ubnullYann Collet2022-10-011-19/+23
|\ | | | | very minor refactor of lz4.c
| * minor refactor of lz4.cYann Collet2022-10-011-19/+23
|/ | | | | | almost no change, functionally equivalent replaced one test by an assert() (since it should always be true)
* Merge pull request #1173 from lz4/md_offYann Collet2022-10-011-107/+104
|\ | | | | LZ4 HC match finder and parsers use direct offset values
| * fix another ubsan warning in lz4hcmd_offYann Collet2022-10-011-1/+1
| | | | | | | | | | | | | | because ubsan complains even about intermediate pointer arithmetic results (in a simple linear formula with 3 factors for example). use parenthesis to make sure calculations go directly from one valid memory address to another valid memory address value.
| * use LZ4HC_match_t structure directly to store match candidatesYann Collet2022-10-011-68/+53
| | | | | | | | | | this formalized better the coupling between match length and match offset which were 2 separated variables before.
| * removed virtual pointer from optimal parserYann Collet2022-09-301-5/+4
| | | | | | | | | | replaced by direct offset value. this virtual pointer was only used in rare _dstSize scenario.
| * removed virtual match pointer from HC parserYann Collet2022-09-301-26/+23
| | | | | | | | replaced by direct offset values.
| * sequence encoder accepts offset as a valueYann Collet2022-09-301-14/+15
| | | | | | | | instead of a virtual pointer
| * LZ4 HC matchfinder returns an offset valueYann Collet2022-09-301-43/+58
|/ | | | instead of a virtual past pointer.
* Merge pull request #1171 from dosaboy/snap-1.9.4Yann Collet2022-09-271-1/+2
|\ | | | | Update snapcraft.yaml to reflect build of v1.9.4
| * Update snapcraft.yaml to reflect build of v1.9.4Edward Hope-Morley2022-09-211-1/+2
| |
* | added code documentation on heap modeYann Collet2022-09-274-15/+46
|/ | | | and also on decompress_continue variants.
* added notes about LZ4_compressFrame() and stack/heap memory usageYann Collet2022-09-202-4/+14
|
* Merge pull request #1169 from lz4/fix_ub485Yann Collet2022-09-171-6/+8
|\ | | | | fix rare ub
| * fix rare ubYann Collet2022-09-171-6/+8
|/ | | | | apparently, accessing the short member of a union still requires enough space for its largest member.
* Merge pull request #1163 from lz4/dict_fillOnIndexYann Collet2022-09-162-31/+39
|\ | | | | remove usages of `base` pointer
| * fixed minor UB warningYann Collet2022-09-161-12/+13
| | | | | | | | now, even intermediate ptr arithmetic results can be UB ??
| * removed a few more usages of base ptrYann Collet2022-09-161-15/+20
| | | | | | | | | | | | | | by making LZ4_putPosition() specific to byPtr strategy. byU32 and byU16 use LZ4_putIndexOnHash() instead. In both cases, it makes it irrelevant to pass` base as reference ptr.
| * remove another usage of baseYann Collet2022-09-161-4/+6
|/ | | | | within `LZ4_loadDict()` function : it's possible to only employ Indexes directly.
* Merge pull request #1168 from lz4/benchDYann Collet2022-09-164-31/+72
|\ | | | | fix benchmark more using Dictionary
| * added test able to catch bug #1167Yann Collet2022-09-152-22/+37
| | | | | | | | also : errors during benchmark mode return an error code.
| * fix benchmark more using DictionaryYann Collet2022-09-153-9/+35
|/ | | | | | | benchmark dictionary mode, implemented in #808, is incorrect. It would desynchronize compression and decompression as soon as 2+ files are dictionary compressed. Also : slightly improved traces system, to also include __LINE__ number
* Merge pull request #1165 from lz4/testmYann Collet2022-09-151-0/+6
|\ | | | | add a test to catch issue #1164
| * add a test to catch issue #1164Yann Collet2022-09-141-0/+6
|/ | | | | | | | | | where `--test -m files*.lz4` would create a bunch of `files*` files. `--test` should not create any file. It turns out the bug was already fixed when #1164 was filled, but it also shows that the CI system was blind to such issues when it happened. The new test was run with `v1.9.3` and triggered an error, as expected.
* update v1.9.4 NEWSYann Collet2022-09-141-0/+1
| | | | one fix was forgotten
* document Makefile variablesYann Collet2022-09-131-0/+7
|
* Merge pull request #1162 from foxeng/fix-static-onlyYann Collet2022-09-131-0/+4
|\ | | | | build: Support BUILD_SHARED=no
| * build: Support BUILD_SHARED=noFotis Xenakis2022-09-131-0/+4
|/ | | | | | Since e585a438c714652e866a59371b287f52aa4d2dc3, the BUILD_SHARED Makefile variable only takes effect for the install target (i.e. the shared libraries always built). This restores the original behaviour.
* Clarifiy documentation for LZ4F_HEAPMODEYann Collet2022-09-132-3/+5
| | | | | | Now it's only about LZ4F_compressFrame(), and it's only about the Compression Context (not the hash tables, which used to be integrated).
* clarify Data Block in the Frame format documentationYann Collet2022-09-131-5/+7
| | | | as requested in #1156
* Merge pull request #1161 from lz4/byPtrYann Collet2022-09-131-9/+7
|\ | | | | simplify getPosition
| * simplify getPositionYann Collet2022-09-121-9/+7
|/ | | | | it's only used in byPtr mode. This removes the need to transfer `base` ptr value.
* updated documentation : no more issue with 32-bit compilation on recent ↵Yann Collet2022-09-121-21/+8
| | | | compilers
* updated Github Actions tests documentationYann Collet2022-09-091-11/+12
| | | | notably regarding ubsan test status (now enabled)
* Merge pull request #1160 from lz4/ubsan_hcYann Collet2022-09-091-18/+18
|\ | | | | fixed a few remaining ubsan warnings in lz4hc
| * fixed a few ubsan warnings in lz4hcYann Collet2022-09-091-18/+18
|/ | | | mostly related to pointer arithmetic involving NULL ptr.
* Merge pull request #1159 from lz4/ubsan2Yann Collet2022-09-091-18/+6
|\ | | | | attempt to enable ubsan tests in CI
| * attempt to enable ubsan tests in CIYann Collet2022-09-081-18/+6
|/
* Merge pull request #1158 from lz4/fix1157Yann Collet2022-09-083-8/+37
|\ | | | | allocation optimization for lz4frame compression
| * added LZ4F_compressUpdate() in fullbenchYann Collet2022-09-082-1/+31
| |
| * allocation optimization for lz4frame compressionYann Collet2022-09-081-7/+6
|/ | | | | | | | | | | | | | | | | | | | | | | as noted by @yixiutt, the temporary buffer inside lz4frame compression is being invalidated at end of compression, forcing it to be re-allocated at next compression job. This shouldn't be necessary. This change was introduced in #236, as a way to fix #232, but neither the issue is explained, nor why the patch fixes it. This patch revert to previous behavior, where temporary buffer is kept between compression calls. This results in a net reduction of allocation workload. Additionally, the temporary buffer should only need malloc(), not calloc(), thus saving initialization. This diff implements both changes. Long fuzzer tests will be run to ensure that no sanitizer warning get triggered. Additionally : fixed a minor ubsan warning in LZ4F_decompress().
* Merge pull request #1150 from ↵Yann Collet2022-08-191-1/+1
|\ | | | | | | | | lz4/dependabot/github_actions/actions/upload-artifact-3 Bump actions/upload-artifact from 1 to 3
| * Bump actions/upload-artifact from 1 to 3dependabot[bot]2022-08-191-1/+1
|/ | | | | | | | | | | | | | Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 1 to 3. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v1...v3) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* Merge pull request #1149 from lz4/dependabot/github_actions/actions/checkout-3Yann Collet2022-08-191-27/+27
|\ | | | | Bump actions/checkout from 2 to 3
| * Bump actions/checkout from 2 to 3dependabot[bot]2022-08-191-27/+27
|/ | | | | | | | | | | | | | | Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* Merge pull request #1148 from ↵Yann Collet2022-08-191-1/+1
|\ | | | | | | | | lz4/dependabot/github_actions/actions/setup-python-4 Bump actions/setup-python from 2 to 4
| * Bump actions/setup-python from 2 to 4dependabot[bot]2022-08-191-1/+1
|/ | | | | | | | | | | | | | Bumps [actions/setup-python](https://github.com/actions/setup-python) from 2 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v2...v4) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* Merge pull request #1147 from tristan957/dependabotYann Collet2022-08-191-0/+7
|\ | | | | Add dependabot
| * Add dependabotTristan Partin2022-08-191-0/+7
|/ | | | Dependabot is configured to update GitHub actions. It will check weekly.