Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: fuzz_1_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 330 51.4%
gold [1:9] 11 1.71%
yellow [10:29] 10 1.56%
greenyellow [30:49] 1 0.15%
lawngreen 50+ 289 45.0%
All colors 641 100

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
331 579 6 :

['ntohs', 'priv_lookup_addr', 'msgparse_rrset_remove_rr', 'priv_lookup_name', 'sldns_read_uint16.1383', 'htons']

331 579 priv_rrset_bad call site: 00392 /src/unbound/iterator/iter_priv.c:213
82 220 4 :

['ntohs', 'dname_pkt_copy', 'log_nametypeclass', 'log_name_addr']

82 220 msgparse_rrset_remove_rr call site: 00377 /src/unbound/util/data/msgparse.c:1345
69 81 4 :

['sldns_rr_descript', 'dname_str', 'sldns_lookup_by_id', 'log_info']

69 81 log_nametypeclass call site: 00251 /src/unbound/util/net_help.c:559
7 7 1 :

['dname_valid']

7 7 parse_get_cname_target call site: 00288 /src/unbound/iterator/iter_scrub.c:209
2 140 3 :

['ntohs', 'dname_pkt_copy', 'log_nametypeclass']

2 143 remove_rrset call site: 00265 /src/unbound/iterator/iter_scrub.c:66
2 140 3 :

['ntohs', 'dname_pkt_copy', 'log_nametypeclass']

2 140 shorten_rrset call site: 00319 /src/unbound/iterator/iter_scrub.c:392
2 2 1 :

['closelog']

254 254 log_init call site: 00051 /src/unbound/util/log.c:115
2 2 1 :

['strlen']

150 150 log_init call site: 00061 /src/unbound/util/log.c:145
2 2 1 :

['openlog']

50 50 log_init call site: 00052 /src/unbound/util/log.c:119
0 112 1 :

['dname_pkt_copy']

0 112 synth_cname call site: 00287 /src/unbound/iterator/iter_scrub.c:234
0 0 None 844 2274 scrub_sanitize call site: 00392 /src/unbound/iterator/iter_scrub.c:936
0 0 None 844 2274 scrub_sanitize call site: 00420 /src/unbound/iterator/iter_scrub.c:963

Runtime coverage analysis

Covered functions
89
Functions that are reachable but not covered
104
Reachable functions
193
Percentage of reachable functions covered
46.11%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz_1.c 1
util/log.c 7
sldns/sbuffer.c 3
./sldns/sbuffer.h 19
util/regional.c 10
util/data/msgparse.c 27
util/data/dname.c 12
util/storage/lookup3.c 1
sldns/rrdef.c 1
util/data/msgreply.c 7
iterator/iter_scrub.c 20
util/net_help.c 4
sldns/parseutil.c 1
util/module.c 1
compat/strlcpy.c 1
iterator/iter_priv.c 3
util/storage/dnstree.c 2
util/rbtree.c 1
util/fptr_wlist.c 7
util/alloc.c 6
util/data/packed_rrset.c 3
services/cache/rrset.c 3
util/storage/slabhash.c 3
util/storage/lruhash.c 11

Fuzzer: fuzz_3_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 3 1.07%
gold [1:9] 9 3.22%
yellow [10:29] 11 3.94%
greenyellow [30:49] 10 3.58%
lawngreen 50+ 246 88.1%
All colors 279 100

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 6 56 sldns_bget_token_par call site: 00068 /src/unbound/sldns/parse.c:298
0 0 None 6 56 sldns_bget_token_par call site: 00068 /src/unbound/sldns/parse.c:311
0 0 None 6 56 sldns_bget_token_par call site: 00076 /src/unbound/sldns/parse.c:384
0 0 None 4 4 sldns_b32_pton_base call site: 00052 /src/unbound/sldns/parseutil.c:521
0 0 None 0 16 sldns_bget_token_par call site: 00077 /src/unbound/sldns/parse.c:423
0 0 None 0 0 sldns_b32_pton_base call site: 00052 /src/unbound/sldns/parseutil.c:546
0 0 None 0 0 sldns_b64_pton_base call site: 00046 /src/unbound/sldns/parseutil.c:775
0 0 None 0 0 sldns_b64_pton_base call site: 00046 /src/unbound/sldns/parseutil.c:779
0 0 None 0 0 sldns_b64_pton_base call site: 00046 /src/unbound/sldns/parseutil.c:782
0 0 None 0 0 sldns_str2wire_str_buf call site: 00025 /src/unbound/sldns/str2wire.c:1832
0 0 None 0 0 sldns_str2wire_b64_buf call site: 00045 /src/unbound/sldns/str2wire.c:1944
0 0 None 0 0 sldns_str2wire_nsec_buf call site: 00100 /src/unbound/sldns/str2wire.c:2053

