Fuzz introspector: civetweb_fuzz3
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
239 245 5 :

['ssl_error', 'sslize', 'close', 'ssl_use_pem_file', 'mg_free']

239 245 mg_connect_client_impl call site: 00093 /src/civetweb/src/civetweb.c:18605
65 65 2 :

['mg_cry_internal_wrap', 'strerror']

312 320 mg_connect_client_impl call site: 00085 /src/civetweb/src/civetweb.c:18576
63 63 1 :

['mg_cry_internal_wrap']

63 63 mg_vsnprintf call site: 00011 /src/civetweb/src/civetweb.c:3195
14 38 7 :

['fwrite', 'usleep', 'mg_get_current_time_ns', 'ferror', 'send', '__errno_location', 'mg_poll']

14 38 push_inner call site: 00168 /src/civetweb/src/civetweb.c:6232
11 11 1 :

['alloc_vprintf2']

11 11 alloc_vprintf call site: 00147 /src/civetweb/src/civetweb.c:7178
8 8 4 :

['abort', 'close', '__errno_location', 'strerror']

8 8 mock_server_init call site: 00000 /src/civetweb/fuzztest/fuzzmain.c:435
6 6 2 :

['sleep', 'time']

6 154 mg_write call site: 00155 /src/civetweb/src/civetweb.c:7019
6 6 3 :

['close', '__errno_location', 'strerror']

6 6 connect_socket call site: 00075 /src/civetweb/src/civetweb.c:9864
4 4 2 :

['read', 'fileno']

6 6 pull_inner call site: 00192 /src/civetweb/src/civetweb.c:6364
2 2 1 :

['atoi']

142 142 close_socket_gracefully call site: 00242 /src/civetweb/src/civetweb.c:18209
2 2 1 :

['strtod']

6 100 read_message call site: 00188 /src/civetweb/src/civetweb.c:11445
2 2 1 :

['atoi']

