Fuzz introspector: tests/fuzzing/fuzz_proxy_protocol.cc
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
558 0 EP call site: 00000 proxy_protocol_parse

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 reinterpret_cast<char [call site] 00001
1 DiagsPtr::set [function] [call site] 00002
2 DebugInterface::set_instance [function] [call site] 00003
3 Diags::debug_tag_activated [function] [call site] 00007
4 Diags::tag_activated [function] [call site] 00008
5 lock [function] [call site] 00009
6 ink_mutex_acquire [function] [call site] 00010
7 pthread_mutex_lock [function] [call site] 00011
7 ink_abort [function] [call site] 00013
8 abort [function] [call site] 00022
9 TSVConnAbort [function] [call site] 00023
10 sdk_assert [function] [call site] 00024
10 sdk_sanity_check_iocore_structure [function] [call site] 00025
10 reinterpret_cast<VConnection [call site] 00026
10 do_io_close [function] [call site] 00027
11 ink_assert [function] [call site] 00028
9 close [function] [call site] 00029
10 drainReader [function] [call site] 00030
11 reader_avail_more_than [function] [call site] 00031
12 TSIOBufferReaderStart [function] [call site] 00032
13 sdk_assert [function] [call site] 00033
13 sdk_sanity_check_iocore_structure [function] [call site] 00034
13 IOBufferReader::skip_empty_blocks [function] [call site] 00035
14 IOBufferReader::block_read_avail [function] [call site] 00036
15 IOBufferReader::skip_empty_blocks [function] [call site] 00037
16 IOBufferReader::block_read_avail [function] [call site] 00038
15 static_cast<int64_t> [function] [call site] 00042
15 IOBufferReader::end [function] [call site] 00043
16 IOBufferReader::skip_empty_blocks [function] [call site] 00044
16 IOBufferReader::end [function] [call site] 00045
15 IOBufferReader::start [function] [call site] 00046
16 IOBufferReader::skip_empty_blocks [function] [call site] 00047
16 IOBufferReader::start [function] [call site] 00048
13 reinterpret_cast<TSIOBufferBlock> [function] [call site] 00051
13 IOBufferReader::get_current_block [function] [call site] 00052
14 get [function] [call site] 00053
15 static_cast<pcre2_match_data [call site] 00054
12 TSIOBufferBlockReadAvail [function] [call site] 00055
13 sdk_assert [function] [call site] 00056
13 sdk_sanity_check_iocore_structure [function] [call site] 00057
13 sdk_assert [function] [call site] 00058
13 sdk_sanity_check_iocore_structure [function] [call site] 00059
13 IOBufferReader::block_read_avail [function] [call site] 00060
14 IOBufferReader::skip_empty_blocks [function] [call site] 00061
14 static_cast<int64_t> [function] [call site] 00062
14 IOBufferReader::end [function] [call site] 00063
14 IOBufferReader::start [function] [call site] 00064
13 get [function] [call site] 00065
14 static_cast<pcre2_match_data [call site] 00066
12 TSIOBufferBlockNext [function] [call site] 00067
13 sdk_assert [function] [call site] 00068
13 sdk_sanity_check_iocore_structure [function] [call site] 00069
13 get [function] [call site] 00070
14 static_cast<pcre2_match_data [call site] 00071
11 TSIOBufferReaderAvail [function] [call site] 00072
12 sdk_assert [function] [call site] 00073
12 sdk_sanity_check_iocore_structure [function] [call site] 00074
12 IOBufferReader::block_read_avail [function] [call site] 00075
13 IOBufferReader::skip_empty_blocks [function] [call site] 00076
13 static_cast<int64_t> [function] [call site] 00077
13 IOBufferReader::end [function] [call site] 00078
13 IOBufferReader::start [function] [call site] 00079
11 TSIOBufferReaderConsume [function] [call site] 00080
12 sdk_assert [function] [call site] 00081
12 sdk_sanity_check_iocore_structure [function] [call site] 00082
12 sdk_assert [function] [call site] 00083
12 Io_buffer_consume::Io_buffer_consume [function] [call site] 00084
11 TSVIONDoneSet [function] [call site] 00085
12 sdk_assert [function] [call site] 00086
12 sdk_sanity_check_iocore_structure [function] [call site] 00087
12 sdk_assert [function] [call site] 00088
11 TSVIONDoneGet [function] [call site] 00089
12 sdk_assert [function] [call site] 00090
12 sdk_sanity_check_iocore_structure [function] [call site] 00091
7 static_cast<void [call site] 00093
5 unlock [function] [call site] 00097
6 ink_mutex_release [function] [call site] 00098
7 pthread_mutex_unlock [function] [call site] 00099
7 ink_abort [function] [call site] 00101
7 static_cast<void [call site] 00102
1 Diags::Diags [function] [call site] 00104
2 ink_release_assert [function] [call site] 00105
2 ink_mutex_init [function] [call site] 00107
3 x_pthread_mutexattr_t::x_pthread_mutexattr_t [function] [call site] 00108
4 pthread_mutexattr_init [function] [call site] 00109
4 pthread_mutexattr_settype [function] [call site] 00110
3 pthread_mutex_init [function] [call site] 00111
3 ink_abort [function] [call site] 00113
2 ats_strdup [function] [call site] 00115
2 ats_strdup [function] [call site] 00116
2 BaseLogFile::BaseLogFile [function] [call site] 00119
2 BaseLogFile::BaseLogFile [function] [call site] 00123
2 open_file [function] [call site] 00124
3 std::fstream::open [function] [call site] 00125
3 std::fstream::is_open [function] [call site] 00126
3 std::fstream::clear [function] [call site] 00127
3 std::fstream::open [function] [call site] 00128
3 std::fstream::is_open [function] [call site] 00129
3 swoc::SWOC_VERSION_NS::bwprint [function] [call site] 00130
4 swoc::SWOC_VERSION_NS::bwprint_v [function] [call site] 00131
5 std::string::size [function] [call site] 00132
5 FixedBufferWriter [function] [call site] 00133
5 std::string::capacity [function] [call site] 00135
5 std::string::resize [function] [call site] 00137
4 std::forward_as_tuple [function] [call site] 00139
2 open_file [function] [call site] 00141
2 Diags::setup_diagslog [function] [call site] 00144
3 open_file [function] [call site] 00145
4 std::fstream::open [function] [call site] 00146
4 std::fstream::is_open [function] [call site] 00147
4 std::fstream::clear [function] [call site] 00148
4 std::fstream::open [function] [call site] 00149
4 std::fstream::is_open [function] [call site] 00150
4 swoc::SWOC_VERSION_NS::bwprint [function] [call site] 00151
3 log_log_error [function] [call site] 00153
1 ProxyProtocol::ProxyProtocol [function] [call site] 00155
1 proxy_protocol_parse [function] [call site] 00156
2 RegexMatches::size [function] [call site] 00157
2 swoc::SWOC_VERSION_NS::TextView::starts_with [function] [call site] 00158
3 RegexMatches::size [function] [call site] 00159
3 std::string_view::size [function] [call site] 00160
3 swoc::SWOC_VERSION_NS::memcmp [function] [call site] 00161
4 swoc::SWOC_VERSION_NS::MemSpan<T>::size [function] [call site] 00162
4 swoc::SWOC_VERSION_NS::MemSpan<T>::count [function] [call site] 00163
4 swoc::SWOC_VERSION_NS::MemSpan<T>::count [function] [call site] 00164
4 swoc::SWOC_VERSION_NS::MemSpan<T>::count [function] [call site] 00165
4 swoc::SWOC_VERSION_NS::MemSpan<T>::count [function] [call site] 00166
4 swoc::SWOC_VERSION_NS::MemSpan<T>::size [function] [call site] 00167
4 swoc::SWOC_VERSION_NS::memcmp [function] [call site] 00168
3 swoc::SWOC_VERSION_NS::TextView::data [function] [call site] 00171
4 FetchSM::ext_read_data [function] [call site] 00172
3 std::string_view::size [function] [call site] 00174
2 proxy_protocol_v1_parse [function] [call site] 00175
3 ink_release_assert [function] [call site] 00176
3 RegexMatches::size [function] [call site] 00177
3 TS_OCSP_resp_find [function] [call site] 00178
4 static_cast<int> [function] [call site] 00180
4 sk_TS_OCSP_SINGLERESP_num [function] [call site] 00181
4 sk_TS_OCSP_SINGLERESP_value [function] [call site] 00182
4 TS_OCSP_id_cmp [function] [call site] 00183
5 TS_OCSP_id_issuer_cmp [function] [call site] 00184
6 ASN1_OCTET_STRING_cmp [function] [call site] 00186
6 ASN1_OCTET_STRING_cmp [function] [call site] 00187
5 ASN1_INTEGER_cmp [function] [call site] 00188
3 swoc::SWOC_VERSION_NS::TextView::split_prefix_at [function] [call site] 00191
4 swoc::SWOC_VERSION_NS::TextView::split_prefix [function] [call site] 00192
5 RegexMatches::size [function] [call site] 00193
5 swoc::SWOC_VERSION_NS::TextView::prefix [function] [call site] 00194
6 swoc::SWOC_VERSION_NS::TextView::data [function] [call site] 00195
6 RegexMatches::size [function] [call site] 00197
5 swoc::SWOC_VERSION_NS::TextView::remove_prefix [function] [call site] 00198
6 cripts::StringViewMixin::remove_prefix [function] [call site] 00199
7 cripts::StringViewMixin::remove_prefix [function] [call site] 00200
8 cripts::StringViewMixin::remove_prefix [function] [call site] 00201
6 RegexMatches::size [function] [call site] 00203
5 RegexMatches::size [function] [call site] 00205
4 TS_OCSP_resp_find [function] [call site] 00206
5 static_cast<int> [function] [call site] 00208
5 sk_TS_OCSP_SINGLERESP_num [function] [call site] 00209
5 sk_TS_OCSP_SINGLERESP_value [function] [call site] 00210
5 TS_OCSP_id_cmp [function] [call site] 00211
3 RegexMatches::size [function] [call site] 00212
3 static_cast<int> [function] [call site] 00214
3 RegexMatches::size [function] [call site] 00215
3 static_cast<int> [function] [call site] 00217
3 static_cast<int> [function] [call site] 00221
3 RegexMatches::size [function] [call site] 00222
3 swoc::SWOC_VERSION_NS::TextView::starts_with [function] [call site] 00224
3 swoc::SWOC_VERSION_NS::TextView::starts_with [function] [call site] 00226
3 swoc::SWOC_VERSION_NS::TextView::split_prefix_at [function] [call site] 00227
3 RegexMatches::size [function] [call site] 00228
3 swoc::SWOC_VERSION_NS::TextView::starts_with [function] [call site] 00229
3 swoc::SWOC_VERSION_NS::TextView::split_prefix_at [function] [call site] 00230
3 RegexMatches::size [function] [call site] 00231
3 static_cast<int> [function] [call site] 00233
3 RegexMatches::size [function] [call site] 00234
3 swoc::SWOC_VERSION_NS::TextView::split_prefix_at [function] [call site] 00236
3 RegexMatches::size [function] [call site] 00237
3 static_cast<int> [function] [call site] 00239
3 RegexMatches::size [function] [call site] 00240
3 ats_ip_pton [function] [call site] 00242
4 ats_ip_invalidate [function] [call site] 00243
4 ats_ip_parse [function] [call site] 00244
5 ink_zero [function] [call site] 00245
6 static_cast<void [call site] 00247
5 Gzip::ltrim_if [function] [call site] 00250
6 RegexMatches::size [function] [call site] 00251
6 QUICConnectionTable::erase [function] [call site] 00253
7 lock_for_key [function] [call site] 00254
7 SCOPED_MUTEX_LOCK [function] [call site] 00255
7 this_ethread [function] [call site] 00256
7 remove_entry [function] [call site] 00257
7 ink_assert [function] [call site] 00258
5 swoc::SWOC_VERSION_NS::TextView::take_prefix_at [function] [call site] 00259
6 swoc::SWOC_VERSION_NS::TextView::take_prefix [function] [call site] 00260
7 RegexMatches::size [function] [call site] 00262
7 swoc::SWOC_VERSION_NS::TextView::prefix [function] [call site] 00263
7 swoc::SWOC_VERSION_NS::TextView::remove_prefix [function] [call site] 00264
7 RegexMatches::size [function] [call site] 00266
6 TS_OCSP_resp_find [function] [call site] 00267
5 cripts::StringViewMixin::rfind [function] [call site] 00268
6 cripts::StringViewMixin::rfind [function] [call site] 00269
7 cripts::StringViewMixin::rfind [function] [call site] 00270
5 TS_OCSP_resp_find [function] [call site] 00271
5 swoc::SWOC_VERSION_NS::TextView::take_prefix [function] [call site] 00272
6 RegexMatches::size [function] [call site] 00274
6 swoc::SWOC_VERSION_NS::TextView::prefix [function] [call site] 00275
6 swoc::SWOC_VERSION_NS::TextView::remove_prefix [function] [call site] 00276
6 RegexMatches::size [function] [call site] 00278
5 swoc::SWOC_VERSION_NS::TextView::clear [function] [call site] 00279
6 DLL<C, [call site] 00280
5 Gzip::ltrim_if [function] [call site] 00281
5 swoc::SWOC_VERSION_NS::TextView::assign [function] [call site] 00284
6 swoc::SWOC_VERSION_NS::TextView::assign [function] [call site] 00285
7 swoc::SWOC_VERSION_NS::TextView::assign [function] [call site] 00286
7 RegexMatches::size [function] [call site] 00288
6 RegexMatches::size [function] [call site] 00290
5 RegexMatches::size [function] [call site] 00292
5 std::string_view [function] [call site] 00293
5 std::string_view*::empty [function] [call site] 00297
4 std::string_view::size [function] [call site] 00298
4 static_cast<char [call site] 00299
4 std::string_view::size [function] [call site] 00301
4 memcpy [function] [call site] 00302
5 std::string_view::size [function] [call site] 00305
4 std::string_view::size [function] [call site] 00307
4 std::string_view::size [function] [call site] 00308
4 std::string_view [function] [call site] 00309
4 std::string_view::size [function] [call site] 00310
4 std::string_view::find [function] [call site] 00311
4 inet_pton [function] [call site] 00312
4 ats_ip6_set [function] [call site] 00314
5 ats_ip_sa_cast [function] [call site] 00317
6 static_cast<sockaddr [call site] 00318
6 static_cast<void [call site] 00319
4 inet_aton [function] [call site] 00320
4 ats_ip4_set [function] [call site] 00322
5 ats_ip_sa_cast [function] [call site] 00324
4 ats_is_ip [function] [call site] 00325
4 ats_ip_port_cast [function] [call site] 00326
5 ats_is_ip4 [function] [call site] 00327
5 ats_ip4_cast [function] [call site] 00328
6 static_cast<sockaddr_in [call site] 00329
6 static_cast<void [call site] 00330
5 ats_is_ip6 [function] [call site] 00331
5 ats_ip6_cast [function] [call site] 00332
6 static_cast<sockaddr_in6 [call site] 00333
6 static_cast<void [call site] 00334
3 swoc::SWOC_VERSION_NS::TextView::split_prefix_at [function] [call site] 00339
3 RegexMatches::size [function] [call site] 00340
3 static_cast<int> [function] [call site] 00342
3 RegexMatches::size [function] [call site] 00343
3 ats_ip_pton [function] [call site] 00345
3 swoc::SWOC_VERSION_NS::TextView::split_prefix_at [function] [call site] 00346
3 RegexMatches::size [function] [call site] 00347
3 static_cast<int> [function] [call site] 00349
3 RegexMatches::size [function] [call site] 00350
3 swoc::SWOC_VERSION_NS::svtoi [function] [call site] 00352
4 uintmax_t [function] [call site] 00354
4 Gzip::ltrim_if [function] [call site] 00356
5 RegexMatches::size [function] [call site] 00357
5 QUICConnectionTable::erase [function] [call site] 00359
4 swoc::SWOC_VERSION_NS::svtou [function] [call site] 00361
5 APIHooks::clear [function] [call site] 00362
6 ink_abort [function] [call site] 00363
5 Gzip::ltrim_if [function] [call site] 00364
5 swoc::SWOC_VERSION_NS::svto_radix [function] [call site] 00366
6 RegexMatches::size [function] [call site] 00368
5 swoc::SWOC_VERSION_NS::svto_radix [function] [call site] 00369
5 swoc::SWOC_VERSION_NS::svto_radix [function] [call site] 00370
5 swoc::SWOC_VERSION_NS::svto_radix [function] [call site] 00371
5 RegexMatches::size [function] [call site] 00373
5 static_cast<unsigned [call site] 00374
5 uintmax_t [function] [call site] 00375
5 HostDBInfo::assign [function] [call site] 00376
6 ip_addr_set [function] [call site] 00377
7 static_cast<in6_addr [call site] 00378
7 static_cast<in_addr_t [call site] 00379
7 ats_ip_invalidate [function] [call site] 00380
4 queue_is_empty [function] [call site] 00382
5 queue_len [function] [call site] 00383
4 HostDBInfo::assign [function] [call site] 00384
4 swoc::SWOC_VERSION_NS::TextView::data_end [function] [call site] 00385
5 swoc::SWOC_VERSION_NS::TextView::data [function] [call site] 00386
5 RegexMatches::size [function] [call site] 00387
4 std::min<uintmax_t> [function] [call site] 00388
3 static_cast<int> [function] [call site] 00393
3 RegexMatches::size [function] [call site] 00394
3 IpEndpoint::network_order_port [function] [call site] 00396
4 ats_ip_port_cast [function] [call site] 00397
3 swoc::SWOC_VERSION_NS::TextView::split_prefix_at [function] [call site] 00399
3 RegexMatches::size [function] [call site] 00400
3 TS_OCSP_resp_find [function] [call site] 00401
3 static_cast<int> [function] [call site] 00403
3 RegexMatches::size [function] [call site] 00404
3 swoc::SWOC_VERSION_NS::svtoi [function] [call site] 00406
3 static_cast<int> [function] [call site] 00408
3 RegexMatches::size [function] [call site] 00409
3 IpEndpoint::network_order_port [function] [call site] 00411
4 ats_ip_port_cast [function] [call site] 00412
2 RegexMatches::size [function] [call site] 00414
2 swoc::SWOC_VERSION_NS::TextView::starts_with [function] [call site] 00415
2 proxy_protocol_v2_parse [function] [call site] 00416
3 ink_release_assert [function] [call site] 00417
3 RegexMatches::size [function] [call site] 00418
3 reinterpret_cast<const [call site] 00419
3 RegexMatches::size [function] [call site] 00422
3 ProxyProtocol::set_ipv4_addrs [function] [call site] 00426
4 HostDBInfo::assign [function] [call site] 00427
5 ip_addr_set [function] [call site] 00428
4 HostDBInfo::assign [function] [call site] 00429
5 ip_addr_set [function] [call site] 00430
3 reinterpret_cast<in_addr_t> [function] [call site] 00431
3 reinterpret_cast<in_addr_t> [function] [call site] 00432
3 ProxyProtocol::set_ipv6_addrs [function] [call site] 00434
4 HostDBInfo::assign [function] [call site] 00435
4 HostDBInfo::assign [function] [call site] 00436
3 reinterpret_cast<in6_addr [call site] 00437
3 reinterpret_cast<in6_addr [call site] 00438
3 ProxyProtocol::set_additional_data [function] [call site] 00440
4 length [function] [call site] 00441
5 static_cast<int> [function] [call site] 00442
5 std::string::size [function] [call site] 00443
4 static_cast<char [call site] 00445
4 copy [function] [call site] 00452
5 TSIOBufferReaderStart [function] [call site] 00455
5 TSIOBufferBlockNext [function] [call site] 00456
5 TSIOBufferBlockReadStart [function] [call site] 00457
6 sdk_assert [function] [call site] 00458
6 sdk_sanity_check_iocore_structure [function] [call site] 00459
6 sdk_assert [function] [call site] 00460
6 sdk_sanity_check_iocore_structure [function] [call site] 00461
6 start [function] [call site] 00462
7 hwloc_set_membind [function] [call site] 00463
7 ink_get_topology [function] [call site] 00464
8 setup_hwloc [function] [call site] 00465
9 hwloc_topology_init [function] [call site] 00466
9 hwloc_topology_load [function] [call site] 00467
7 hwloc_topology_get_topology_nodeset [function] [call site] 00468
7 ink_get_topology [function] [call site] 00469
7 hwloc_set_membind_nodeset [function] [call site] 00470
7 ink_get_topology [function] [call site] 00471
7 hwloc_topology_get_topology_nodeset [function] [call site] 00472
7 ink_get_topology [function] [call site] 00473
7 aio_thread_main [function] [call site] 00474
6 IOBufferReader::block_read_avail [function] [call site] 00475
6 static_cast<const [call site] 00477
5 TSIOBufferWrite [function] [call site] 00478
6 sdk_assert [function] [call site] 00479
6 sdk_sanity_check_iocore_structure [function] [call site] 00480
6 sdk_assert [function] [call site] 00481
6 sdk_sanity_check_null_ptr [function] [call site] 00482
6 sdk_assert [function] [call site] 00483
6 shared::rpc::IPCSocketClient::_safe_write [function] [call site] 00484
7 MIOBuffer::write [function] [call site] 00485
8 static_cast<const [call site] 00486
8 MIOBuffer::add_block [function] [call site] 00487
9 MIOBuffer::append_block [function] [call site] 00488
10 ink_assert [function] [call site] 00489
10 IOBufferReader::block_read_avail [function] [call site] 00490
10 MIOBuffer::append_block_internal [function] [call site] 00491
11 MIOBuffer::init_readers [function] [call site] 00492
12 allocated [function] [call site] 00493
11 ink_assert [function] [call site] 00494
11 IOBufferReader::block_read_avail [function] [call site] 00495
11 IOBufferReader::block_read_avail [function] [call site] 00496
11 MIOBuffer::write_avail [function] [call site] 00498
12 MIOBuffer::check_add_block [function] [call site] 00499
13 MIOBuffer::high_water [function] [call site] 00500
14 MIOBuffer::is_max_read_avail_more_than [function] [call site] 00501
15 allocated [function] [call site] 00502
15 is_read_avail_more_than [function] [call site] 00503
15 IOBufferReader::block_read_avail [function] [call site] 00504
16 IOBufferReader::skip_empty_blocks [function] [call site] 00505
16 static_cast<int64_t> [function] [call site] 00506
16 IOBufferReader::end [function] [call site] 00507
16 IOBufferReader::start [function] [call site] 00508
13 MIOBuffer::current_low_water [function] [call site] 00509
14 MIOBuffer::current_write_avail [function] [call site] 00510
15 MIOBuffer::block_write_avail [function] [call site] 00512
16 MIOBuffer::first_write_block [function] [call site] 00513
16 MIOBuffer::block_write_avail [function] [call site] 00516
13 MIOBuffer::add_block [function] [call site] 00518
12 MIOBuffer::current_write_avail [function] [call site] 00519
11 IOBufferReader::block_read_avail [function] [call site] 00520
8 MIOBuffer::write_avail [function] [call site] 00521
8 IOBufferReader::memcpy [function] [call site] 00522
9 static_cast<char [call site] 00523
9 IOBufferReader::block_read_avail [function] [call site] 00525
9 IOBufferReader::memcpy [function] [call site] 00527
8 MIOBuffer::end [function] [call site] 00530
9 MIOBuffer::first_write_block [function] [call site] 00531
8 MIOBuffer::fill [function] [call site] 00532
9 MIOBuffer::write_avail [function] [call site] 00533
9 MIOBuffer::fill [function] [call site] 00534
9 MIOBuffer::write_avail [function] [call site] 00535
9 MIOBuffer::fill [function] [call site] 00536
8 MIOBuffer::add_block [function] [call site] 00537
4 reinterpret_cast<const [call site] 00544
4 std::string_view [function] [call site] 00548
3 swoc::SWOC_VERSION_NS::TextView::substr [function] [call site] 00549
4 RegexMatches::size [function] [call site] 00550
4 RegexMatches::size [function] [call site] 00552
4 swoc::SWOC_VERSION_NS::TextView::data [function] [call site] 00553
2 RegexMatches::size [function] [call site] 00557