Fuzz introspector: fuzz_ds_ptree
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
0 0 None 0 108 ndpi_patricia_lookup call site: 00049 /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:659
0 0 None 0 20 ndpi_Clear_Patricia call site: 00018 /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:324
0 0 None 0 20 ndpi_Clear_Patricia call site: 00019 /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:339
0 0 None 0 0 ndpi_fill_prefix_v4 call site: 00042 /src/ndpi/src/lib/ndpi_main.c:2214
0 0 None 0 0 ndpi_fill_prefix_v6 call site: 00041 /src/ndpi/src/lib/ndpi_main.c:2229
0 0 None 0 0 ndpi_get_ip_string call site: 00035 /src/ndpi/src/lib/ndpi_main.c:7916
0 0 1 :

['free']

0 0 ndpi_free call site: 00023 /src/ndpi/src/lib/ndpi_memory.c:80
0 0 None 0 0 ndpi_patricia_search_best2 call site: 00044 /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:551
0 0 None 0 0 ndpi_patricia_lookup call site: 00060 /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:774
0 0 None 0 0 ndpi_Deref_Prefix call site: 00019 /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:282
0 0 None 0 0 ndpi_prefix_tochar call site: 00047 /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:71
0 0 None 0 0 ndpi_prefix_tochar call site: 00047 /src/ndpi/src/lib/third_party/src/ndpi_patricia.c:77

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_ptree_create [function] [call site] 00009
2 ndpi_malloc [function] [call site] 00010
2 ndpi_patricia_new [function] [call site] 00011
3 ndpi_calloc [function] [call site] 00012
4 ndpi_malloc [function] [call site] 00013
3 __assert_fail [call site] 00014
2 ndpi_patricia_new [function] [call site] 00015
2 ndpi_ptree_destroy [function] [call site] 00016
3 ndpi_patricia_destroy [function] [call site] 00017
4 ndpi_Clear_Patricia [function] [call site] 00018
5 ndpi_Deref_Prefix [function] [call site] 00019
6 __assert_fail [call site] 00020
6 __assert_fail [call site] 00021
6 ndpi_DeleteEntry [function] [call site] 00022
7 ndpi_free [function] [call site] 00023
5 __assert_fail [call site] 00024
5 ndpi_DeleteEntry [function] [call site] 00025
5 __assert_fail [call site] 00026
4 ndpi_DeleteEntry [function] [call site] 00027
3 free_ptree_data [function] [call site] 00028
4 ndpi_free [function] [call site] 00029
3 ndpi_patricia_destroy [function] [call site] 00030
3 free_ptree_data [function] [call site] 00031
3 ndpi_free [function] [call site] 00032
1 ndpi_get_ip_string [function] [call site] 00033
2 ndpi_is_ipv6 [function] [call site] 00034
2 inet_ntop [call site] 00035
2 ndpi_snprintf [function] [call site] 00036
3 ndpi_vsnprintf [function] [call site] 00037
4 vsnprintf [call site] 00038
1 ndpi_ptree_insert [function] [call site] 00039
2 ndpi_is_ipv6 [function] [call site] 00040
2 ndpi_fill_prefix_v6 [function] [call site] 00041
2 ndpi_fill_prefix_v4 [function] [call site] 00042
2 ndpi_patricia_search_best [function] [call site] 00043
3 ndpi_patricia_search_best2 [function] [call site] 00044
4 __assert_fail [call site] 00045
4 __assert_fail [call site] 00046
4 ndpi_prefix_tochar [function] [call site] 00047
4 ndpi_prefix_tochar [function] [call site] 00048
2 ndpi_patricia_lookup [function] [call site] 00049
3 __assert_fail [call site] 00050
3 __assert_fail [call site] 00051
3 ndpi_calloc [function] [call site] 00052
3 ndpi_Ref_Prefix [function] [call site] 00053
4 ndpi_New_Prefix2 [function] [call site] 00054
5 ndpi_calloc [function] [call site] 00055
5 ndpi_calloc [function] [call site] 00056
3 ndpi_free [function] [call site] 00057
3 __assert_fail [call site] 00058
3 __assert_fail [call site] 00059
3 __assert_fail [call site] 00060
3 ndpi_Ref_Prefix [function] [call site] 00061
3 __assert_fail [call site] 00062
3 ndpi_calloc [function] [call site] 00063
3 ndpi_Ref_Prefix [function] [call site] 00064
3 ndpi_free [function] [call site] 00065
3 __assert_fail [call site] 00066
3 __assert_fail [call site] 00067
3 __assert_fail [call site] 00068
3 ndpi_calloc [function] [call site] 00069
3 ndpi_Deref_Prefix [function] [call site] 00070
3 ndpi_DeleteEntry [function] [call site] 00071
3 __assert_fail [call site] 00072
1 ndpi_ptree_match_addr [function] [call site] 00073
2 ndpi_is_ipv6 [function] [call site] 00074
2 ndpi_fill_prefix_v6 [function] [call site] 00075
2 ndpi_fill_prefix_v4 [function] [call site] 00076
2 ndpi_patricia_search_best [function] [call site] 00077
1 ndpi_ptree_match_addr [function] [call site] 00078
1 ndpi_ptree_destroy [function] [call site] 00079