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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
163 0 EP call site: 00000 MHD_response_add_auth_digest_challenge

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 pick_status_code(FuzzedDataProvider&) [function] [call site] 00001
1 create_response(FuzzedDataProvider&, MHD_HTTP_StatusCode) [function] [call site] 00002
2 MHD_response_from_buffer [function] [call site] 00003
3 response_create_basic(MHD_HTTP_StatusCode, unsigned long, void (*)(void*), void*) [function] [call site] 00004
4 calloc [call site] 00005
4 calloc [call site] 00006
2 MHD_response_from_buffer [function] [call site] 00007
2 MHD_response_from_buffer_copy [function] [call site] 00008
3 response_create_basic(MHD_HTTP_StatusCode, unsigned long, void (*)(void*), void*) [function] [call site] 00009
3 response_cntn_free_buf(void*) [function] [call site] 00010
3 response_create_basic(MHD_HTTP_StatusCode, unsigned long, void (*)(void*), void*) [function] [call site] 00011
2 MHD_response_from_iovec [function] [call site] 00012
3 response_create_basic(MHD_HTTP_StatusCode, unsigned long, void (*)(void*), void*) [function] [call site] 00013
3 calloc [call site] 00014
3 response_create_basic(MHD_HTTP_StatusCode, unsigned long, void (*)(void*), void*) [function] [call site] 00015
2 mkstemp [call site] 00016
2 unlink [call site] 00017
2 write [call site] 00018
2 MHD_response_from_fd [function] [call site] 00019
3 response_create_basic(MHD_HTTP_StatusCode, unsigned long, void (*)(void*), void*) [function] [call site] 00020
2 close [call site] 00021
2 pipe [call site] 00022
2 write [call site] 00023
2 close [call site] 00024
2 MHD_response_from_pipe [function] [call site] 00025
3 response_create_basic(MHD_HTTP_StatusCode, unsigned long, void (*)(void*), void*) [function] [call site] 00026
2 close [call site] 00027
1 add_headers(FuzzedDataProvider&, MHD_Response*) [function] [call site] 00028
2 MHD_response_add_header [function] [call site] 00029
3 pthread_mutex_lock [call site] 00030
3 mhd_str_equal_caseless(char const*, char const*) [function] [call site] 00031
3 pthread_mutex_unlock [call site] 00032
3 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00033
4 fprintf [call site] 00034
4 fprintf [call site] 00035
4 fprintf [call site] 00036
4 abort [call site] 00037
3 mhd_str_equal_caseless(char const*, char const*) [function] [call site] 00038
3 pthread_mutex_unlock [call site] 00039
3 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00040
3 response_add_header_int(MHD_Response*, char const*, char const*) [function] [call site] 00041
4 strlen [call site] 00042
4 strlen [call site] 00043
4 memchr [call site] 00044
4 memchr [call site] 00045
4 memchr [call site] 00046
4 memchr [call site] 00047
4 memchr [call site] 00048
4 memchr [call site] 00049
4 memchr [call site] 00050
4 response_add_header_no_check(MHD_Response*, unsigned long, char const*, unsigned long, char const*) [function] [call site] 00051
5 is_name_h2_allowed(unsigned long, char const*) [function] [call site] 00052
6 mhd_str_equal_caseless_bin_n(char const*, char const*, unsigned long) [function] [call site] 00053
5 mhd_str_is_lowercase_bin_n(unsigned long, char const*) [function] [call site] 00054
5 mhd_str_to_lowercase_bin_n(unsigned long, char const*, char*) [function] [call site] 00055
3 pthread_mutex_unlock [call site] 00056
3 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00057
2 safe_ascii(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00058
2 safe_ascii(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00059
2 MHD_response_add_header [function] [call site] 00060
2 safe_ascii(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00061
2 MHD_response_add_predef_header [function] [call site] 00062
1 randomise_response_options(FuzzedDataProvider&, MHD_Response*) [function] [call site] 00063
2 ToMhdBool(bool) [function] [call site] 00064
2 MHD_R_OPTION_REUSABLE(MHD_Bool) [function] [call site] 00065
2 MHD_response_set_options [function] [call site] 00066
3 pthread_mutex_lock [call site] 00067
3 pthread_mutex_unlock [call site] 00068
3 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00069
3 response_make_reusable(MHD_Response*) [function] [call site] 00070
4 pthread_mutex_init [call site] 00071
4 pthread_mutex_destroy [call site] 00072
3 pthread_mutex_unlock [call site] 00073
3 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00074
2 ToMhdBool(bool) [function] [call site] 00075
2 MHD_R_OPTION_HEAD_ONLY_RESPONSE(MHD_Bool) [function] [call site] 00076
2 MHD_response_set_options [function] [call site] 00077
2 ToMhdBool(bool) [function] [call site] 00078
2 MHD_R_OPTION_CHUNKED_ENC(MHD_Bool) [function] [call site] 00079
2 MHD_response_set_options [function] [call site] 00080
2 ToMhdBool(bool) [function] [call site] 00081
2 MHD_R_OPTION_CONN_CLOSE(MHD_Bool) [function] [call site] 00082
2 MHD_response_set_options [function] [call site] 00083
2 ToMhdBool(bool) [function] [call site] 00084
2 MHD_R_OPTION_HTTP_1_0_SERVER(MHD_Bool) [function] [call site] 00085
2 MHD_response_set_options [function] [call site] 00086
2 ToMhdBool(bool) [function] [call site] 00087
2 MHD_R_OPTION_HTTP_1_0_COMPATIBLE_STRICT(MHD_Bool) [function] [call site] 00088
2 MHD_response_set_options [function] [call site] 00089
2 ToMhdBool(bool) [function] [call site] 00090
2 MHD_R_OPTION_INSANITY_HEADER_CONTENT_LENGTH(MHD_Bool) [function] [call site] 00091
2 MHD_response_set_options [function] [call site] 00092
2 MHD_R_OPTION_TERMINATION_CALLBACK(void (*)(void*, MHD_RequestEndedData const*, void*), void*) [function] [call site] 00093
2 request_ended_cb(void*, MHD_RequestEndedData const*, void*) [function] [call site] 00094
2 MHD_response_set_options [function] [call site] 00095
1 add_auth(FuzzedDataProvider&, MHD_Response*, MHD_HTTP_StatusCode) [function] [call site] 00096
2 safe_ascii(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00097
2 ToMhdBool(bool) [function] [call site] 00098
2 MHD_response_add_auth_basic_challenge [function] [call site] 00099
3 pthread_mutex_lock [call site] 00100
3 response_add_auth_basic_challenge_int(MHD_Response*, char const*, MHD_Bool) [function] [call site] 00101
4 strlen [call site] 00102
4 memchr [call site] 00103
4 memchr [call site] 00104
4 mhd_str_quote(char const*, unsigned long, char*, unsigned long) [function] [call site] 00105
4 realloc [call site] 00106
3 pthread_mutex_unlock [call site] 00107
3 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00108
2 safe_ascii(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00109
2 ToMhdBool(bool) [function] [call site] 00110
2 ToMhdBool(bool) [function] [call site] 00111
2 MHD_response_add_auth_digest_challenge [function] [call site] 00112
3 pthread_mutex_lock [call site] 00113
3 response_add_auth_digest_challenge_int(MHD_Response*, char const*, char const*, char const*, MHD_Bool, MHD_DigestAuthMultiQOP, MHD_DigestAuthMultiAlgo, MHD_Bool, MHD_Bool) [function] [call site] 00114
4 strlen [call site] 00115
4 strlen [call site] 00116
4 strlen [call site] 00117
4 memchr [call site] 00118
4 memchr [call site] 00119
4 memchr [call site] 00120
4 memchr [call site] 00121
4 memchr [call site] 00122
4 memchr [call site] 00123
4 memchr [call site] 00124
4 response_add_auth_digest_challenge_alg(MHD_Response*, MHD_String const*, MHD_StringNullable const*, MHD_StringNullable const*, MHD_Bool, bool, MHD_DigestAuthAlgo, MHD_Bool, MHD_Bool) [function] [call site] 00125
5 mhd_str_quote(char const*, unsigned long, char*, unsigned long) [function] [call site] 00126
5 mhd_str_quote(char const*, unsigned long, char*, unsigned long) [function] [call site] 00127
5 realloc [call site] 00128
4 response_add_auth_digest_challenge_alg(MHD_Response*, MHD_String const*, MHD_StringNullable const*, MHD_StringNullable const*, MHD_Bool, bool, MHD_DigestAuthAlgo, MHD_Bool, MHD_Bool) [function] [call site] 00129
4 response_add_auth_digest_challenge_alg(MHD_Response*, MHD_String const*, MHD_StringNullable const*, MHD_StringNullable const*, MHD_Bool, bool, MHD_DigestAuthAlgo, MHD_Bool, MHD_Bool) [function] [call site] 00130
4 mhd_response_remove_auth_digest_headers(MHD_Response*) [function] [call site] 00131
3 pthread_mutex_unlock [call site] 00132
3 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00133
2 safe_ascii(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00134
2 ToMhdBool(bool) [function] [call site] 00135
2 ToMhdBool(bool) [function] [call site] 00136
2 ToMhdBool(bool) [function] [call site] 00137
2 MHD_response_add_auth_digest_challenge [function] [call site] 00138
2 safe_ascii(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00139
2 ToMhdBool(bool) [function] [call site] 00140
2 MHD_response_add_auth_basic_challenge [function] [call site] 00141
2 safe_ascii(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00142
2 ToMhdBool(bool) [function] [call site] 00143
2 MHD_response_add_auth_basic_challenge [function] [call site] 00144
2 safe_ascii(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool) [function] [call site] 00145
2 ToMhdBool(bool) [function] [call site] 00146
2 ToMhdBool(bool) [function] [call site] 00147
2 MHD_response_add_auth_digest_challenge [function] [call site] 00148
1 MHD_HTTP_status_code_to_string [function] [call site] 00149
1 MHD_status_code_to_string [call site] 00150
1 MHD_response_destroy [function] [call site] 00151
2 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00152
2 response_full_deinit(MHD_Response*) [function] [call site] 00153
3 mhd_response_remove_auth_digest_headers(MHD_Response*) [function] [call site] 00154
3 mhd_response_remove_all_headers(MHD_Response*) [function] [call site] 00155
3 mhd_response_deinit_reusable(MHD_Response*) [function] [call site] 00156
4 pthread_mutex_destroy [call site] 00157
4 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00158
3 mhd_response_deinit_content_data(MHD_Response*) [function] [call site] 00159
4 close [call site] 00160
2 mhd_response_dec_use_count(MHD_Response*) [function] [call site] 00161
3 mhd_panic(char const*, char const*, unsigned int, char const*) [function] [call site] 00162
3 response_full_deinit(MHD_Response*) [function] [call site] 00163