Runtime coverage analysis

Covered functions
74
Functions that are reachable but not covered
21
Reachable functions
95
Percentage of reachable functions covered
77.89%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz_3.c 1
sldns/str2wire.c 37
sldns/parseutil.c 14
./sldns/sbuffer.h 14
compat/strlcpy.c 1
sldns/sbuffer.c 1
sldns/parse.c 4
sldns/rrdef.c 2

Fuzzer: parse_packet_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1 0.60%
gold [1:9] 4 2.42%
yellow [10:29] 0 0.0%
greenyellow [30:49] 1 0.60%
lawngreen 50+ 159 96.3%
All colors 165 100

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 456 parse_section call site: 00046 /src/unbound/util/data/msgparse.c:881
0 0 None 0 456 parse_section call site: 00127 /src/unbound/util/data/msgparse.c:891
0 0 None 0 77 add_rr_to_rrset call site: 00147 /src/unbound/util/data/msgparse.c:787
0 0 None 0 47 change_rrsig_rrset call site: 00118 /src/unbound/util/data/msgparse.c:409
0 0 None 0 0 dname_pkt_compare call site: 00056 /src/unbound/util/data/dname.c:243
0 0 None 0 0 dname_pkt_compare call site: 00057 /src/unbound/util/data/dname.c:246
0 0 None 0 0 dname_pkt_compare call site: 00058 /src/unbound/util/data/dname.c:253
0 0 None 0 0 dname_pkt_compare call site: 00059 /src/unbound/util/data/dname.c:256
0 0 None 0 0 dname_pkt_hash call site: 00048 /src/unbound/util/data/dname.c:323
0 0 None 0 0 dname_pkt_hash call site: 00049 /src/unbound/util/data/dname.c:326
0 0 None 0 0 parse_query_section call site: 00020 /src/unbound/util/data/msgparse.c:588
0 0 None 0 0 smart_compare call site: 00053 /src/unbound/util/data/msgparse.c:64

Runtime coverage analysis

Covered functions
54
Functions that are reachable but not covered
20
Reachable functions
74
Percentage of reachable functions covered
72.97%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
parse_packet_fuzzer.c 1
util/regional.c 5
sldns/sbuffer.c 1
util/data/msgparse.c 25
./sldns/sbuffer.h 17
util/data/dname.c 3
util/storage/lookup3.c 1
sldns/rrdef.c 1

Fuzzer: fuzz_2_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 27 5.28%
gold [1:9] 0 0.0%
yellow [10:29] 13 2.54%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 471 92.1%
All colors 511 100

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 26 1 :

['print_remainder_hex']

0 73 sldns_rr_tcttl_scan call site: 00316 /src/unbound/sldns/wire2str.c:492
0 13 1 :

['print_remainder_hex']

0 13 sldns_wire2str_edns_scan call site: 00248 /src/unbound/sldns/wire2str.c:2471
0 8 1 :

['sldns_str_print']

0 8 sldns_wire2str_b64_scan call site: 00372 /src/unbound/sldns/wire2str.c:1577
0 8 1 :

['sldns_str_print']

0 8 sldns_wire2str_hex_scan call site: 00105 /src/unbound/sldns/wire2str.c:1585
0 0 None 8 32 sldns_wire2str_wks_scan call site: 00093 /src/unbound/sldns/wire2str.c:1825
0 0 None 8 24 sldns_wire2str_wks_scan call site: 00097 /src/unbound/sldns/wire2str.c:1844
0 0 None 8 24 sldns_wire2str_wks_scan call site: 00099 /src/unbound/sldns/wire2str.c:1849
0 0 None 0 389 sldns_wire2str_rdata_scan call site: 00342 /src/unbound/sldns/wire2str.c:785
0 0 None 0 16 sldns_wire2str_edns_subnet_print call site: 00011 /src/unbound/sldns/wire2str.c:2267
0 0 None 0 16 sldns_wire2str_edns_subnet_print call site: 00018 /src/unbound/sldns/wire2str.c:2286
0 0 None 0 13 sldns_wire2str_edns_scan call site: 00246 /src/unbound/sldns/wire2str.c:2463
0 0 None 0 8 sldns_wire2str_header_scan call site: 00167 /src/unbound/sldns/wire2str.c:738

