| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
## Added compilers
- gcc: 4.[4678], 5, 6, 11
- clang: 3.[56789], 4, 5, 12
## Known issue
- make -C tests test-lz4c32
- Fails with all versions of clang. See #991 for details.
- CFLAGS='-O3 -mx32' make -C tests test-lz4c32
- Fails with all versions of clang
- Fails with gcc-11
- `make cxxtest`
- Disabled for now. Will be enabled after #993.
- `make c_standards_c90`, `make c_standards_c11`
- Disabled for now. Will be enabled after #994.
## Difference with `.travis.yml`
The following tests are not included yet.
- name: Compile OSS-Fuzz targets
- name: tag build
The following tests won't be included due to lmitation of the CI environment.
- name: aarch64 real-hw tests
- name: PPC64LE real-hw tests
- name: IBM s390x real-hw tests
Except above, all other features in `.travis.yml` has been included in this change set.
The following post describes details.
|
|\
| |
| | |
Fix -Wshorten-64-to-32 warning
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix -Wshorten-64-to-32 warning
The following CI test (macOS) reports "-Wshorten-64-to-32" warning
make V=1 clean test MOREFLAGS='-Werror -Wconversion -Wno-sign-conversion'
```
blockStreaming_lineByLine.c:68:54: error: implicit conversion loses integer precision: 'const size_t' (aka 'const unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
lz4Stream, inpPtr, cmpBuf, inpBytes, cmpBufBytes, 1);
^~~~~~~~~~~
```
|
|\
| |
| | |
Fix NULL ptr arithmetic in lz4.c
|
| | |
|
| |
| |
| |
| | |
only do arithmetic if offset > 0
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
Disable Meson + clang build at travis-ci
|
| | | |
|
|\ \ \
| | | |
| | | | |
Add GitHub Actions script ci.yml
|
| | | |
| | | |
| | | |
| | | | |
We must enable this test when all make usan errors will be resolved properly.
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
fix UB of lz4frame:907
|
| | | |
| | | |
| | | |
| | | |
| | | | |
ensure `dictBase` is only used
when there is an actual dictionary content.
|
| | |/
| |/|
| | |
| | | |
was blindly adding an offset (0) to `dictionary` which could be `NULL`.
|
|/ /
| |
| |
| |
| |
| | |
now line 912
by ensuring pointer arithmetic is only performed
if there is a reason for an internal buffer to be used.
|
|\ \
| | |
| | | |
Fix 'make usan'
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The following command doesn't work as intended
```
cd
git clone https://github.com/lz4/lz4.git
cd lz4
make usan MOREFLAGS='-Wcomma -Werror'
```
```
Cleaning completed
cc: error: unrecognized command line option ‘-Wcomma’; did you mean ‘-Wcomment’?
make[3]: *** [<builtin>: ../lib/lz4.o] Error 1
make[2]: *** [Makefile:65: lz4] Error 2
make[1]: *** [Makefile:133: test] Error 2
make: *** [Makefile:158: usan] Error 2
```
Because the following part of the `Makefile` doesn't propagate `CC`, `CFLAGS` and `LDFLAGS` to child `$(MAKE)` properly.
```
.PHONY: usan
usan: CC = clang
usan: CFLAGS = -O3 -g -fsanitize=undefined -fno-sanitize-recover=undefined -fsanitize-recover=pointer-overflow
usan: LDFLAGS = $(CFLAGS)
usan: clean
$(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1
```
We need explicit propagation for child process
```
- $(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1
+ CC=$(CC) CFLAGS=$(CFLAGS) LDFLAGS=$(LDFLAGS) $(MAKE) test FUZZER_TIME="-T30s" NB_LOOPS=-i1
```
After that, `make usan` works and it shows expected runtime error.
```
$ make usan MOREFLAGS='-Wcomma -Werror'
Cleaning completed
../lib/lz4frame.c:907:25: runtime error: applying non-zero offset 65536 to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../lib/lz4frame.c:907:25 in
../lib/lz4frame.c:907:58: runtime error: applying zero offset to null pointer
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../lib/lz4frame.c:907:58 in
...
```
Please note that `make usan` is working at travis-ci. Because `.travis.yml` has the following [explicit `compiler:` setting](https://github.com/lz4/lz4/blob/7a966c1511816b53ac93aa2f2a2ff97e036a4a60/.travis.yml#L66).
```
- name: (Trusty) USan test
dist: trusty
compiler: clang
script:
- make usan MOREFLAGS=-Wcomma -Werror
```
|
|\ \
| |/
|/| |
Fix -Wshorten-64-to-32 warning
|
|/ |
|
|\
| |
| | |
Fix potential memory corruption with negative memmove() size
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Avoiding null pointer dereference
|
|/ |
|
|\
| |
| | |
Update .cirrus.yml
|
|/
|
| |
current up-to-date stable branch is 12.2
|
|\
| |
| | |
Don't trigger UBSan warning in LZ4_resetStreamHC_fast if LZ4_streamHC…
|
| |
| |
| |
| | |
LZ4_streamHCPtr->internal_donotuse.end is NULL.
|
|\ \
| | |
| | | |
Update snapcraft.yaml to reflect latest build
|
|/ / |
|
|\ \
| |/
|/| |
fix some typos (work by Andrea Gelmini)
|
|/ |
|
|\
| |
| | |
Add include locations for x64 builds as well
|
|/ |
|
|\
| |
| | |
Makefile correctly export CFLAGS
|
| |
| |
| |
| | |
initialization and conversion
|
| |
| |
| |
| | |
so now, `%p` _requires_ a `void*` pointer ?
|
| | |
|
| |
| |
| |
| | |
seems to require explicit environment variables
|
| | |
|
| |\
| |/
|/|
| | |
remove `LN_S`
|
|\ \
| | |
| | | |
install links over existing install
|
|/ /
| |
| |
| | |
ensures links are created
|
|/
|
|
|
| |
remove usage of include Makefile.inc in too Makefile
as it seems to somehow unexport CFLAGS ...
|
| |
|