Fuzz introspector: parse_packet_fuzzer
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 440 parse_section call site: 00046 /src/unbound/util/data/msgparse.c:878
0 0 None 0 440 parse_section call site: 00124 /src/unbound/util/data/msgparse.c:888
0 0 None 0 77 add_rr_to_rrset call site: 00144 /src/unbound/util/data/msgparse.c:784
0 0 None 0 47 change_rrsig_rrset call site: 00115 /src/unbound/util/data/msgparse.c:406
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:585
0 0 None 0 0 smart_compare call site: 00053 /src/unbound/util/data/msgparse.c:61

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 regional_create [function] [call site] 00001
2 regional_create_custom [function] [call site] 00002
3 regional_create_custom_large_object [function] [call site] 00003
4 regional_init [function] [call site] 00004
1 abort [call site] 00005
1 sldns_buffer_init_frm_data [function] [call site] 00006
1 parse_packet [function] [call site] 00007
2 sldns_buffer_remaining [function] [call site] 00008
3 sldns_buffer_remaining_at [function] [call site] 00009
4 sldns_buffer_invariant [function] [call site] 00010
2 sldns_buffer_read [function] [call site] 00011
3 sldns_buffer_read_at [function] [call site] 00012
2 sldns_buffer_read_u16 [function] [call site] 00013
3 sldns_buffer_read_u16_at [function] [call site] 00014
4 sldns_read_uint16 [function] [call site] 00015
2 sldns_buffer_read_u16 [function] [call site] 00016
2 sldns_buffer_read_u16 [function] [call site] 00017
2 sldns_buffer_read_u16 [function] [call site] 00018
2 sldns_buffer_read_u16 [function] [call site] 00019
2 parse_query_section [function] [call site] 00020
3 sldns_buffer_remaining [function] [call site] 00021
3 sldns_buffer_current [function] [call site] 00022
4 sldns_buffer_at [function] [call site] 00023
3 pkt_dname_len [function] [call site] 00024
4 sldns_buffer_remaining [function] [call site] 00025
4 sldns_buffer_read_u8 [function] [call site] 00026
5 sldns_buffer_read_u8_at [function] [call site] 00027
4 sldns_buffer_remaining [function] [call site] 00028
4 sldns_buffer_read_u8 [function] [call site] 00029
4 sldns_buffer_limit [function] [call site] 00030
4 sldns_buffer_position [function] [call site] 00031
4 sldns_buffer_set_position [function] [call site] 00032
4 sldns_buffer_remaining [function] [call site] 00033
4 sldns_buffer_skip [function] [call site] 00034
4 sldns_buffer_set_position [function] [call site] 00035
3 sldns_buffer_remaining [function] [call site] 00036
3 sldns_buffer_read_u16 [function] [call site] 00037
3 sldns_buffer_read_u16 [function] [call site] 00038
2 parse_section [function] [call site] 00039
3 sldns_buffer_remaining [function] [call site] 00040
3 sldns_buffer_current [function] [call site] 00041
3 pkt_dname_len [function] [call site] 00042
3 sldns_buffer_remaining [function] [call site] 00043
3 sldns_buffer_read_u16 [function] [call site] 00044
3 sldns_buffer_read [function] [call site] 00045
3 find_rrset [function] [call site] 00046
4 pkt_hash_rrset_first [function] [call site] 00047
5 dname_pkt_hash [function] [call site] 00048
6 sldns_buffer_limit [function] [call site] 00049
6 sldns_buffer_at [function] [call site] 00050
6 tolower [call site] 00051
6 hashlittle [function] [call site] 00052
4 smart_compare [function] [call site] 00053
5 sldns_buffer_limit [function] [call site] 00054
5 sldns_buffer_at [function] [call site] 00055
5 dname_pkt_compare [function] [call site] 00056
6 sldns_buffer_limit [function] [call site] 00057
6 sldns_buffer_at [function] [call site] 00058
6 sldns_buffer_limit [function] [call site] 00059
6 sldns_buffer_at [function] [call site] 00060
6 tolower [call site] 00061
6 tolower [call site] 00062
4 sldns_buffer_current [function] [call site] 00063
4 pkt_rrsig_covered_equals [function] [call site] 00064
5 pkt_rrsig_covered [function] [call site] 00065
6 sldns_buffer_position [function] [call site] 00066
6 sldns_buffer_begin [function] [call site] 00067
7 sldns_buffer_at [function] [call site] 00068
6 sldns_buffer_skip [function] [call site] 00069
6 sldns_buffer_read_u16 [function] [call site] 00070
6 sldns_buffer_read_u16 [function] [call site] 00071
6 sldns_buffer_set_position [function] [call site] 00072
4 smart_compare [function] [call site] 00073
4 pkt_rrset_flags [function] [call site] 00074
5 nsec_at_apex [function] [call site] 00075
6 sldns_buffer_position [function] [call site] 00076
6 sldns_buffer_remaining [function] [call site] 00077
6 sldns_buffer_skip [function] [call site] 00078
6 sldns_buffer_read_u16 [function] [call site] 00079
6 sldns_buffer_remaining [function] [call site] 00080
6 sldns_buffer_set_position [function] [call site] 00081
6 pkt_dname_len [function] [call site] 00082
6 sldns_buffer_set_position [function] [call site] 00083
6 sldns_buffer_position [function] [call site] 00084
6 sldns_buffer_position [function] [call site] 00085
6 sldns_buffer_set_position [function] [call site] 00086
6 sldns_buffer_read_u8 [function] [call site] 00087
6 sldns_buffer_read_u8 [function] [call site] 00088
6 sldns_buffer_read_u8 [function] [call site] 00089
6 sldns_buffer_set_position [function] [call site] 00090
6 sldns_buffer_set_position [function] [call site] 00091
4 sldns_buffer_current [function] [call site] 00092
4 pkt_rrsig_covered [function] [call site] 00093
4 pkt_hash_rrset_rest [function] [call site] 00094
5 hashlittle [function] [call site] 00095
5 hashlittle [function] [call site] 00096
5 hashlittle [function] [call site] 00097
4 msgparse_hashtable_lookup [function] [call site] 00098
5 rrset_parse_equals [function] [call site] 00099
6 dname_pkt_compare [function] [call site] 00100
4 pkt_hash_rrset_rest [function] [call site] 00101
4 msgparse_hashtable_lookup [function] [call site] 00102
4 pkt_hash_rrset_rest [function] [call site] 00103
4 msgparse_hashtable_lookup [function] [call site] 00104
4 pkt_hash_rrset_rest [function] [call site] 00105
4 msgparse_hashtable_lookup [function] [call site] 00106
4 rrset_has_sigover [function] [call site] 00107
5 pkt_rrsig_covered_equals [function] [call site] 00108
4 change_rrsig_rrset [function] [call site] 00109
5 pkt_hash_rrset [function] [call site] 00110
6 dname_pkt_hash [function] [call site] 00111
6 hashlittle [function] [call site] 00112
6 hashlittle [function] [call site] 00113
6 hashlittle [function] [call site] 00114
5 new_rrset [function] [call site] 00115
6 regional_alloc [function] [call site] 00116
5 moveover_rrsigs [function] [call site] 00117
6 pkt_rrsig_covered_equals [function] [call site] 00118
6 regional_alloc [function] [call site] 00119
5 msgparse_bucket_remove [function] [call site] 00120
5 change_section [function] [call site] 00121
4 pkt_hash_rrset_rest [function] [call site] 00122
4 msgparse_hashtable_lookup [function] [call site] 00123
3 new_rrset [function] [call site] 00124
3 add_rr_to_rrset [function] [call site] 00125
4 skip_ttl_rdata [function] [call site] 00126
5 sldns_buffer_remaining [function] [call site] 00127
5 sldns_buffer_skip [function] [call site] 00128
5 sldns_buffer_read_u16 [function] [call site] 00129
5 sldns_buffer_remaining [function] [call site] 00130
5 sldns_buffer_skip [function] [call site] 00131
4 sldns_buffer_current [function] [call site] 00132
4 sig_is_double [function] [call site] 00133
5 sldns_buffer_position [function] [call site] 00134
5 sldns_buffer_remaining [function] [call site] 00135
5 sldns_buffer_skip [function] [call site] 00136
5 sldns_buffer_read_u16 [function] [call site] 00137
5 sldns_buffer_remaining [function] [call site] 00138
5 sldns_buffer_set_position [function] [call site] 00139
5 sldns_buffer_set_position [function] [call site] 00140
5 ntohs [call site] 00141
5 memcmp [call site] 00142
4 skip_ttl_rdata [function] [call site] 00143
4 regional_alloc [function] [call site] 00144
4 sldns_buffer_current [function] [call site] 00145
4 calc_size [function] [call site] 00146
5 sldns_buffer_skip [function] [call site] 00147
5 sldns_buffer_read_u16 [function] [call site] 00148
5 sldns_buffer_remaining [function] [call site] 00149
5 sldns_rr_descript [function] [call site] 00150
5 sldns_buffer_position [function] [call site] 00151
5 pkt_dname_len [function] [call site] 00152
5 sldns_buffer_position [function] [call site] 00153
5 sldns_buffer_position [function] [call site] 00154
5 sldns_buffer_current [function] [call site] 00155
5 get_rdf_size [function] [call site] 00156
5 sldns_buffer_skip [function] [call site] 00157
5 sldns_buffer_skip [function] [call site] 00158
2 parse_section [function] [call site] 00159
2 sldns_buffer_remaining [function] [call site] 00160
2 parse_section [function] [call site] 00161