Fuzz introspector: fuzz_ds_domain_classify
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
13 13 1 :

['ndpi_realloc']

13 13 ndpi_bitmap64_set call site: 00023 /src/ndpi/src/lib/ndpi_bitmap64.c:147
0 7 1 :

['binary_fuse16_free']

13 20 ndpi_bitmap64_set call site: 00022 /src/ndpi/src/lib/ndpi_bitmap64.c:137
0 0 None 2 92 ndpi_bitmap64_compress call site: 00038 /src/ndpi/src/lib/ndpi_bitmap64.c:79
0 0 None 0 108 binary_fuse16_populate call site: 00075 /src/ndpi/src/lib/./third_party/include/binaryfusefilter.h:651
0 0 None 0 102 ndpi_bitmap64_isset call site: 00103 /src/ndpi/src/lib/ndpi_bitmap64.c:173
0 0 None 0 30 binary_fuse16_populate call site: 00064 /src/ndpi/src/lib/./third_party/include/binaryfusefilter.h:584
0 0 None 0 17 ndpi_bitmap64_free call site: 00117 /src/ndpi/src/lib/ndpi_bitmap64.c:188
0 0 None 0 14 binary_fuse16_allocate call site: 00042 /src/ndpi/src/lib/./third_party/include/binaryfusefilter.h:505
0 0 None 0 2 ndpi_bitmap64_size call site: 00114 /src/ndpi/src/lib/ndpi_bitmap64.c:204
0 0 None 0 0 ndpi_bitmap64_compress call site: 00038 /src/ndpi/src/lib/ndpi_bitmap64.c:82
0 0 1 :

['free']

