Fuzz introspector: decompress_frame_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
118 118 1 :

['LZ4_decompress_safe_withPrefix64k']

118 118 LZ4_decompress_safe_usingDict call site: 00096 /src/lz4/lib/lz4.c:2646
0 2 1 :

['LZ4F_returnErrorCode']

0 2 LZ4F_getBlockSize call site: 00032 /src/lz4/lib/lz4frame.c:330
0 2 1 :

['LZ4F_returnErrorCode']

0 2 LZ4F_createDecompressionContext call site: 00011 /src/lz4/lib/lz4frame.c:1251
0 0 None 32 86 LZ4_XXH32_update call site: 00051 /src/lz4/lib/xxhash.c:519
0 0 None 16 84 LZ4_XXH32 call site: 00092 /src/lz4/lib/xxhash.c:411
0 0 None 0 1535 LZ4F_decompress call site: 00044 /src/lz4/lib/lz4frame.c:1661
0 0 None 0 1535 LZ4F_decompress call site: 00047 /src/lz4/lib/lz4frame.c:1704
0 0 None 0 1535 LZ4F_decompress call site: 00054 /src/lz4/lib/lz4frame.c:1756
0 0 None 0 1535 LZ4F_decompress call site: 00054 /src/lz4/lib/lz4frame.c:1762
0 0 None 0 1535 LZ4F_decompress call site: 00062 /src/lz4/lib/lz4frame.c:1799
0 0 None 0 1535 LZ4F_decompress call site: 00086 /src/lz4/lib/lz4frame.c:1827
0 0 None 0 1535 LZ4F_decompress call site: 00121 /src/lz4/lib/lz4frame.c:1868

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_retrieve32 [function] [call site] 00004
1 FUZZ_dataProducer_remainingBytes [function] [call site] 00005
1 FUZZ_getRange_from_uint32 [function] [call site] 00006
1 FUZZ_getRange_from_uint32 [function] [call site] 00007
1 LZ4F_createDecompressionContext [function] [call site] 00008
2 __assert_fail [call site] 00009
2 LZ4F_returnErrorCode [function] [call site] 00010
2 LZ4F_createDecompressionContext_advanced [function] [call site] 00011
3 LZ4F_calloc [function] [call site] 00012
4 calloc [call site] 00013
2 LZ4F_returnErrorCode [function] [call site] 00014
1 fprintf [call site] 00015
1 fprintf [call site] 00016
1 fprintf [call site] 00017
1 decompress [function] [call site] 00018
2 LZ4F_resetDecompressionContext [function] [call site] 00019
2 LZ4F_decompress [function] [call site] 00020
3 __assert_fail [call site] 00021
3 __assert_fail [call site] 00022
3 LZ4F_decodeHeader [function] [call site] 00023
4 LZ4F_returnErrorCode [function] [call site] 00024
4 LZ4F_readLE32 [function] [call site] 00025
4 LZ4F_returnErrorCode [function] [call site] 00026
4 LZ4F_returnErrorCode [function] [call site] 00027
4 LZ4F_returnErrorCode [function] [call site] 00028
4 LZ4F_returnErrorCode [function] [call site] 00029
4 LZ4F_returnErrorCode [function] [call site] 00030
4 __assert_fail [call site] 00031
4 LZ4F_getBlockSize [function] [call site] 00032
5 LZ4F_returnErrorCode [function] [call site] 00033
4 LZ4F_readLE64 [function] [call site] 00034
4 LZ4F_readLE32 [function] [call site] 00035
3 LZ4F_isError [function] [call site] 00036
3 LZ4F_decodeHeader [function] [call site] 00037
3 LZ4_XXH32_reset [function] [call site] 00038
3 LZ4F_free [function] [call site] 00039
3 LZ4F_malloc [function] [call site] 00040
3 LZ4F_returnErrorCode [function] [call site] 00041
3 LZ4F_free [function] [call site] 00042
3 LZ4F_malloc [function] [call site] 00043
3 LZ4F_returnErrorCode [function] [call site] 00044
3 LZ4F_readLE32 [function] [call site] 00045
3 LZ4F_returnErrorCode [function] [call site] 00046
3 LZ4_XXH32_reset [function] [call site] 00047
3 LZ4_XXH32_update [function] [call site] 00048
4 XXH_isLittleEndian [function] [call site] 00049
4 XXH_memcpy [function] [call site] 00050
4 XXH_read32 [function] [call site] 00051
4 XXH_memcpy [function] [call site] 00052
3 LZ4_XXH32_update [function] [call site] 00053
3 LZ4F_updateDict [function] [call site] 00054
4 __assert_fail [call site] 00055
4 __assert_fail [call site] 00056
4 __assert_fail [call site] 00057
4 __assert_fail [call site] 00058
4 __assert_fail [call site] 00059
4 __assert_fail [call site] 00060
3 LZ4F_readLE32 [function] [call site] 00061
3 LZ4_XXH32_digest [function] [call site] 00062
4 XXH_isLittleEndian [function] [call site] 00063
4 XXH32_finalize [function] [call site] 00064
5 XXH_read32 [function] [call site] 00065
5 XXH_read32 [function] [call site] 00066
5 XXH_read32 [function] [call site] 00067
5 XXH32_avalanche [function] [call site] 00068
5 XXH_read32 [function] [call site] 00069
5 XXH_read32 [function] [call site] 00070
5 XXH_read32 [function] [call site] 00071
5 XXH32_avalanche [function] [call site] 00072
5 XXH_read32 [function] [call site] 00073
5 XXH_read32 [function] [call site] 00074
5 XXH_read32 [function] [call site] 00075
5 XXH32_avalanche [function] [call site] 00076
5 XXH_read32 [function] [call site] 00077
5 XXH_read32 [function] [call site] 00078
5 XXH_read32 [function] [call site] 00079
5 XXH32_avalanche [function] [call site] 00080
5 __assert_fail [call site] 00081
4 XXH32_finalize [function] [call site] 00082
3 __assert_fail [call site] 00083
3 __assert_fail [call site] 00084
3 LZ4F_readLE32 [function] [call site] 00085
3 LZ4_XXH32 [function] [call site] 00086
4 XXH_isLittleEndian [function] [call site] 00087
4 XXH_read32 [function] [call site] 00088
4 XXH32_round [function] [call site] 00089
4 XXH_read32 [function] [call site] 00090
4 XXH_read32 [function] [call site] 00091
4 XXH_read32 [function] [call site] 00092
4 XXH32_round [function] [call site] 00093
3 __assert_fail [call site] 00094
3 LZ4_decompress_safe_usingDict [function] [call site] 00095
4 LZ4_decompress_safe [function] [call site] 00096
5 __assert_fail [call site] 00097
5 __assert_fail [call site] 00098
5 LZ4_readLE16 [function] [call site] 00099
6 LZ4_isLittleEndian [function] [call site] 00100
6 LZ4_read16 [function] [call site] 00101
5 __assert_fail [call site] 00102
5 __assert_fail [call site] 00103
5 __assert_fail [call site] 00104
5 LZ4_write32 [function] [call site] 00105
5 __assert_fail [call site] 00106
5 __assert_fail [call site] 00107
4 LZ4_decompress_safe_withPrefix64k [function] [call site] 00108
5 __assert_fail [call site] 00109
5 LZ4_readLE16 [function] [call site] 00110
4 __assert_fail [call site] 00111
4 LZ4_decompress_safe_withSmallPrefix [function] [call site] 00112
5 __assert_fail [call site] 00113
5 LZ4_readLE16 [function] [call site] 00114
4 __assert_fail [call site] 00115
4 LZ4_decompress_safe_forceExtDict [function] [call site] 00116
5 __assert_fail [call site] 00117
5 LZ4_readLE16 [function] [call site] 00118
3 LZ4F_returnErrorCode [function] [call site] 00119
3 LZ4_XXH32_update [function] [call site] 00120
3 LZ4F_updateDict [function] [call site] 00121
3 LZ4_decompress_safe_usingDict [function] [call site] 00122
3 LZ4F_returnErrorCode [function] [call site] 00123
3 LZ4_XXH32_update [function] [call site] 00124
3 LZ4F_updateDict [function] [call site] 00125
3 LZ4F_returnErrorCode [function] [call site] 00126
3 LZ4F_resetDecompressionContext [function] [call site] 00127
3 LZ4F_readLE32 [function] [call site] 00128
3 LZ4_XXH32_digest [function] [call site] 00129
3 LZ4F_resetDecompressionContext [function] [call site] 00130
3 LZ4F_readLE32 [function] [call site] 00131
3 LZ4F_resetDecompressionContext [function] [call site] 00132
3 __assert_fail [call site] 00133
2 LZ4F_decompress_usingDict [function] [call site] 00134
3 LZ4F_decompress [function] [call site] 00135
1 decompress [function] [call site] 00136
1 decompress [function] [call site] 00137
1 decompress [function] [call site] 00138
1 LZ4F_freeDecompressionContext [function] [call site] 00139
1 FUZZ_dataProducer_free [function] [call site] 00143