Runtime coverage analysis

Covered functions
98
Functions that are reachable but not covered
14
Reachable functions
112
Percentage of reachable functions covered
87.5%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz_2.c 1
sldns/wire2str.c 81
./sldns/sbuffer.h 2
sldns/parseutil.c 10
sldns/rrdef.c 4
sldns/keyraw.c 2

Fuzzer: fuzz_4_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 284 37.7%
gold [1:9] 12 1.59%
yellow [10:29] 4 0.53%
greenyellow [30:49] 5 0.66%
lawngreen 50+ 448 59.4%
All colors 753 100

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
331 579 6 :

['ntohs', 'priv_lookup_addr', 'msgparse_rrset_remove_rr', 'priv_lookup_name', 'sldns_read_uint16.1383', 'htons']

331 579 priv_rrset_bad call site: 00473 /src/unbound/iterator/iter_priv.c:213
206 206 3 :

['ub_event_del', 'ub_event_free', 'log_err']

206 211 comm_base_delete call site: 00718 /src/unbound/util/netevent.c:251
188 188 6 :

['need_to_update_rrset', 'strerror', 'pthread_rwlock_unlock', 'ub_packed_rrset_parsedelete', 'log_err', 'rrsetdata_equal']

252 412 rrset_cache_update call site: 00561 /src/unbound/services/cache/rrset.c:203
96 96 4 :

['pthread_spin_lock', 'pthread_spin_unlock', 'strerror', 'log_err']

96 96 alloc_clear call site: 00707 /src/unbound/util/alloc.c:169
82 220 4 :

['ntohs', 'dname_pkt_copy', 'log_nametypeclass', 'log_name_addr']

82 220 msgparse_rrset_remove_rr call site: 00458 /src/unbound/util/data/msgparse.c:1345
74 74 1 :

['table_grow']

122 122 lruhash_insert call site: 00630 /src/unbound/util/storage/lruhash.c:349
69 81 4 :

['sldns_rr_descript', 'dname_str', 'sldns_lookup_by_id', 'log_info']

69 81 log_nametypeclass call site: 00333 /src/unbound/util/net_help.c:559
64 64 1 :

['reclaim_space']

186 186 lruhash_insert call site: 00629 /src/unbound/util/storage/lruhash.c:347
64 64 1 :

['rrset_update_id']

64 64 rrset_cache_update call site: 00599 /src/unbound/services/cache/rrset.c:234
56 56 1 :

['prealloc_blocks']

104 104 alloc_init call site: 00102 /src/unbound/util/alloc.c:121
53 53 1 :

['pushintosuper']

53 53 alloc_special_release call site: 00143 /src/unbound/util/alloc.c:289
14 14 1 :

['soa_find_minttl']

16 127 rdata_copy call site: 00535 /src/unbound/util/data/msgreply.c:256

Runtime coverage analysis

