Fuzz introspector: tests/fuzzing/fuzz_hpack.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
449 0 EP call site: 00000 hpack_decode_header_block

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 hpack_huffman_init [function] [call site] 00001
2 make_huffman_tree [function] [call site] 00002
3 make_huffman_tree_node [function] [call site] 00003
4 static_cast<Node [call site] 00004
4 ats_malloc [function] [call site] 00005
5 ink_abort [function] [call site] 00009
6 abort [function] [call site] 00018
7 TSVConnAbort [function] [call site] 00019
8 sdk_assert [function] [call site] 00020
8 sdk_sanity_check_iocore_structure [function] [call site] 00021
8 reinterpret_cast<VConnection [call site] 00022
8 do_io_close [function] [call site] 00023
9 ink_assert [function] [call site] 00024
7 close [function] [call site] 00025
8 drainReader [function] [call site] 00026
9 reader_avail_more_than [function] [call site] 00027
10 TSIOBufferReaderStart [function] [call site] 00028
11 sdk_assert [function] [call site] 00029
11 sdk_sanity_check_iocore_structure [function] [call site] 00030
11 IOBufferReader::skip_empty_blocks [function] [call site] 00031
12 IOBufferReader::block_read_avail [function] [call site] 00032
13 IOBufferReader::skip_empty_blocks [function] [call site] 00033
14 IOBufferReader::block_read_avail [function] [call site] 00034
13 static_cast<int64_t> [function] [call site] 00038
13 IOBufferReader::end [function] [call site] 00039
14 IOBufferReader::skip_empty_blocks [function] [call site] 00040
14 IOBufferReader::end [function] [call site] 00041
13 IOBufferReader::start [function] [call site] 00042
14 IOBufferReader::skip_empty_blocks [function] [call site] 00043
14 IOBufferReader::start [function] [call site] 00044
11 reinterpret_cast<TSIOBufferBlock> [function] [call site] 00047
11 IOBufferReader::get_current_block [function] [call site] 00048
12 get [function] [call site] 00049
13 static_cast<pcre2_match_data [call site] 00050
10 TSIOBufferBlockReadAvail [function] [call site] 00051
11 sdk_assert [function] [call site] 00052
11 sdk_sanity_check_iocore_structure [function] [call site] 00053
11 sdk_assert [function] [call site] 00054
11 sdk_sanity_check_iocore_structure [function] [call site] 00055
11 IOBufferReader::block_read_avail [function] [call site] 00056
12 IOBufferReader::skip_empty_blocks [function] [call site] 00057
12 static_cast<int64_t> [function] [call site] 00058
12 IOBufferReader::end [function] [call site] 00059
12 IOBufferReader::start [function] [call site] 00060
11 get [function] [call site] 00061
12 static_cast<pcre2_match_data [call site] 00062
10 TSIOBufferBlockNext [function] [call site] 00063
11 sdk_assert [function] [call site] 00064
11 sdk_sanity_check_iocore_structure [function] [call site] 00065
11 get [function] [call site] 00066
12 static_cast<pcre2_match_data [call site] 00067
9 TSIOBufferReaderAvail [function] [call site] 00068
10 sdk_assert [function] [call site] 00069
10 sdk_sanity_check_iocore_structure [function] [call site] 00070
10 IOBufferReader::block_read_avail [function] [call site] 00071
11 IOBufferReader::skip_empty_blocks [function] [call site] 00072
11 static_cast<int64_t> [function] [call site] 00073
11 IOBufferReader::end [function] [call site] 00074
11 IOBufferReader::start [function] [call site] 00075
9 TSIOBufferReaderConsume [function] [call site] 00076
10 sdk_assert [function] [call site] 00077
10 sdk_sanity_check_iocore_structure [function] [call site] 00078
10 sdk_assert [function] [call site] 00079
10 Io_buffer_consume::Io_buffer_consume [function] [call site] 00080
9 TSVIONDoneSet [function] [call site] 00081
10 sdk_assert [function] [call site] 00082
10 sdk_sanity_check_iocore_structure [function] [call site] 00083
10 sdk_assert [function] [call site] 00084
9 TSVIONDoneGet [function] [call site] 00085
10 sdk_assert [function] [call site] 00086
10 sdk_sanity_check_iocore_structure [function] [call site] 00087
3 make_huffman_tree_node [function] [call site] 00090
3 make_huffman_tree_node [function] [call site] 00091
1 HTTPHdr::HTTPHdr [function] [call site] 00092
1 std::unique_ptr::create [function] [call site] 00093
1 hpack_decode_header_block [function] [call site] 00094
2 mime_field_create [function] [call site] 00095
3 HdrHeap::allocate_obj [function] [call site] 00096
4 ink_assert [function] [call site] 00097
4 swoc::SWOC_VERSION_NS::detail::scale_conversion_round_up [function] [call site] 00098
4 static_cast<int> [function] [call site] 00099
4 ink_assert [function] [call site] 00100
4 static_cast<unsigned> [function] [call site] 00101
4 reinterpret_cast<HdrHeapObjImpl [call site] 00102
4 obj_init_header [function] [call site] 00103
5 static_cast<uint32_t> [function] [call site] 00104
4 ink_assert [function] [call site] 00105
4 obj_is_aligned [function] [call site] 00106
4 new_HdrHeap [function] [call site] 00107
5 static_cast<HdrHeap [call site] 00108
5 THREAD_ALLOC [function] [call site] 00109
5 this_ethread [function] [call site] 00110
5 static_cast<HdrHeap [call site] 00111
5 ats_malloc [function] [call site] 00112
5 async_rsa_init [function] [call site] 00113
6 RSA_meth_get_init [function] [call site] 00114
6 RSA_PKCS1_OpenSSL [function] [call site] 00115
3 _mime_hdr_field_block_init [function] [call site] 00116
3 mime_field_init [function] [call site] 00117
2 hpack_parse_field_type [function] [call site] 00119
3 ink_assert [function] [call site] 00120
2 decode_indexed_header_field [function] [call site] 00121
3 xpack_decode_integer [function] [call site] 00122
4 static_cast<uint64_t> [function] [call site] 00123
3 HpackIndexingTable::get_header_field [function] [call site] 00124
4 MIMEFieldWrapper::name_set [function] [call site] 00125
5 MIMEFieldWrapper::name_set [function] [call site] 00126
5 static_cast<std::string_view::size_type> [function] [call site] 00127
4 RegexMatches::size [function] [call site] 00129
4 MIMEFieldWrapper::value_set [function] [call site] 00130
5 MIMEFieldWrapper::value_set [function] [call site] 00131
5 static_cast<std::string_view::size_type> [function] [call site] 00132
4 RegexMatches::size [function] [call site] 00134
4 count [function] [call site] 00135
5 RegexMatches::size [function] [call site] 00136
4 lookup_relative [function] [call site] 00137
4 MIMEFieldWrapper::name_set [function] [call site] 00138
4 MIMEFieldWrapper::value_set [function] [call site] 00139
3 MIMEFieldWrapper::name_get [function] [call site] 00141
4 MIMEFieldWrapper::name_get [function] [call site] 00142
3 MIMEFieldWrapper::value_get [function] [call site] 00143
4 MIMEFieldWrapper::value_get [function] [call site] 00144
3 static_cast<int> [function] [call site] 00146
3 length [function] [call site] 00147
4 static_cast<int> [function] [call site] 00148
4 std::string::size [function] [call site] 00149
3 static_cast<int> [function] [call site] 00151
2 decode_literal_header_field [function] [call site] 00154
3 hpack_parse_field_type [function] [call site] 00155
3 xpack_decode_integer [function] [call site] 00156
3 xpack_decode_integer [function] [call site] 00157
3 ink_assert [function] [call site] 00158
3 xpack_decode_integer [function] [call site] 00159
3 HpackIndexingTable::get_header_field [function] [call site] 00160
3 xpack_decode_string [function] [call site] 00161
4 xpack_decode_integer [function] [call site] 00162
4 static_cast<uint64_t> [function] [call site] 00163
4 Arena::str_alloc [function] [call site] 00164
5 static_cast<unsigned [call site] 00165
5 Arena::alloc [function] [call site] 00166
6 ink_assert [function] [call site] 00167
6 block_alloc [function] [call site] 00168
6 static_cast<unsigned [call site] 00169
6 blk_alloc [function] [call site] 00170
7 static_cast<ArenaBlock [call site] 00171
7 alloc_void [function] [call site] 00172
7 static_cast<ArenaBlock [call site] 00173
7 ats_malloc [function] [call site] 00174
6 block_alloc [function] [call site] 00175
5 static_cast<unsigned [call site] 00176
5 static_cast<unsigned [call site] 00177
5 reinterpret_cast<char [call site] 00178
4 huffman_decode [function] [call site] 00179
4 Arena::str_alloc [function] [call site] 00180
4 memcpy [function] [call site] 00181
5 std::string_view::size [function] [call site] 00184
4 reinterpret_cast<const [call site] 00185
3 ParseRules::is_upalpha [function] [call site] 00186
4 static_cast<unsigned [call site] 00187
3 MIMEFieldWrapper::name_set [function] [call site] 00188
3 Arena::str_free [function] [call site] 00189
4 reinterpret_cast<unsigned [call site] 00190
4 Arena::free [function] [call site] 00191
5 static_cast<char [call site] 00192
5 static_cast<char [call site] 00193
3 xpack_decode_string [function] [call site] 00194
3 MIMEFieldWrapper::value_set [function] [call site] 00195
3 Arena::str_free [function] [call site] 00196
3 MIMEFieldWrapper::field_get [function] [call site] 00197
3 HpackIndexingTable::add_header_field [function] [call site] 00198
4 insert_entry [function] [call site] 00199
3 value_get [function] [call site] 00201
3 MIMEFieldWrapper::name_get [function] [call site] 00203
3 MIMEFieldWrapper::value_get [function] [call site] 00204
3 static_cast<int> [function] [call site] 00206
3 static_cast<int> [function] [call site] 00209
2 update_dynamic_table_size [function] [call site] 00212
3 xpack_decode_integer [function] [call site] 00213
3 HpackIndexingTable::update_maximum_size [function] [call site] 00214
4 HpackIndexingTable::update_maximum_size [function] [call site] 00215
2 value_get [function] [call site] 00217
2 mime_hdr_field_attach [function] [call site] 00220
3 MIME_HDR_SANITY_CHECK [function] [call site] 00221
3 is_detached [function] [call site] 00222
3 ink_assert [function] [call site] 00223
3 is_dup_head [function] [call site] 00224
3 mime_hdr_field_find [function] [call site] 00226
4 hdrtoken_is_wks [function] [call site] 00227
4 ink_assert [function] [call site] 00229
4 std::string_view::empty [function] [call site] 00230
4 static_cast<int> [function] [call site] 00232
4 length [function] [call site] 00233
5 static_cast<int> [function] [call site] 00234
5 std::string::size [function] [call site] 00235
4 hdrtoken_wks_to_prefix [function] [call site] 00237
5 ink_assert [function] [call site] 00238
5 hdrtoken_is_wks [function] [call site] 00239
5 reinterpret_cast<HdrTokenHeapPrefix [call site] 00240
5 const_cast<char [call site] 00241
4 mime_hdr_get_accelerator_slotnum [function] [call site] 00244
5 ink_assert [function] [call site] 00245
4 _mime_hdr_field_list_search_by_slotnum [function] [call site] 00246
4 ink_assert [function] [call site] 00247
4 static_cast<int> [function] [call site] 00250
4 static_cast<int> [function] [call site] 00254
4 _mime_hdr_field_list_search_by_wks [function] [call site] 00257
5 ink_assert [function] [call site] 00258
5 hdrtoken_is_valid_wks_idx [function] [call site] 00259
4 ink_assert [function] [call site] 00261
4 static_cast<int> [function] [call site] 00264
4 _mime_hdr_field_list_search_by_string [function] [call site] 00267
5 ink_assert [function] [call site] 00268
5 strcasecmp [function] [call site] 00270
6 std::string_view::size [function] [call site] 00271
6 std::string_view::size [function] [call site] 00272
6 std::string_view::size [function] [call site] 00273
6 std::string_view::size [function] [call site] 00274
6 std::string_view::size [function] [call site] 00275
6 std::string_view::size [function] [call site] 00276
6 ::strncasecmp [function] [call site] 00279
5 static_cast<std::string_view::size_type> [function] [call site] 00282
4 ink_assert [function] [call site] 00283
4 static_cast<int> [function] [call site] 00286
3 ink_assert [function] [call site] 00289
3 is_dup_head [function] [call site] 00290
3 mime_hdr_field_slotnum [function] [call site] 00291
4 SSLNetVConnection::protocol_contains [function] [call site] 00292
5 SSLNetVConnection::map_tls_protocol_to_tag [function] [call site] 00293
5 TLSBasicSupport::get_tls_protocol_name [function] [call site] 00294
6 SSLNetVConnection::_get_ssl_object [function] [call site] 00295
6 SSL_get_version [function] [call site] 00296
5 std::string_view::size [function] [call site] 00297
5 std::string_view::size [function] [call site] 00298
5 std::string_view::size [function] [call site] 00302
5 SSLNetVConnection::protocol_contains [function] [call site] 00304
6 SSLNetVConnection::map_tls_protocol_to_tag [function] [call site] 00305
6 TLSBasicSupport::get_tls_protocol_name [function] [call site] 00306
6 std::string_view::size [function] [call site] 00307
6 std::string_view::size [function] [call site] 00308
6 std::string_view::size [function] [call site] 00312
6 SSLNetVConnection::protocol_contains [function] [call site] 00314
3 mime_hdr_field_slotnum [function] [call site] 00315
3 mime_hdr_field_slotnum [function] [call site] 00316
3 ink_assert [function] [call site] 00317
3 mime_hdr_set_accelerators_and_presence_bits [function] [call site] 00318
4 ink_assert [function] [call site] 00319
4 mime_hdr_presence_set [function] [call site] 00320
5 mime_field_presence_mask [function] [call site] 00321
6 hdrtoken_wks_to_mask [function] [call site] 00322
7 ink_assert [function] [call site] 00323
7 hdrtoken_is_wks [function] [call site] 00324
7 hdrtoken_wks_to_prefix [function] [call site] 00325
4 hdrtoken_index_to_slotid [function] [call site] 00326
5 ink_assert [function] [call site] 00327
5 hdrtoken_is_valid_wks_idx [function] [call site] 00328
4 SSLNetVConnection::protocol_contains [function] [call site] 00329
5 SSLNetVConnection::map_tls_protocol_to_tag [function] [call site] 00330
5 TLSBasicSupport::get_tls_protocol_name [function] [call site] 00331
5 std::string_view::size [function] [call site] 00332
5 std::string_view::size [function] [call site] 00333
5 std::string_view::size [function] [call site] 00337
5 SSLNetVConnection::protocol_contains [function] [call site] 00339
4 mime_hdr_set_accelerator_slotnum [function] [call site] 00340
5 ink_assert [function] [call site] 00341
5 ink_assert [function] [call site] 00342
3 ink_assert [function] [call site] 00343
3 ink_assert [function] [call site] 00344
3 ink_assert [function] [call site] 00345
3 mime_hdr_set_accelerators_and_presence_bits [function] [call site] 00347
3 ink_assert [function] [call site] 00348
3 is_cooked [function] [call site] 00350
3 MIMEHdrImpl::recompute_cooked_stuff [function] [call site] 00351
4 mime_hdr_cooked_stuff_init [function] [call site] 00352
4 mime_hdr_field_find [function] [call site] 00353
4 static_cast<std::string_view> [function] [call site] 00354
4 MIMEField::has_dups [function] [call site] 00355
4 value_get [function] [call site] 00356
4 ptr_len_casecmp [function] [call site] 00357
5 ParseRules::ink_tolower [function] [call site] 00358
6 static_cast<unsigned [call site] 00359
5 ParseRules::ink_tolower [function] [call site] 00360
4 ptr_len_casecmp [function] [call site] 00363
4 HdrCsvIter::HdrCsvIter [function] [call site] 00366
4 HdrCsvIter::get_first [function] [call site] 00367
5 HdrCsvIter::get_first [function] [call site] 00368
5 static_cast<int> [function] [call site] 00369
5 RegexMatches::size [function] [call site] 00370
4 HdrCsvIter::get_next [function] [call site] 00372
5 HdrCsvIter::find_csv [function] [call site] 00373
6 find_first_of [function] [call site] 00376
6 take_prefix [function] [call site] 00377
6 remove_prefix [function] [call site] 00378
6 remove_suffix [function] [call site] 00380
6 HdrCsvIter::field_init [function] [call site] 00381
4 ParseRules::is_token [function] [call site] 00383
5 static_cast<unsigned [call site] 00384
5 ParseRules::is_char [function] [call site] 00385
6 static_cast<unsigned [call site] 00386
5 ParseRules::is_ctl [function] [call site] 00387
6 static_cast<unsigned [call site] 00388
5 ParseRules::is_tspecials [function] [call site] 00389
6 static_cast<unsigned [call site] 00390
4 hdrtoken_tokenize [function] [call site] 00391
5 ink_assert [function] [call site] 00392
5 hdrtoken_is_wks [function] [call site] 00393
5 hdrtoken_wks_to_index [function] [call site] 00394
6 ink_assert [function] [call site] 00395
6 hdrtoken_is_wks [function] [call site] 00396
6 hdrtoken_wks_to_prefix [function] [call site] 00397
5 hdrtoken_hash [function] [call site] 00398
6 ATSHash32FNV1a::ATSHash32FNV1a [function] [call site] 00399
7 ATSHash32FNV1a::clear [function] [call site] 00400
6 ATSHash32FNV1a::update [function] [call site] 00401
6 equal_nocase [function] [call site] 00403
7 strncasecmp [function] [call site] 00404
6 ATSHash32FNV1a::final [function] [call site] 00405
6 ATSHash32FNV1a::get [function] [call site] 00406
5 reinterpret_cast<const [call site] 00407
5 static_cast<unsigned [call site] 00408
5 hash_to_slot [function] [call site] 00409
6 TINY_MASK [function] [call site] 00410
5 hdrtoken_wks_to_length [function] [call site] 00411
6 ink_assert [function] [call site] 00412
6 hdrtoken_is_wks [function] [call site] 00413
6 hdrtoken_wks_to_prefix [function] [call site] 00414
5 hdrtoken_wks_to_index [function] [call site] 00415
4 hdrtoken_wks_to_prefix [function] [call site] 00418
4 mime_parse_integer [function] [call site] 00420
5 ParseRules::is_space [function] [call site] 00424
6 static_cast<unsigned [call site] 00425
4 mime_hdr_field_find [function] [call site] 00434
4 static_cast<std::string_view> [function] [call site] 00435
4 MIMEField::has_dups [function] [call site] 00436
4 value_get [function] [call site] 00437
4 ptr_len_casecmp [function] [call site] 00438
4 HdrCsvIter::HdrCsvIter [function] [call site] 00441
4 HdrCsvIter::get_first [function] [call site] 00442
4 HdrCsvIter::get_next [function] [call site] 00443
4 ParseRules::is_token [function] [call site] 00444
4 hdrtoken_tokenize [function] [call site] 00445
3 MIME_HDR_SANITY_CHECK [function] [call site] 00447
1 std::unique_ptr::get [function] [call site] 00448
1 std::unique_ptr::destroy [function] [call site] 00449