4 64 push_all call site: 00157 /src/civetweb/src/civetweb.c:6311

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 LLVMFuzzerTestOneInput_RESPONSE [function] [call site] 00001
2 mg_connect_client [function] [call site] 00002
3 mg_connect_client_impl [function] [call site] 00003
4 atoi [call site] 00004
4 mg_calloc [function] [call site] 00005
5 calloc [call site] 00006
4 __errno_location [call site] 00007
4 strerror [call site] 00008
4 mg_snprintf [function] [call site] 00009
5 mg_vsnprintf [function] [call site] 00010
6 vsnprintf [call site] 00011
6 mg_cry_internal_wrap [function] [call site] 00012
7 fake_connection [function] [call site] 00013
7 mg_cry_internal_impl [function] [call site] 00014
8 vsnprintf [call site] 00015
8 fputs [call site] 00016
8 mg_fopen [function] [call site] 00017
9 mg_path_suspicious [function] [call site] 00018
9 mg_stat [function] [call site] 00019
10 mg_path_suspicious [function] [call site] 00020
10 stat64 [call site] 00021
9 fopen64 [call site] 00022
9 fopen64 [call site] 00023
9 fopen64 [call site] 00024
8 flockfile [call site] 00026
8 time [call site] 00027
8 sockaddr_to_string [function] [call site] 00028
9 getnameinfo [call site] 00029
8 fprintf [call site] 00030
8 fprintf [call site] 00031
8 fprintf [call site] 00032
8 fputc [call site] 00033
8 fflush [call site] 00034
8 funlockfile [call site] 00035
8 mg_fclose [function] [call site] 00036
9 fclose [call site] 00037
7 mg_cry_internal_impl [function] [call site] 00038
4 connect_socket [function] [call site] 00039
5 mg_snprintf [function] [call site] 00040
5 is_valid_port [function] [call site] 00041
5 mg_snprintf [function] [call site] 00042
5 mg_snprintf [function] [call site] 00043
5 mg_inet_pton [function] [call site] 00044
6 getaddrinfo [call site] 00045
6 freeaddrinfo [call site] 00046
5 htons [call site] 00047
5 mg_snprintf [function] [call site] 00048
5 socket [call site] 00049
5 __errno_location [call site] 00050
5 __errno_location [call site] 00051
5 strerror [call site] 00052
5 mg_snprintf [function] [call site] 00053
5 set_non_blocking_mode [function] [call site] 00054
6 fcntl64 [call site] 00055
6 fcntl64 [call site] 00056
5 __errno_location [call site] 00057
5 __errno_location [call site] 00058
5 strerror [call site] 00059
5 mg_snprintf [function] [call site] 00060
5 close [call site] 00061
5 set_close_on_exec [function] [call site] 00062
6 fcntl64 [call site] 00063
6 fake_connection [function] [call site] 00064
6 __errno_location [call site] 00065
6 strerror [call site] 00066
6 mg_cry_internal_wrap [function] [call site] 00067
5 connect [call site] 00068
5 __errno_location [call site] 00069
5 mg_poll [function] [call site] 00070
6 poll [call site] 00071
6 __errno_location [call site] 00072
5 mg_snprintf [function] [call site] 00073
5 close [call site] 00074
5 getsockopt [call site] 00075
5 __errno_location [call site] 00076
5 strerror [call site] 00077
5 mg_snprintf [function] [call site] 00078
5 close [call site] 00079
4 ssl_error [function] [call site] 00081
4 mg_snprintf [function] [call site] 00082
4 close [call site] 00083
4 getsockname [call site] 00085
4 __errno_location [call site] 00086
4 strerror [call site] 00087
4 mg_cry_internal_wrap [function] [call site] 00088
4 pthread_mutex_init [call site] 00089
4 __errno_location [call site] 00090
4 mg_snprintf [function] [call site] 00091
4 close [call site] 00092
4 ssl_use_pem_file [function] [call site] 00094
5 ssl_error [function] [call site] 00095
5 mg_cry_internal_wrap [function] [call site] 00096
5 ssl_error [function] [call site] 00097
5 mg_cry_internal_wrap [function] [call site] 00098
5 mg_cry_internal_wrap [function] [call site] 00099
5 ssl_error [function] [call site] 00100
5 mg_cry_internal_wrap [function] [call site] 00101
4 mg_snprintf [function] [call site] 00102
4 close [call site] 00103
4 ssl_error [function] [call site] 00105
4 mg_snprintf [function] [call site] 00106
4 close [call site] 00107
4 sslize [function] [call site] 00109
5 mg_strcasecmp [function] [call site] 00110
6 lowercase [function] [call site] 00111
7 tolower [call site] 00112
5 refresh_trust [function] [call site] 00113
6 stat64 [call site] 00114
6 mg_lock_context [function] [call site] 00115
7 pthread_mutex_lock [call site] 00116
6 mg_strcasecmp [function] [call site] 00117
6 mg_strcasecmp [function] [call site] 00118
6 mg_unlock_context [function] [call site] 00119
7 pthread_mutex_unlock [call site] 00120
6 ssl_error [function] [call site] 00121
6 mg_cry_internal_wrap [function] [call site] 00122
6 ssl_use_pem_file [function] [call site] 00123
6 mg_unlock_context [function] [call site] 00124
6 mg_unlock_context [function] [call site] 00125
5 mg_lock_context [function] [call site] 00126
5 mg_unlock_context [function] [call site] 00127
5 ssl_error [function] [call site] 00128
5 mg_cry_internal_wrap [function] [call site] 00129
5 ssl_error [function] [call site] 00130
5 mg_cry_internal_wrap [function] [call site] 00131
5 atoi [call site] 00132
5 usleep [call site] 00133
5 __errno_location [call site] 00135
5 mg_cry_internal_wrap [function] [call site] 00136
5 ssl_error [function] [call site] 00137
5 mg_cry_internal_wrap [function] [call site] 00138
4 mg_snprintf [function] [call site] 00139
4 close [call site] 00140
2 printf [call site] 00142
2 sleep [call site] 00143
2 mg_printf [function] [call site] 00144
3 mg_vprintf [function] [call site] 00145
4 alloc_vprintf [function] [call site] 00146
5 vsnprintf [call site] 00147
5 alloc_vprintf2 [function] [call site] 00148
6 mg_malloc [function] [call site] 00150
6 vsnprintf [call site] 00151
5 mg_malloc [function] [call site] 00152
5 vsnprintf [call site] 00153
5 vsnprintf [call site] 00154
4 mg_write [function] [call site] 00155
5 time [call site] 00156
5 push_all [function] [call site] 00157
6 atoi [call site] 00158
6 strtod [call site] 00159
6 push_inner [function] [call site] 00160
7 mg_get_current_time_ns [function] [call site] 00161
8 clock_gettime [call site] 00162
7 __errno_location [call site] 00163
7 fwrite [call site] 00164
7 ferror [call site] 00165
7 __errno_location [call site] 00166
7 send [call site] 00167
7 __errno_location [call site] 00168
7 usleep [call site] 00169
7 mg_get_current_time_ns [function] [call site] 00171
5 sleep [call site] 00173
5 time [call site] 00174
2 mg_get_response [function] [call site] 00177
3 mg_snprintf [function] [call site] 00178
3 mg_snprintf [function] [call site] 00179
3 get_response [function] [call site] 00180
4 get_message [function] [call site] 00181
5 reset_per_request_attributes [function] [call site] 00182
5 mg_snprintf [function] [call site] 00184
5 clock_gettime [call site] 00185
5 read_message [function] [call site] 00186
6 strtod [call site] 00187
6 strtod [call site] 00188
6 strtod [call site] 00189
6 get_http_header_len [function] [call site] 00190
7 __ctype_b_loc [call site] 00191
6 pull_inner [function] [call site] 00192
7 fileno [call site] 00193
7 read [call site] 00194
7 __errno_location [call site] 00195
7 __errno_location [call site] 00197
7 recv [call site] 00199
7 __errno_location [call site] 00200
6 clock_gettime [call site] 00201
6 get_http_header_len [function] [call site] 00202
6 mg_difftimespec [function] [call site] 00203
5 mg_snprintf [function] [call site] 00204
5 mg_snprintf [function] [call site] 00205
5 mg_snprintf [function] [call site] 00206
5 mg_snprintf [function] [call site] 00207
4 parse_http_response [function] [call site] 00208
5 __ctype_b_loc [call site] 00209
5 __ctype_b_loc [call site] 00210
5 get_http_header_len [function] [call site] 00211
5 strncmp [call site] 00212
5 __ctype_b_loc [call site] 00213
5 skip_to_end_of_word_and_terminate [function] [call site] 00214
6 __ctype_b_loc [call site] 00215
6 __ctype_b_loc [call site] 00216
6 __ctype_b_loc [call site] 00217
5 skip_to_end_of_word_and_terminate [function] [call site] 00218
5 strtol [call site] 00219
5 __ctype_b_loc [call site] 00220
5 __ctype_b_loc [call site] 00221
5 parse_http_headers [function] [call site] 00222
4 mg_snprintf [function] [call site] 00223
4 get_header [function] [call site] 00224
5 mg_strcasecmp [function] [call site] 00225
4 mg_strcasecmp [function] [call site] 00226
4 mg_strcasecmp [function] [call site] 00227
4 mg_snprintf [function] [call site] 00228
4 get_header [function] [call site] 00229
4 strtoll [call site] 00230
4 mg_snprintf [function] [call site] 00231
2 mg_get_response_info [function] [call site] 00232
2 mg_close_connection [function] [call site] 00233
3 close_connection [function] [call site] 00234
4 mg_lock_connection [function] [call site] 00235
5 pthread_mutex_lock [call site] 00236
4 mg_set_user_connection_data [function] [call site] 00237
4 close_socket_gracefully [function] [call site] 00238
5 set_blocking_mode [function] [call site] 00239
6 fcntl64 [call site] 00240
6 fcntl64 [call site] 00241
5 shutdown [call site] 00242
5 atoi [call site] 00243
5 getsockopt [call site] 00244
5 __errno_location [call site] 00245
5 strerror [call site] 00246
5 mg_cry_internal_wrap [function] [call site] 00247
5 setsockopt [call site] 00248
5 __errno_location [call site] 00249
5 strerror [call site] 00250
5 mg_cry_internal_wrap [function] [call site] 00251
5 close [call site] 00252
4 mg_unlock_connection [function] [call site] 00253
5 pthread_mutex_unlock [call site] 00254
3 pthread_mutex_destroy [call site] 00255