Fuzz introspector: decompress_fuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
238 238 2 :

['LZ4_decompress_safe_partial_withPrefix64k', 'LZ4_decompress_safe_partial_withSmallPrefix']

238 238 LZ4_decompress_safe_partial_usingDict call site: 00040 /src/lz4/lib/lz4.c:2660
236 236 2 :

['LZ4_decompress_safe_withPrefix64k', 'LZ4_decompress_safe_withSmallPrefix']

236 236 LZ4_decompress_safe_usingDict call site: 00009 /src/lz4/lib/lz4.c:2645
0 0 None 0 0 LZ4_readLE16 call site: 00013 /src/lz4/lib/lz4.c:426
0 0 None 0 0 FUZZ_dataProducer_retrieve32 call site: 00003 /src/lz4/ossfuzz/fuzz_data_producer.c:23
0 0 None 0 0 FUZZ_getRange_from_uint32 call site: 00005 /src/lz4/ossfuzz/fuzz_data_producer.c:37

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 FUZZ_dataProducer_create [function] [call site] 00001
2 fprintf [call site] 00002
1 FUZZ_dataProducer_retrieve32 [function] [call site] 00003
1 FUZZ_dataProducer_remainingBytes [function] [call site] 00004
1 FUZZ_getRange_from_uint32 [function] [call site] 00005
1 fprintf [call site] 00006
1 fprintf [call site] 00007
1 LZ4_decompress_safe_usingDict [function] [call site] 00008
2 LZ4_decompress_safe [function] [call site] 00009
3 __assert_fail [call site] 00010
3 __assert_fail [call site] 00011
3 LZ4_readLE16 [function] [call site] 00012
4 LZ4_isLittleEndian [function] [call site] 00013
4 LZ4_read16 [function] [call site] 00014
3 __assert_fail [call site] 00015
3 __assert_fail [call site] 00016
3 __assert_fail [call site] 00017
3 LZ4_write32 [function] [call site] 00018
3 __assert_fail [call site] 00019
3 __assert_fail [call site] 00020
2 LZ4_decompress_safe_withPrefix64k [function] [call site] 00021
3 __assert_fail [call site] 00022
3 LZ4_readLE16 [function] [call site] 00023
2 __assert_fail [call site] 00024
2 LZ4_decompress_safe_withSmallPrefix [function] [call site] 00025
3 __assert_fail [call site] 00026
3 LZ4_readLE16 [function] [call site] 00027
2 __assert_fail [call site] 00028
2 LZ4_decompress_safe_forceExtDict [function] [call site] 00029
3 __assert_fail [call site] 00030
3 LZ4_readLE16 [function] [call site] 00031
1 LZ4_decompress_safe_usingDict [function] [call site] 00032
1 LZ4_decompress_safe_usingDict [function] [call site] 00033
1 LZ4_decompress_safe_usingDict [function] [call site] 00034
1 LZ4_decompress_safe_usingDict [function] [call site] 00035
1 LZ4_decompress_safe_partial [function] [call site] 00036
2 __assert_fail [call site] 00037
2 LZ4_readLE16 [function] [call site] 00038
1 LZ4_decompress_safe_partial_usingDict [function] [call site] 00039
2 LZ4_decompress_safe_partial [function] [call site] 00040
2 LZ4_decompress_safe_partial_withPrefix64k [function] [call site] 00041
3 __assert_fail [call site] 00042
3 LZ4_readLE16 [function] [call site] 00043
2 __assert_fail [call site] 00044
2 LZ4_decompress_safe_partial_withSmallPrefix [function] [call site] 00045
3 __assert_fail [call site] 00046
3 LZ4_readLE16 [function] [call site] 00047
2 __assert_fail [call site] 00048
2 LZ4_decompress_safe_partial_forceExtDict [function] [call site] 00049
3 __assert_fail [call site] 00050
3 LZ4_readLE16 [function] [call site] 00051
1 LZ4_decompress_safe_partial_usingDict [function] [call site] 00052
1 LZ4_decompress_safe_partial_usingDict [function] [call site] 00053
1 LZ4_decompress_safe_partial_usingDict [function] [call site] 00054
1 LZ4_decompress_safe_partial_usingDict [function] [call site] 00055
1 FUZZ_dataProducer_free [function] [call site] 00056