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

['free']

0 0 ndpi_free call site: 00015 /src/ndpi/src/lib/ndpi_memory.c:80
0 0 None 0 0 ndpi_tsearch call site: 00012 /src/ndpi/src/lib/ndpi_utils.c:119
0 0 None 0 0 ndpi_tsearch call site: 00012 /src/ndpi/src/lib/ndpi_utils.c:124
0 0 None 0 0 ndpi_tfind call site: 00010 /src/ndpi/src/lib/ndpi_utils.c:222

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_malloc [function] [call site] 00009
1 ndpi_tfind [function] [call site] 00010
1 __compare(void const*, void const*) [function] [call site] 00011
1 ndpi_tsearch [function] [call site] 00012
2 ndpi_malloc [function] [call site] 00013
1 __compare(void const*, void const*) [function] [call site] 00014
1 ndpi_free [function] [call site] 00015
1 ndpi_free [function] [call site] 00016
1 ndpi_tfind [function] [call site] 00017
1 __compare(void const*, void const*) [function] [call site] 00018
1 ndpi_tfind [function] [call site] 00019
1 __compare(void const*, void const*) [function] [call site] 00020
1 ndpi_twalk [function] [call site] 00021
2 ndpi_trecurse [function] [call site] 00022
3 ndpi_trecurse [function] [call site] 00023
4 ndpi_trecurse [function] [call site] 00024
1 __walk(void const*, ndpi_VISIT, int, void*) [function] [call site] 00025
2 __assert_fail [call site] 00026
1 ndpi_tdelete [function] [call site] 00027
2 ndpi_free [function] [call site] 00028
1 __compare(void const*, void const*) [function] [call site] 00029
1 ndpi_free [function] [call site] 00030
1 ndpi_tdelete [function] [call site] 00031
1 __compare(void const*, void const*) [function] [call site] 00032
1 ndpi_free [function] [call site] 00033
1 ndpi_twalk [function] [call site] 00034
1 __walk(void const*, ndpi_VISIT, int, void*) [function] [call site] 00035
1 ndpi_tdestroy [function] [call site] 00036
2 ndpi_tdestroy_recurse [function] [call site] 00037
3 ndpi_tdestroy_recurse [function] [call site] 00038
4 ndpi_tdestroy_recurse [function] [call site] 00039
5 ndpi_free [function] [call site] 00040
1 __free(void*) [function] [call site] 00041
2 ndpi_free [function] [call site] 00042