| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|\
| |
| | |
fix rare ub
|
|/
|
|
|
| |
apparently, accessing the short member of a union
still requires enough space for its largest member.
|
|\
| |
| | |
remove usages of `base` pointer
|
| |
| |
| |
| | |
now, even intermediate ptr arithmetic results can be UB ??
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
| |
within `LZ4_loadDict()` function :
it's possible to only employ Indexes directly.
|
|\
| |
| | |
fix benchmark more using Dictionary
|
| |
| |
| |
| | |
also : errors during benchmark mode return an error code.
|
|/
|
|
|
|
|
| |
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
|
|\
| |
| | |
add a test to catch issue #1164
|
|/
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
one fix was forgotten
|
| |
|
|\
| |
| | |
build: Support BUILD_SHARED=no
|
|/
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Now it's only about LZ4F_compressFrame(),
and it's only about the Compression Context
(not the hash tables, which used to be integrated).
|
|
|
|
| |
as requested in #1156
|
|\
| |
| | |
simplify getPosition
|
|/
|
|
|
| |
it's only used in byPtr mode.
This removes the need to transfer `base` ptr value.
|
|
|
|
| |
compilers
|
|
|
|
| |
notably regarding ubsan test status (now enabled)
|
|\
| |
| | |
fixed a few remaining ubsan warnings in lz4hc
|
|/
|
|
| |
mostly related to pointer arithmetic involving NULL ptr.
|
|\
| |
| | |
attempt to enable ubsan tests in CI
|
|/ |
|
|\
| |
| | |
allocation optimization for lz4frame compression
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
|\
| |
| |
| |
| | |
lz4/dependabot/github_actions/actions/upload-artifact-3
Bump actions/upload-artifact from 1 to 3
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| | |
Bump actions/checkout from 2 to 3
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| | |
lz4/dependabot/github_actions/actions/setup-python-4
Bump actions/setup-python from 2 to 4
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| | |
Add dependabot
|
|/
|
|
| |
Dependabot is configured to update GitHub actions. It will check weekly.
|
|\
| |
| | |
Cancel in-progress CI if a new commit workflow supplants it
|
|/
|
|
|
| |
This is useful when repushing to a PR very quickly and when merging to
dev very quickly.
|
| |
|
|\
| |
| | |
Support MSVC 2022 (version 17.3)
|
| | |
|
| |
| |
| |
| | |
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/strtoui64-wcstoui64-strtoui64-l-wcstoui64-l
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch fixes the following error from "make staticAnalyze"
datagencli.c:106:21: warning: Value stored to 'size' is never read
size=0;
^ ~
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|