Fuzz introspector: ares_parse_reply_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 96 ares__parse_txt_reply call site: 00079 /src/c-ares/src/lib/ares_parse_txt_reply.c:150
0 0 None 0 30 ares__addrinfo2hostent call site: 00036 /src/c-ares/src/lib/ares__addrinfo2hostent.c:70
0 0 None 0 24 ares_parse_soa_reply call site: 00085 /src/c-ares/src/lib/ares_parse_soa_reply.c:116
0 0 None 0 10 ares_parse_ptr_reply call site: 00051 /src/c-ares/src/lib/ares_parse_ptr_reply.c:126
0 0 None 0 10 ares_parse_ptr_reply call site: 00053 /src/c-ares/src/lib/ares_parse_ptr_reply.c:190
0 0 None 0 6 ares__addrinfo2hostent call site: 00036 /src/c-ares/src/lib/ares__addrinfo2hostent.c:177
0 0 None 0 0 ares_free_data call site: 00070 /src/c-ares/src/lib/ares_data.c:64
0 0 None 0 0 ares_free_data call site: 00070 /src/c-ares/src/lib/ares_data.c:64
0 0 None 0 0 ares__expand_name_validated call site: 00012 /src/c-ares/src/lib/ares_expand_name.c:207
0 0 None 0 0 ares__addrinfo_cat_cnames call site: 00029 /src/c-ares/src/lib/ares_getaddrinfo.c:151
0 0 None 0 0 ares__addrinfo_cat_nodes call site: 00028 /src/c-ares/src/lib/ares_getaddrinfo.c:210
0 0 None 0 0 ares_parse_ns_reply call site: 00059 /src/c-ares/src/lib/ares_parse_ns_reply.c:79

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 ares_parse_a_reply [function] [call site] 00001
2 ares__parse_into_addrinfo [function] [call site] 00002
3 ares__expand_name_for_response [function] [call site] 00003
4 ares__expand_name_validated [function] [call site] 00004
5 name_length [function] [call site] 00005
6 ares__isprint [function] [call site] 00006
6 is_reservedch [function] [call site] 00007
6 is_hostnamech [function] [call site] 00008
5 aresx_uztosl [function] [call site] 00009
5 ares__isprint [function] [call site] 00010
5 is_reservedch [function] [call site] 00011
5 aresx_uztosl [function] [call site] 00012
3 ares__expand_name_for_response [function] [call site] 00013
3 strcasecmp [call site] 00014
3 ares_append_ai_node [function] [call site] 00015
4 ares__append_addrinfo_node [function] [call site] 00016
5 ares__malloc_addrinfo_node [function] [call site] 00017
4 __bswap_16 [function] [call site] 00018
4 __bswap_16 [function] [call site] 00019
3 strcasecmp [call site] 00020
3 ares_append_ai_node [function] [call site] 00021
3 ares__expand_name_for_response [function] [call site] 00022
3 ares__append_addrinfo_cname [function] [call site] 00023
4 ares__malloc_addrinfo_cname [function] [call site] 00024
3 strcasecmp [call site] 00025
3 ares_strdup [function] [call site] 00026
4 strlen [call site] 00027
3 ares__addrinfo_cat_nodes [function] [call site] 00028
3 ares__addrinfo_cat_cnames [function] [call site] 00029
3 ares__freeaddrinfo_cnames [function] [call site] 00030
3 ares__freeaddrinfo_nodes [function] [call site] 00031
2 ares__addrinfo2hostent [function] [call site] 00032
3 ares_strdup [function] [call site] 00033
3 ares_strdup [function] [call site] 00034
3 ares_strdup [function] [call site] 00035
3 ares_free_hostent [function] [call site] 00036
2 ares__addrinfo2addrttl [function] [call site] 00037
2 ares__freeaddrinfo_cnames [function] [call site] 00038
2 ares__freeaddrinfo_nodes [function] [call site] 00039
1 ares_free_hostent [function] [call site] 00040
1 ares_parse_aaaa_reply [function] [call site] 00041
2 ares__parse_into_addrinfo [function] [call site] 00042
2 ares__addrinfo2hostent [function] [call site] 00043
2 ares__addrinfo2addrttl [function] [call site] 00044
2 ares__freeaddrinfo_nodes [function] [call site] 00045
1 ares_free_hostent [function] [call site] 00046
1 ares_parse_ptr_reply [function] [call site] 00047
2 ares__expand_name_for_response [function] [call site] 00048
2 strcasecmp [call site] 00049
2 ares__expand_name_for_response [function] [call site] 00050
2 strlen [call site] 00051
2 strncpy [call site] 00052
2 ares__expand_name_for_response [function] [call site] 00053
2 aresx_sitoss [function] [call site] 00054
2 aresx_sitoss [function] [call site] 00055
2 ares_free_hostent [function] [call site] 00056
1 ares_free_hostent [function] [call site] 00057
1 ares_parse_ns_reply [function] [call site] 00058
2 ares__expand_name_for_response [function] [call site] 00059
2 ares__expand_name_for_response [function] [call site] 00060
2 strlen [call site] 00061
2 strcpy [call site] 00062
1 ares_free_hostent [function] [call site] 00063
1 ares_parse_srv_reply [function] [call site] 00064
2 ares_expand_name [function] [call site] 00065
3 ares__expand_name_validated [function] [call site] 00066
2 ares_expand_name [function] [call site] 00067
2 ares_malloc_data [function] [call site] 00068
2 ares_expand_name [function] [call site] 00069
2 ares_free_data [function] [call site] 00070
1 ares_free_data [function] [call site] 00071
1 ares_parse_mx_reply [function] [call site] 00072
2 ares_expand_name [function] [call site] 00073
2 ares_free_data [function] [call site] 00074
1 ares_free_data [function] [call site] 00075
1 ares_parse_txt_reply [function] [call site] 00076
2 ares__parse_txt_reply [function] [call site] 00077
3 ares_expand_name [function] [call site] 00078
3 ares_malloc_data [function] [call site] 00079
3 ares_free_data [function] [call site] 00080
1 ares_free_data [function] [call site] 00081
1 ares_parse_soa_reply [function] [call site] 00082
2 ares__expand_name_for_response [function] [call site] 00083
2 ares__expand_name_for_response [function] [call site] 00084
2 ares_malloc_data [function] [call site] 00085
2 ares__expand_name_for_response [function] [call site] 00086
2 ares__expand_name_for_response [function] [call site] 00087
2 ares_free_data [function] [call site] 00088
1 ares_free_data [function] [call site] 00089
1 ares_parse_naptr_reply [function] [call site] 00090
2 ares_malloc_data [function] [call site] 00091
2 ares_expand_string [function] [call site] 00092
3 strncpy [call site] 00093
2 ares_expand_string [function] [call site] 00094
2 ares_expand_string [function] [call site] 00095
2 ares_expand_name [function] [call site] 00096
1 ares_free_data [function] [call site] 00097
1 ares_parse_caa_reply [function] [call site] 00098
2 ares_expand_name [function] [call site] 00099
1 ares_free_data [function] [call site] 00100
1 ares_parse_uri_reply [function] [call site] 00101
2 ares_expand_name [function] [call site] 00102
2 ares_expand_name [function] [call site] 00103
2 ares_malloc_data [function] [call site] 00104
2 strncpy [call site] 00105
2 ares_free_data [function] [call site] 00106
1 ares_free_data [function] [call site] 00107