Fuzz introspector: fse_read_ncount
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
67 67 1 :

['FSE_readNCount_body_bmi2']

67 67 FSE_readNCount_bmi2 call site: 00028 /src/zstd/lib/common/entropy_common.c:211
0 0 None 0 27 FSE_writeNCount call site: 00016 /src/zstd/lib/compress/fse_compress.c:336
0 0 None 0 9 FUZZ_dataProducer_int32Range call site: 00008 /src/zstd/tests/fuzz/fuzz_data_producer.c:60
0 0 None 0 0 FSE_writeNCount_generic call site: 00017 /src/zstd/lib/compress/fse_compress.c:268
0 0 None 0 0 FSE_writeNCount_generic call site: 00017 /src/zstd/lib/compress/fse_compress.c:283
0 0 None 0 0 FSE_writeNCount_generic call site: 00017 /src/zstd/lib/compress/fse_compress.c:305
0 0 None 0 0 FSE_writeNCount_generic call site: 00017 /src/zstd/lib/compress/fse_compress.c:314
0 0 None 0 0 FSE_writeNCount_generic call site: 00018 /src/zstd/lib/compress/fse_compress.c:319
0 0 None 0 0 FUZZ_dataProducer_uint32Range call site: 00005 /src/zstd/tests/fuzz/fuzz_data_producer.c:44
0 0 None 0 0 FUZZ_malloc call site: 00002 /src/zstd/tests/fuzz/fuzz_helpers.c:18

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 FUZZ_dataProducer_create [function] [call site] 00001
2 FUZZ_malloc [function] [call site] 00002
3 fprintf [call site] 00003
1 FUZZ_dataProducer_uint32Range [function] [call site] 00004
2 fprintf [call site] 00005
1 FUZZ_dataProducer_uint32Range [function] [call site] 00006
1 FUZZ_dataProducer_int32Range [function] [call site] 00007
2 fprintf [call site] 00008
2 FUZZ_dataProducer_uint32Range [function] [call site] 00009
2 FUZZ_dataProducer_uint32Range [function] [call site] 00010
1 __assert_fail [call site] 00011
1 FUZZ_dataProducer_uint32Range [function] [call site] 00012
1 FSE_NCountWriteBound [function] [call site] 00013
1 fprintf [call site] 00014
1 FSE_writeNCount [function] [call site] 00015
2 FSE_NCountWriteBound [function] [call site] 00016
2 FSE_writeNCount_generic [function] [call site] 00017
3 __assert_fail [call site] 00018
3 __assert_fail [call site] 00019
2 FSE_writeNCount_generic [function] [call site] 00020
1 ZSTD_isError [function] [call site] 00021
2 ERR_isError [function] [call site] 00022
1 fprintf [call site] 00023
1 FUZZ_dataProducer_uint32Range [function] [call site] 00024
1 FUZZ_malloc [function] [call site] 00025
1 FUZZ_dataProducer_uint32Range [function] [call site] 00026
1 FSE_readNCount [function] [call site] 00027
2 FSE_readNCount_bmi2 [function] [call site] 00028
3 FSE_readNCount_body_bmi2 [function] [call site] 00029
4 FSE_readNCount [function] [call site] 00030
4 MEM_readLE32 [function] [call site] 00031
5 MEM_isLittleEndian [function] [call site] 00032
5 MEM_read32 [function] [call site] 00033
5 MEM_read32 [function] [call site] 00034
4 __assert_fail [call site] 00035
4 ZSTD_countTrailingZeros32 [function] [call site] 00036
5 __assert_fail [call site] 00037
3 FSE_readNCount_body_default [function] [call site] 00038
4 FSE_readNCount [function] [call site] 00039
4 MEM_readLE32 [function] [call site] 00040
4 __assert_fail [call site] 00041
4 ZSTD_countTrailingZeros32 [function] [call site] 00042
1 ZSTD_isError [function] [call site] 00043
1 fprintf [call site] 00044
1 fprintf [call site] 00045
1 fprintf [call site] 00046
1 fprintf [call site] 00047
1 fprintf [call site] 00048
1 FUZZ_dataProducer_free [function] [call site] 00049