| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Have read_variable_length use fixed size types
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise, the output from decoding LZ4-compressed input could be
platform dependent.
Also add a compile-time check to confirm the existing code's assumptions
that, if <stdint.h> isn't used, then sizeof(int) == 4.
Updates #792
|
|\ \
| |/
|/|
| |
| | |
bimbashrestha/seperating_seed_generation_and_use_in_fuzzers
Separating the seed generation and use in FUZZ_dataProducer api
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
util.h: Remove deprecated utime for non-Windows
|
|/ /
| |
| |
| | |
utime was deprecated in POSIX 2008.
|
|\ \
| |/
| |
| |
| | |
bimbashrestha/transfer_remaining_fuzzers_to_consume_from_end_of_input
Making fuzzers use dataProducer api instead of random seed for decisions
|
| | |
|
| |
| |
| |
| | |
fixed assert() when divisor == 0
|
|\ \
| |/
| | |
Adding fuzz data producer for uint32 and using in decompress_fuzzer
|
| | |
|
| |
| |
| |
| | |
the easy fuzzers
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Consuming bytes from the end of data instead of from the front to prevent "all-in-one" decisions.
Test Plan:
Reviewers:
Subscribers:
Tasks:
Tags:
|
|
|
|
|
| |
could trigger %0 on exceptional circumstances
due to wrong buffer size parameter.
|
|\
| |
| | |
[LZ4_compress_destSize] Fix off-by-one error
|
|/
|
|
|
|
|
|
|
|
| |
PR#756 fixed the data corruption bug, but didn't clear `ip`. PR#760
fixed that off-by-one error, but missed the case where `ip == filledIp`,
which is harder for the fuzzers to find (it took 20 days not 1 day).
Verified this fixed the issue reported by OSS-Fuzz.
Credit to OSS-Fuzz.
|
|\
| |
| | |
Make Attaching an Empty Dict Behave the Same as Using it Directly
|
| |
| |
| |
| |
| | |
We do want to bump, even if the dictionary is empty, but we **don't** want to
bump if the dictionary is null.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When using an empty dictionary, we bail out of loading or attaching it in
ways that leave the working context in potentially slightly different states.
In particular, in some paths, we will cause the currentOffset to be non-zero,
while in others we would allow it to remain 0.
This difference in behavior is perfectly harmless, but in some situations, it
can produce slight differences in the compressed output. For sanity's sake,
we currently try to maintain a strict correspondence between the behavior of
the dict attachment and the dict loading paths. This patch restores them to
behaving identically.
This shouldn't have any negative side-effects, as far as I can tell. When
writing the dict attachment code, I tried to preserve zeroed currentOffsets
when possible, since they benchmarked as very slightly faster. However, the
case of attaching an empty dictionary is probably rare enought that it's
acceptable to minisculely degrade performance in that corner case.
|
|\
| |
| | |
silence msan warning when offset==0
|
| | |
|
|\ \
| |/
|/| |
[lz4hc] Further improve pattern detection and chain swapping
|
| | |
|
| |
| |
| |
| |
| |
| | |
When the match is very long and found quickly, we can do
matchLength * nbCompares iterations through the chain
swapping, which can really slow down compression.
|
| |
| |
| |
| |
| |
| | |
The pattern detection in extDict mode could put `matchIndex`
within the last 3 bytes of the dictionary. This would cause
a read out of bounds.
|
| |
| |
| |
| |
| |
| | |
We should be comparing `matchPtr` not `ip`. This bug just means
that this branch was not taken, so we might miss some of the
forward length.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
It is important to continue to look backwards if the current pattern
reaches `lowPrefixPtr`. If the pattern detection doesn't go all the
way to the beginning of the pattern, or the end of the pattern it
slows down the search instead of speeding it up.
The slow unit in `round_trip_stream_fuzzer` used to take 12 seconds
to run with -O3, now it takes 0.2 seconds.
Credit to OSS-Fuzz
|
|\
| |
| | |
[LZ4HC] Speed up pattern compression with external dictionary
|
|/
|
|
| |
Fixes #761.
|
|\
| |
| | |
Add option '--best' to lz4(1)
|
|/ |
|
|\
| |
| | |
[lz4frame] Fix unused variable warnings in fuzzing mode
|
| | |
|
|\ \
| |/
|/| |
[LZ4_compress_destSize] Fix off-by-one error in fix
|
| |
| |
| |
| |
| |
| |
| | |
The next match is looking at the current ip, not the next ip,
so it needs to be cleared as well.
Credit to OSS-Fuzz
|
|\ \
| | |
| | | |
Added `BUNDLE DESTINATION`
|
| | |
| | |
| | |
| | | |
versions of cmake
|
| |\ \
| | | |
| | | | |
v1.9.1
|
|\ \ \ \
| |_|_|/
|/| | | |
[fuzz] Add LZ4 frame fuzzers
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Round trip fuzzer
* Compress fuzzer
* Decompress fuzzer
|
| | | |
| | | |
| | | |
| | | |
| | | | |
When `FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION` is defined we skip
magic and checksum checks. This makes it easier to fuzz decompression.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|