Fuzz introspector: fuzz_http_core
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
903 903 2 :

['_cupsLangString', 'cupsLangDefault']

903 990 _cupsSetError call site: 00197 /src/cups/cups/request.c:1125
6 6 1 :

['strcmp']

10 40 httpAssembleURI call site: 00026 /src/cups/cups/http-support.c:267
4 4 2 :

['strerror', '__errno_location']

907 1366 _cupsSetError call site: 00193 /src/cups/cups/request.c:1107
2 2 1 :

['__res_init']

82 5496 httpAddrGetList call site: 00175 /src/cups/cups/http-addrlist.c:520
2 2 1 :

['strlen']

4 34 httpAssembleURI call site: 00028 /src/cups/cups/http-support.c:274
2 2 1 :

['realloc']

2 19 cups_array_add call site: 00306 /src/cups/cups/array.c:1030
2 2 1 :

['strlen']

2 2 httpAddrGetLength call site: 00368 /src/cups/cups/http-addr.c:168
2 2 1 :

['__ctype_b_loc']

2 2 httpDecode64_3 call site: 00169 /src/cups/cups/http-support.c:537
0 20 1 :

['cupsCopyString']

0 20 httpAddrGetString call site: 00460 /src/cups/cups/http-addr.c:560
0 15 1 :

['http_copy_encode']

