summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* Merge pull request #1142 from tristan957/ciYann Collet2022-08-171-0/+4
|\ | | | | Cancel in-progress CI if a new commit workflow supplants it
| * Cancel in-progress CI if a new commit workflow supplants itTristan Partin2022-08-171-0/+4
|/ | | | | This is useful when repushing to a PR very quickly and when merging to dev very quickly.
* update NEWS for v1.9.4Yann Collet2022-08-151-0/+2
|
* Merge pull request #1136 from t-mat/msvc-17.3Yann Collet2022-08-1213-31/+1456
|\ | | | | Support MSVC 2022 (version 17.3)
| * Add note about RC_INVOKEDTakayuki Matsuoka2022-08-121-0/+13
| |
| * Fix: replace strtoull with _strtoui64 for MSVC2010Takayuki Matsuoka2022-08-121-0/+8
| | | | | | | | https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strtoui64-wcstoui64-strtoui64-l-wcstoui64-l
| * trigger GitHub actionsTakayuki Matsuoka2022-08-120-0/+0
| |
| * Fix: remove unused valueTakayuki Matsuoka2022-08-121-1/+0
| | | | | | | | | | | | | | | | This patch fixes the following error from "make staticAnalyze" datagencli.c:106:21: warning: Value stored to 'size' is never read size=0; ^ ~
| * Suppress false positive warning from MSVC (fuzzer.c)Takayuki Matsuoka2022-08-121-2/+10
| | | | | | | | | | | | | | Suppress the following false positive warnings from MSVC: - Disable all arithmetic overflow (C26451) - Suppress C6385: Reading invalid data from 'compressedBuffer'. - Add ULL suffix to unsigned 64-bits constants.
| * Suppress false positive warning from MSVC (datagencli.c)Takayuki Matsuoka2022-08-121-28/+4
| | | | | | | | | | | | | | | | | | | | | | MSVC 2022 reports the follwing false positve warnings: lz4\tests\datagencli.c(110): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). lz4\tests\datagencli.c(134): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). lz4\tests\datagencli.c(146): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). Although they're absolutely compiler's and static analyzer's bug, it'd always be nice to use the standard library.
| * Suppress warning from rc.exeTakayuki Matsuoka2022-08-121-0/+4
| | | | | | | | | | | | | | | | | | | | Since rc.exe (the resource compiler) is legacy compiler, it truncates preprocessor symbol name length to 32 chars. And it reports the following warning lz4\build\VS2022\..\..\lib\lz4.h(314): warning RC4011: identifier truncated to 'LZ4_STATIC_LINKING_ONLY_DISABLE' lz4\build\VS2022\..\..\lib\lz4.h(401): warning RC4011: identifier truncated to 'LZ4_STATIC_LINKING_ONLY_DISABLE' This patch detects rc.exe and just skips long symbol.
| * Suppress false positive warning from MSVCTakayuki Matsuoka2022-08-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | MSVC (17.3 or earlier) reports the following warning lz4\lib\lz4.c(527): warning C6385: Reading invalid data from 'v'. Line 527 is : LZ4_memcpy(&v[4], v, 4); But, obviously v[0..3] is always filled with meaningful value. Therefore, this warning report is wrong. We must revisit this issue with future version of MSVC.
| * Update MSVC 2022 project's PlatformToolset to v143Takayuki Matsuoka2022-08-127-28/+28
| |