Covered functions
145
Functions that are reachable but not covered
94
Reachable functions
239
Percentage of reachable functions covered
60.67%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzz_4.c 1
util/log.c 7
sldns/sbuffer.c 3
./sldns/sbuffer.h 19
util/regional.c 10
util/netevent.c 3
util/ub_event.c 6
util/mini_event.c 5
util/rbtree.c 12
util/alloc.c 10
services/cache/rrset.c 6
util/storage/slabhash.c 6
util/storage/lruhash.c 15
util/data/packed_rrset.c 8
util/data/dname.c 13
util/data/msgparse.c 27
util/storage/lookup3.c 1
sldns/rrdef.c 1
util/data/msgreply.c 7
iterator/iter_scrub.c 20
util/net_help.c 4
sldns/parseutil.c 1
util/module.c 1
compat/strlcpy.c 1
iterator/iter_priv.c 3
util/storage/dnstree.c 2
util/fptr_wlist.c 7

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
ub_resolve_async /src/unbound/libunbound/libunbound.c 7 ['N/A', 'N/A', 'int', 'int', 'N/A', 'N/A', 'N/A'] 27 0 463 86 23 1356 0 9032 6922
iter_operate /src/unbound/iterator/iterator.c 4 ['N/A', 'int', 'int', 'N/A'] 17 0 227 34 14 881 0 6340 2946
config_read /src/unbound/util/config_file.c 3 ['N/A', 'N/A', 'N/A'] 7 0 262 41 17 113 2 1556 1373
auth_zones_notify /src/unbound/services/authzone.c 10 ['N/A', 'N/A', 'N/A', 'size_t', 'short', 'N/A', 'int', 'int', 'int', 'N/A'] 43 0 199 33 9 1077 0 7506 1212
val_operate /src/unbound/validator/validator.c 4 ['N/A', 'int', 'int', 'N/A'] 24 0 356 48 20 856 0 6015 970
val_init /src/unbound/validator/validator.c 2 ['N/A', 'int'] 16 0 148 24 8 417 0 2682 622
ub_ctx_set_option /src/unbound/libunbound/libunbound.c 3 ['N/A', 'N/A', 'N/A'] 6 0 142 28 8 62 0 849 551

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
74.0%
1912 / 2578
Cyclomatic complexity statically reachable by fuzzers
79.0%
16743 / 21082

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

fuzz_1.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['scrub_sanitize', 'log_init', 'scrub_normalize', 'scrub_message', 'scrub_sanitize_rr_length']

fuzz_3.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['sldns_bget_token_par', 'sldns_str2wire_ipseckey_buf']

parse_packet_fuzzer.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['regional_create_custom_large_object']

fuzz_2.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['sldns_wire2str_rr_scan', 'sldns_wire2str_type_scan', 'sldns_wire2str_wks_scan', 'sldns_wire2str_edns_subnet_print', 'sldns_wire2str_loc_scan', 'sldns_wire2str_header_scan', 'sldns_wire2str_edns_scan']