0 0 ndpi_free call site: 00018 /src/ndpi/src/lib/ndpi_memory.c:80
0 0 None 0 0 binary_fuse_max call site: 00047 /src/ndpi/src/lib/./third_party/include/binaryfusefilter.h:191

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 fuzz_set_alloc_callbacks_and_seed [function] [call site] 00001
2 fuzz_set_alloc_callbacks [function] [call site] 00002
3 set_ndpi_malloc [function] [call site] 00003
3 malloc_wrapper [function] [call site] 00004
3 set_ndpi_free [function] [call site] 00006
3 free_wrapper [function] [call site] 00007
2 fuzz_set_alloc_seed [function] [call site] 00008
1 ndpi_domain_classify_alloc [function] [call site] 00009
2 ndpi_malloc [function] [call site] 00010
1 ndpi_domain_classify_add [function] [call site] 00011
2 strrchr [call site] 00012
2 strcmp [call site] 00013
2 ndpi_bitmap64_alloc [function] [call site] 00014
3 ndpi_malloc [function] [call site] 00015
3 ndpi_calloc [function] [call site] 00016
4 ndpi_malloc [function] [call site] 00017
3 ndpi_free [function] [call site] 00018
2 strlen [call site] 00019
2 ndpi_quick_hash64 [function] [call site] 00020
3 strlen [call site] 00021
2 ndpi_bitmap64_set [function] [call site] 00022
3 binary_fuse16_free [function] [call site] 00023
4 ndpi_free [function] [call site] 00024
3 ndpi_realloc [function] [call site] 00025
4 ndpi_malloc [function] [call site] 00026
4 ndpi_free [function] [call site] 00027
1 ndpi_domain_classify_add_domains [function] [call site] 00028
2 ndpi_bitmap64_alloc [function] [call site] 00029
2 fopen [call site] 00030
2 fgets [call site] 00031
2 strlen [call site] 00032
2 strlen [call site] 00033
2 ndpi_quick_hash64 [function] [call site] 00034
2 ndpi_bitmap64_set [function] [call site] 00035
2 fclose [call site] 00036
1 ndpi_domain_classify_finalize [function] [call site] 00037
2 ndpi_bitmap64_compress [function] [call site] 00038
3 qsort [call site] 00039
3 ndpi_bitmap64_entry_compare [function] [call site] 00040
3 binary_fuse16_allocate [function] [call site] 00041
4 binary_fuse_calculate_segment_length [function] [call site] 00042
5 log [call site] 00043
5 log [call site] 00044
4 binary_fuse_calculate_size_factor [function] [call site] 00045
5 log [call site] 00046
5 binary_fuse_max [function] [call site] 00047
5 log [call site] 00048
5 binary_fuse_max [function] [call site] 00049
4 ndpi_calloc [function] [call site] 00050
3 binary_fuse16_populate [function] [call site] 00051
4 binary_fuse_rng_splitmix64 [function] [call site] 00052
4 ndpi_calloc [function] [call site] 00053
4 ndpi_malloc [function] [call site] 00054
4 ndpi_calloc [function] [call site] 00055
4 ndpi_malloc [function] [call site] 00056
4 ndpi_calloc [function] [call site] 00057
4 ndpi_malloc [function] [call site] 00058
4 ndpi_free [function] [call site] 00059
4 ndpi_free [function] [call site] 00060
4 ndpi_free [function] [call site] 00061
4 ndpi_free [function] [call site] 00062
4 ndpi_free [function] [call site] 00063
4 ndpi_free [function] [call site] 00064
4 ndpi_free [function] [call site] 00065
4 ndpi_free [function] [call site] 00066
4 ndpi_free [function] [call site] 00067
4 ndpi_free [function] [call site] 00068
4 ndpi_free [function] [call site] 00069
4 ndpi_free [function] [call site] 00070
4 binary_fuse_murmur64 [function] [call site] 00071
4 binary_fuse16_hash [function] [call site] 00072
5 binary_fuse_mulhi [function] [call site] 00073
4 binary_fuse16_hash [function] [call site] 00074
4 binary_fuse16_hash [function] [call site] 00075
4 binary_fuse_rng_splitmix64 [function] [call site] 00076
4 binary_fuse16_hash [function] [call site] 00077
4 binary_fuse16_hash [function] [call site] 00078
4 binary_fuse16_hash [function] [call site] 00079
4 binary_fuse_mod3 [function] [call site] 00080
4 binary_fuse_mod3 [function] [call site] 00081
4 binary_fuse_rng_splitmix64 [function] [call site] 00082
4 binary_fuse16_fingerprint [function] [call site] 00083
4 binary_fuse16_hash [function] [call site] 00084
4 binary_fuse16_hash [function] [call site] 00085
4 binary_fuse16_hash [function] [call site] 00086
4 ndpi_free [function] [call site] 00087
4 ndpi_free [function] [call site] 00088
4 ndpi_free [function] [call site] 00089
4 ndpi_free [function] [call site] 00090
4 ndpi_free [function] [call site] 00091
4 ndpi_free [function] [call site] 00092
3 ndpi_free [function] [call site] 00093
3 binary_fuse16_free [function] [call site] 00094
1 ndpi_domain_classify_contains [function] [call site] 00095
2 strlen [call site] 00096
2 strrchr [call site] 00097
2 strcmp [call site] 00098
2 __ctype_b_loc [call site] 00099
2 is_valid_domain_char [function] [call site] 00100
2 strlen [call site] 00101
2 ndpi_quick_hash64 [function] [call site] 00102
2 ndpi_bitmap64_isset [function] [call site] 00103
3 ndpi_bitmap64_compress [function] [call site] 00104
3 binary_fuse16_contain [function] [call site] 00105
4 binary_fuse_mix_split [function] [call site] 00106
5 binary_fuse_murmur64 [function] [call site] 00107
4 binary_fuse16_fingerprint [function] [call site] 00108
4 binary_fuse16_hash_batch [function] [call site] 00109
5 binary_fuse_mulhi [function] [call site] 00110
2 strchr [call site] 00111
1 ndpi_domain_classify_contains [function] [call site] 00112
1 ndpi_domain_classify_size [function] [call site] 00113
2 ndpi_bitmap64_size [function] [call site] 00114
3 binary_fuse16_size_in_bytes [function] [call site] 00115
1 ndpi_domain_classify_free [function] [call site] 00116
2 ndpi_bitmap64_free [function] [call site] 00117
3 ndpi_free [function] [call site] 00118
3 binary_fuse16_free [function] [call site] 00119
3 ndpi_free [function] [call site] 00120
2 ndpi_free [function] [call site] 00121