0 15 httpAssembleURI call site: 00032 /src/cups/cups/http-support.c:295
0 0 None 66 4650 httpAddrGetList call site: 00187 /src/cups/cups/http-addrlist.c:622
0 0 None 58 4640 httpAddrGetList call site: 00192 /src/cups/cups/http-addrlist.c:658

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 atexit [call site] 00001
1 cleanup_files [function] [call site] 00002
2 unlink [call site] 00003
1 parse_http_segments [function] [call site] 00004
1 httpInitialize [function] [call site] 00005
2 _cupsGlobalLock [function] [call site] 00006
3 cupsMutexLock [function] [call site] 00007
4 pthread_mutex_lock [call site] 00008
2 _cupsGlobalUnlock [function] [call site] 00009
3 cupsMutexUnlock [function] [call site] 00010
4 pthread_mutex_unlock [call site] 00011
2 sigaction [call site] 00012
2 _httpTLSInitialize [function] [call site] 00013
2 _cupsGlobalUnlock [function] [call site] 00014
1 test_http_uri_functions [function] [call site] 00015
2 httpAssembleURI [function] [call site] 00016
3 http_copy_encode [function] [call site] 00017
4 strchr [call site] 00018
3 strcmp [call site] 00019
3 http_copy_encode [function] [call site] 00020
3 strchr [call site] 00021
3 strstr [call site] 00022
3 __ctype_b_loc [call site] 00023
3 strchr [call site] 00024
3 http_copy_encode [function] [call site] 00025
3 strcmp [call site] 00026
3 strcmp [call site] 00027
3 strcmp [call site] 00028
3 snprintf [call site] 00029
3 strlen [call site] 00030
3 strchr [call site] 00031
3 http_copy_encode [function] [call site] 00032
3 http_copy_encode [function] [call site] 00033
2 httpSeparateURI [function] [call site] 00034
3 strncmp [call site] 00035
3 cupsCopyString [function] [call site] 00036
4 strlen [call site] 00037
4 validate_end [function] [call site] 00038
3 cupsCopyString [function] [call site] 00039
3 strchr [call site] 00040
3 strcmp [call site] 00041
3 strcmp [call site] 00042
3 strcmp [call site] 00043
3 _cups_strcasecmp [function] [call site] 00044
4 _cups_tolower [function] [call site] 00045
5 _cups_isupper [function] [call site] 00046
3 strcmp [call site] 00047
3 strcmp [call site] 00048
3 strncmp [call site] 00049
3 strpbrk [call site] 00050
3 http_copy_decode [function] [call site] 00051
4 strchr [call site] 00052
4 __ctype_b_loc [call site] 00053
4 __ctype_b_loc [call site] 00054
4 tolower [call site] 00055
4 __ctype_b_loc [call site] 00056
4 tolower [call site] 00057
3 __ctype_b_loc [call site] 00058
3 http_copy_decode [function] [call site] 00059
3 __ctype_b_loc [call site] 00060
3 strchr [call site] 00061
3 strchr [call site] 00062
3 http_copy_decode [function] [call site] 00063
3 strcmp [call site] 00064
3 __ctype_b_loc [call site] 00065
3 strtol [call site] 00066
3 http_copy_decode [function] [call site] 00067
3 http_copy_decode [function] [call site] 00068
3 strlen [call site] 00069
3 http_copy_decode [function] [call site] 00070
1 test_http_field_functions [function] [call site] 00071
2 httpFieldValue [function] [call site] 00072
3 _cups_strcasecmp [function] [call site] 00073
2 time [call site] 00074
2 httpGetDateString [function] [call site] 00075
3 _cupsGlobals [function] [call site] 00076
4 pthread_once [call site] 00077
4 cups_globals_init [function] [call site] 00078
5 pthread_key_create [call site] 00079
5 cups_globals_free [function] [call site] 00080
6 _cupsStrFree [function] [call site] 00081
7 cupsMutexLock [function] [call site] 00082
7 cupsArrayFind [function] [call site] 00083
8 cups_array_find [function] [call site] 00084
7 cupsArrayRemove [function] [call site] 00085
8 cups_array_find [function] [call site] 00086
7 cupsMutexUnlock [function] [call site] 00087
6 cupsArrayDelete [function] [call site] 00088
6 cupsArrayDelete [function] [call site] 00089
6 cupsArrayDelete [function] [call site] 00090
6 httpClose [function] [call site] 00091
7 _httpDisconnect [function] [call site] 00092
8 _httpTLSStop [function] [call site] 00093
9 SSL_get_SSL_CTX [call site] 00094
9 SSL_shutdown [call site] 00095
9 SSL_CTX_free [call site] 00096
9 SSL_free [call site] 00097
8 httpAddrClose [function] [call site] 00098
9 close [call site] 00099
9 unlink [call site] 00100
7 httpAddrFreeList [function] [call site] 00101
7 _httpFreeCredentials [function] [call site] 00102
8 sk_X509_free [function] [call site] 00103
9 OPENSSL_sk_free [call site] 00104
6 _httpFreeCredentials [function] [call site] 00105
6 cupsFileClose [function] [call site] 00106
7 cupsFileFlush [function] [call site] 00107
8 cups_compress [function] [call site] 00108
9 crc32 [call site] 00109
9 cups_write [function] [call site] 00110
10 send [call site] 00111
10 write [call site] 00112
10 __errno_location [call site] 00113
9 deflate [call site] 00114
8 cups_write [function] [call site] 00115
7 inflateEnd [call site] 00116
7 cups_write [function] [call site] 00117
7 deflate [call site] 00118
7 cups_write [function] [call site] 00119
7 deflateEnd [call site] 00120
7 httpAddrClose [function] [call site] 00121
7 close [call site] 00122
6 cupsFileClose [function] [call site] 00123
6 cupsFileClose [function] [call site] 00124
6 cupsArrayDelete [function] [call site] 00125
6 cupsArrayDelete [function] [call site] 00126
6 regfree [call site] 00127
6 cupsFreeOptions [function] [call site] 00128
7 _cupsStrFree [function] [call site] 00129
7 _cupsStrFree [function] [call site] 00130
4 pthread_getspecific [call site] 00131
4 cups_globals_alloc [function] [call site] 00132
5 getenv [call site] 00133
5 calloc [call site] 00134
5 getenv [call site] 00135
5 getenv [call site] 00136
5 getenv [call site] 00137
5 getauxval [call site] 00138
5 getenv [call site] 00139
5 getenv [call site] 00140
5 getenv [call site] 00141
5 getenv [call site] 00142
5 getenv [call site] 00143
5 getenv [call site] 00144
5 getuid [call site] 00145
5 strdup [call site] 00146
5 strdup [call site] 00147
5 getuid [call site] 00148
5 getpwuid_r [call site] 00149
5 cupsCopyString [function] [call site] 00150
5 snprintf [call site] 00151
5 snprintf [call site] 00152
5 snprintf [call site] 00153
5 access [call site] 00154
5 snprintf [call site] 00155
5 getuid [call site] 00156
5 snprintf [call site] 00157
5 strdup [call site] 00158
4 pthread_setspecific [call site] 00159
3 httpGetDateString2 [function] [call site] 00160
4 gmtime_r [call site] 00161
4 snprintf [call site] 00162
2 httpGetDateTime [function] [call site] 00163
3 __isoc99_sscanf [call site] 00164
3 _cups_strcasecmp [function] [call site] 00165
1 test_http_encoding_functions [function] [call site] 00166
2 httpEncode64_2 [function] [call site] 00167
3 httpEncode64_3 [function] [call site] 00168
2 httpDecode64_3 [function] [call site] 00169
3 __ctype_b_loc [call site] 00170
2 httpEncode64_3 [function] [call site] 00171
1 test_http_address_functions [function] [call site] 00172
2 httpAddrGetList [function] [call site] 00173
3 _cupsGlobals [function] [call site] 00174
3 httpInitialize [function] [call site] 00175
3 __res_init [call site] 00176
3 calloc [call site] 00177
3 cupsCopyString [function] [call site] 00178
3 _cups_strcasecmp [function] [call site] 00179
3 strncmp [call site] 00180
3 cupsCopyString [function] [call site] 00181
3 strlen [call site] 00182
3 strrchr [call site] 00183
3 cupsCopyString [function] [call site] 00184
3 strlen [call site] 00185
3 getaddrinfo [call site] 00186
3 calloc [call site] 00187
3 httpAddrFreeList [function] [call site] 00188
3 freeaddrinfo [call site] 00189
3 __errno_location [call site] 00190
3 strerror [call site] 00191
3 _cupsSetError [function] [call site] 00192
4 __errno_location [call site] 00193
4 __errno_location [call site] 00194
4 strerror [call site] 00195
4 _cupsGlobals [function] [call site] 00196
4 _cupsStrFree [function] [call site] 00197
4 cupsLangDefault [function] [call site] 00198
5 cupsLangGet [function] [call site] 00199
6 setlocale [call site] 00200
6 strcmp [call site] 00201
6 getenv [call site] 00202
6 getenv [call site] 00203
6 getenv [call site] 00204
6 strchr [call site] 00205
6 _cups_isalnum [function] [call site] 00206
6 getenv [call site] 00207
6 getenv [call site] 00208
6 cupsCopyString [function] [call site] 00209
6 strncmp [call site] 00210
6 nl_langinfo [call site] 00211
6 _cups_isalnum [function] [call site] 00212
6 cupsCopyString [function] [call site] 00213
6 strcmp [call site] 00214
6 cupsCopyString [function] [call site] 00215
6 tolower [call site] 00216
6 toupper [call site] 00217
6 strcmp [call site] 00218
6 cupsCopyString [function] [call site] 00219
6 strcmp [call site] 00220
6 cupsCopyString [function] [call site] 00221
6 _cups_isalnum [function] [call site] 00222
6 toupper [call site] 00223
6 strlen [call site] 00224
6 cupsCopyString [function] [call site] 00225
6 _cups_strcasecmp [function] [call site] 00226
6 _cups_strcasecmp [function] [call site] 00227
6 _cups_strcasecmp [function] [call site] 00228
6 _cups_strcasecmp [function] [call site] 00229
6 _cups_strcasecmp [function] [call site] 00230
6 _cups_strcasecmp [function] [call site] 00231
6 snprintf [call site] 00232
6 cupsCopyString [function] [call site] 00233
6 cupsMutexLock [function] [call site] 00234
6 cups_cache_lookup [function] [call site] 00235
7 strcmp [call site] 00236
6 cupsMutexUnlock [function] [call site] 00237
6 calloc [call site] 00238
6 cupsMutexUnlock [function] [call site] 00239
6 _cupsMessageFree [function] [call site] 00240
7 cupsArrayDelete [function] [call site] 00241
6 cupsCopyString [function] [call site] 00242
6 cupsMutexUnlock [function] [call site] 00243
4 _cupsLangString [function] [call site] 00244
5 cupsMutexLock [function] [call site] 00245
5 cups_message_load [function] [call site] 00246
6 _cupsGlobals [function] [call site] 00247
6 snprintf [call site] 00248
6 strchr [call site] 00249
6 access [call site] 00250
6 snprintf [call site] 00251
6 access [call site] 00252
6 snprintf [call site] 00253
6 _cupsMessageLoad [function] [call site] 00254
7 _cupsMessageNew [function] [call site] 00255
8 cupsArrayNew3 [function] [call site] 00256
9 calloc [call site] 00257
8 cups_message_compare [function] [call site] 00258
9 strcmp [call site] 00259
8 cups_message_copy [function] [call site] 00260
9 strdup [call site] 00261
9 strdup [call site] 00262
8 cups_message_free [function] [call site] 00263
7 cupsFileOpen [function] [call site] 00264
8 __ctype_b_loc [call site] 00265
8 strchr [call site] 00266
8 strtol [call site] 00267
8 cups_open [function] [call site] 00268
9 open64 [call site] 00269
9 fstat64 [call site] 00270
9 close [call site] 00271
9 close [call site] 00272
9 __errno_location [call site] 00273
9 close [call site] 00274
9 __errno_location [call site] 00275
9 lstat64 [call site] 00276
9 close [call site] 00277
9 close [call site] 00278
9 __errno_location [call site] 00279
8 open64 [call site] 00280
8 cups_open [function] [call site] 00281
8 __errno_location [call site] 00282
8 cups_open [function] [call site] 00283
8 __errno_location [call site] 00284
8 cups_open [function] [call site] 00285
8 ftruncate64 [call site] 00286
8 cupsCopyString [function] [call site] 00287
8 strrchr [call site] 00288
8 httpAddrGetList [function] [call site] 00289
9 freeaddrinfo [call site] 00290
9 gai_strerror [call site] 00291
9 _cupsSetError [function] [call site] 00292
10 _cupsStrAlloc [function] [call site] 00293
11 cupsMutexLock [function] [call site] 00294
11 cupsArrayNew [function] [call site] 00295
12 cupsArrayNew3 [function] [call site] 00296
11 compare_sp_items [function] [call site] 00297
12 strcmp [call site] 00298
11 cupsMutexUnlock [function] [call site] 00299
11 cupsArrayFind [function] [call site] 00300
11 cupsMutexUnlock [function] [call site] 00301
11 strlen [call site] 00302
11 calloc [call site] 00303
11 cupsMutexUnlock [function] [call site] 00304
11 cupsArrayAdd [function] [call site] 00305
12 cups_array_add [function] [call site] 00306
13 realloc [call site] 00307
13 cups_array_find [function] [call site] 00308
11 cupsMutexUnlock [function] [call site] 00309
10 _cupsStrAlloc [function] [call site] 00310
9 _cups_strcasecmp [function] [call site] 00311
9 __ctype_b_loc [call site] 00312
9 atoi [call site] 00313
9 getservbyname [call site] 00314
9 ntohs [call site] 00315
9 strcmp [call site] 00316
9 strcmp [call site] 00317
9 strcmp [call site] 00318
9 strcmp [call site] 00319
9 strcmp [call site] 00320
9 httpAddrFreeList [function] [call site] 00321
9 _cupsSetError [function] [call site] 00322
9 _cups_strcasecmp [function] [call site] 00323
9 calloc [call site] 00324
9 __errno_location [call site] 00325
9 strerror [call site] 00326
9 _cupsSetError [function] [call site] 00327
9 httpAddrFreeList [function] [call site] 00328
9 htons [call site] 00329
9 htonl [call site] 00330
9 calloc [call site] 00331
9 __errno_location [call site] 00332
9 strerror [call site] 00333
9 _cupsSetError [function] [call site] 00334
9 httpAddrFreeList [function] [call site] 00335
9 htons [call site] 00336
9 htonl [call site] 00337
9 calloc [call site] 00338
9 __errno_location [call site] 00339
9 strerror [call site] 00340
9 _cupsSetError [function] [call site] 00341
9 httpAddrFreeList [function] [call site] 00342
9 htons [call site] 00343
9 calloc [call site] 00344
9 __errno_location [call site] 00345
9 strerror [call site] 00346
9 _cupsSetError [function] [call site] 00347
9 httpAddrFreeList [function] [call site] 00348
9 htons [call site] 00349
8 httpAddrConnect [function] [call site] 00350
9 httpAddrConnect2 [function] [call site] 00351
10 __errno_location [call site] 00352
10 __errno_location [call site] 00353
10 strerror [call site] 00354
10 _cupsSetError [function] [call site] 00355
10 httpInitialize [function] [call site] 00356
10 httpAddrClose [function] [call site] 00357
10 httpAddrFamily [function] [call site] 00358
11 httpAddrGetFamily [function] [call site] 00359
10 socket [call site] 00360
10 setsockopt [call site] 00361
10 setsockopt [call site] 00362
10 setsockopt [call site] 00363
10 fcntl64 [call site] 00364
10 fcntl64 [call site] 00365
10 fcntl64 [call site] 00366
10 httpAddrLength [function] [call site] 00367
11 httpAddrGetLength [function] [call site] 00368
12 strlen [call site] 00369
10 connect [call site] 00370
10 fcntl64 [call site] 00371
10 httpAddrClose [function] [call site] 00372
10 __errno_location [call site] 00373
10 httpAddrClose [function] [call site] 00374
10 fcntl64 [call site] 00375
10 __errno_location [call site] 00376
10 httpAddrClose [function] [call site] 00377
10 poll [call site] 00378
10 __errno_location [call site] 00379
10 __errno_location [call site] 00380
10 getsockopt [call site] 00381
10 httpAddrClose [function] [call site] 00382
10 httpAddrClose [function] [call site] 00383
10 httpAddrClose [function] [call site] 00384
10 __errno_location [call site] 00385
10 httpAddrClose [function] [call site] 00386
10 __errno_location [call site] 00387
10 strerror [call site] 00388
10 _cupsSetError [function] [call site] 00389
8 httpAddrFreeList [function] [call site] 00390
8 httpAddrFreeList [function] [call site] 00391
8 cupsFileOpenFd [function] [call site] 00392
9 __ctype_b_loc [call site] 00393
9 calloc [call site] 00394
9 lseek64 [call site] 00395
9 time [call site] 00396
9 cups_write [function] [call site] 00397
9 deflateInit2_ [call site] 00398
9 close [call site] 00399
9 crc32 [call site] 00400
9 fcntl64 [call site] 00401
8 httpAddrClose [function] [call site] 00402
8 close [call site] 00403
7 cups_read_strings [function] [call site] 00404
8 cupsFileGets [function] [call site] 00405
9 cups_fill [function] [call site] 00406
10 cups_read [function] [call site] 00407
11 recv [call site] 00408
11 read [call site] 00409
11 __errno_location [call site] 00410
10 __errno_location [call site] 00411
10 __errno_location [call site] 00412
10 __errno_location [call site] 00413
10 __errno_location [call site] 00414
10 __errno_location [call site] 00415
10 crc32 [call site] 00416
10 inflateInit2_ [call site] 00417
10 __errno_location [call site] 00418
10 cups_read [function] [call site] 00419
10 inflate [call site] 00420
10 crc32 [call site] 00421
10 inflateEnd [call site] 00422
10 read [call site] 00423
10 __errno_location [call site] 00424
10 __errno_location [call site] 00425
10 __errno_location [call site] 00426
10 cups_read [function] [call site] 00427
9 cups_fill [function] [call site] 00428
8 __ctype_b_loc [call site] 00429
8 cups_unquote [function] [call site] 00430
9 __ctype_b_loc [call site] 00431
9 __ctype_b_loc [call site] 00432
8 __ctype_b_loc [call site] 00433
8 __ctype_b_loc [call site] 00434
8 cups_unquote [function] [call site] 00435
8 cupsArrayFind [function] [call site] 00436
8 cupsArrayAdd [function] [call site] 00437
7 cupsFileGets [function] [call site] 00438
7 strrchr [call site] 00439
7 strchr [call site] 00440
7 cups_unquote [function] [call site] 00441
7 strncmp [call site] 00442
7 cupsArrayAdd [function] [call site] 00443
7 cupsCopyString [function] [call site] 00444
7 cupsConcatString [function] [call site] 00445
8 strlen [call site] 00446
8 strlen [call site] 00447
8 validate_end [function] [call site] 00448
7 cupsConcatString [function] [call site] 00449
7 strncmp [call site] 00450
7 cupsCopyString [function] [call site] 00451
7 cupsArrayAdd [function] [call site] 00452
7 cupsFileClose [function] [call site] 00453
5 _cupsMessageLookup [function] [call site] 00454
6 cupsArrayFind [function] [call site] 00455
5 cupsMutexUnlock [function] [call site] 00456
2 httpAddrGetString [function] [call site] 00457
3 cupsCopyString [function] [call site] 00458
3 ntohl [call site] 00459
3 snprintf [call site] 00460
3 httpAddrLength [function] [call site] 00461
3 getnameinfo [call site] 00462
3 strchr [call site] 00463
3 snprintf [call site] 00464
3 cupsCopyString [function] [call site] 00465
2 httpAddrGetPort [function] [call site] 00466
3 ntohs [call site] 00467
3 ntohs [call site] 00468
2 httpAddrGetFamily [function] [call site] 00469
2 httpAddrIsLocalhost [function] [call site] 00470
3 htonl [call site] 00471
3 ntohl [call site] 00472
2 httpAddrIsAny [function] [call site] 00473
3 ntohl [call site] 00474
2 httpAddrFreeList [function] [call site] 00475
1 test_http_connection_simulation [function] [call site] 00476
2 getpid [call site] 00477
2 snprintf [call site] 00478
2 fopen [call site] 00479
2 fwrite [call site] 00480
2 fclose [call site] 00481
1 cleanup_files [function] [call site] 00482