fuzz_4.c

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['lruhash_insert', 'log_init', 'LLVMFuzzerTestOneInput', 'scrub_sanitize', 'scrub_normalize', 'scrub_message', 'alloc_special_obtain', 'lruhash_lookup', 'scrub_sanitize_rr_length']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/unbound/validator/val_secalgo.c [] []
/src/unbound/util/data/dname.c ['fuzz_1_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/util/data/msgencode.c [] []
/src/unbound/validator/val_anchor.c [] []
/src/unbound/services/listen_dnsport.c [] []
/src/unbound/util/net_help.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/services/rpz.c [] []
/src/unbound/services/cache/rrset.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/util/locks.c [] []
/src/unbound/iterator/iter_priv.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/libunbound/libworker.c [] []
/src/unbound/util/timehist.c [] []
/src/unbound/services/authzone.c [] []
/src/unbound/util/data/packed_rrset.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/util/timeval_func.c [] []
/src/unbound/util/data/msgparse.c ['fuzz_1_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/validator/val_nsec3.c [] []
/src/unbound/fuzz_1.c ['fuzz_1_fuzzer'] ['fuzz_1_fuzzer']
/src/unbound/iterator/iter_fwd.c [] []
/src/unbound/services/modstack.c [] []
/src/unbound/services/cache/dns.c [] []
/src/unbound/iterator/iter_hints.c [] []
/src/unbound/./sldns/sbuffer.h ['fuzz_1_fuzzer', 'fuzz_3_fuzzer', 'parse_packet_fuzzer', 'fuzz_2_fuzzer', 'fuzz_4_fuzzer'] []
/src/unbound/util/log.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/services/cache/infra.c [] []
/src/unbound/util/storage/dnstree.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] []
/src/unbound/util/module.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/util/edns.c [] []
/src/unbound/util/proxy_protocol.c [] []
/src/unbound/dns64/dns64.c [] []
/src/unbound/sldns/sbuffer.c ['fuzz_1_fuzzer', 'fuzz_3_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'fuzz_3_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/compat/arc4random.c [] []
/src/unbound/util/mini_event.c ['fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/util/regional.c ['fuzz_1_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/sldns/parseutil.c ['fuzz_1_fuzzer', 'fuzz_3_fuzzer', 'fuzz_2_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_3_fuzzer', 'fuzz_2_fuzzer']
/src/unbound/util/storage/slabhash.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/iterator/iter_delegpt.c [] []
/src/unbound/compat/arc4random_uniform.c [] []
/src/unbound/respip/respip.c [] []
/src/unbound/validator/val_utils.c [] []
/src/unbound/util/configparser.c [] []
/src/unbound/iterator/iter_donotq.c [] []
/src/unbound/iterator/iter_scrub.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/util/tube.c [] []
/src/unbound/util/config_file.c [] []
/src/unbound/./util/configlexer.lex [] []
/src/unbound/./util/configparser.y [] []
/src/unbound/util/rtt.c [] []
/src/unbound/util/rbtree.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/compat/strlcat.c [] []
/src/unbound/util/siphash.c [] []
/src/unbound/services/outbound_list.c [] []
/src/unbound/validator/val_kentry.c [] []
/src/unbound/util/random.c [] []
/src/unbound/util/storage/lookup3.c ['fuzz_1_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'parse_packet_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/util/data/msgreply.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/fuzz_4.c ['fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/compat/chacha_private.h [] []
/src/unbound/services/outside_network.c [] []
/src/unbound/fuzz_2.c ['fuzz_2_fuzzer'] ['fuzz_2_fuzzer']
/src/unbound/validator/val_nsec.c [] []
/src/unbound/util/ub_event.c ['fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/util/fptr_wlist.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/iterator/iter_utils.c [] []
/src/unbound/util/rfc_1982.c [] []
/src/unbound/validator/validator.c [] []
/src/unbound/ [] []
/src/unbound/fuzz_3.c ['fuzz_3_fuzzer'] ['fuzz_3_fuzzer']
/src/unbound/validator/autotrust.c [] []
/src/unbound/compat/strlcpy.c ['fuzz_1_fuzzer', 'fuzz_3_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_3_fuzzer']
/src/unbound/iterator/iterator.c [] []
/src/unbound/libunbound/context.c [] []
/src/unbound/sldns/keyraw.c ['fuzz_2_fuzzer'] ['fuzz_2_fuzzer']
/src/unbound/iterator/iter_resptype.c [] []
/src/unbound/validator/val_neg.c [] []
/src/unbound/sldns/str2wire.c ['fuzz_3_fuzzer'] ['fuzz_3_fuzzer']
/src/unbound/sldns/wire2str.c ['fuzz_2_fuzzer'] ['fuzz_2_fuzzer']
/src/unbound/parse_packet_fuzzer.c ['parse_packet_fuzzer'] ['parse_packet_fuzzer']
/src/unbound/libunbound/libunbound.c [] []
/src/unbound/compat/arc4_lock.c [] []
/src/unbound/util/netevent.c ['fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/util/alloc.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/services/localzone.c [] []
/src/unbound/sldns/rrdef.c ['fuzz_1_fuzzer', 'fuzz_3_fuzzer', 'parse_packet_fuzzer', 'fuzz_2_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_1_fuzzer', 'fuzz_3_fuzzer', 'parse_packet_fuzzer', 'fuzz_2_fuzzer', 'fuzz_4_fuzzer']
/src/unbound/validator/val_kcache.c [] []
/src/unbound/util/storage/lruhash.c ['fuzz_1_fuzzer', 'fuzz_4_fuzzer'] ['fuzz_4_fuzzer']
/src/unbound/validator/val_sigcrypt.c [] []
/src/unbound/services/mesh.c [] []
/src/unbound/services/view.c [] []
/src/unbound/util/tcp_conn_limit.c [] []
/src/unbound/sldns/parse.c ['fuzz_3_fuzzer'] ['fuzz_3_fuzzer']

Directories in report

Directory
/src/unbound/
/src/unbound/compat/
/src/unbound/./util/
/src/unbound/services/cache/
/src/unbound/util/
/src/unbound/util/storage/
/src/unbound/util/data/
/src/unbound/respip/
/src/unbound/./sldns/
/src/unbound/sldns/
/src/unbound/services/
/src/unbound/iterator/
/src/unbound/validator/
/src/unbound/dns64/
/src/unbound/libunbound/