Fuzz introspector: fuzz_parse
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
146 0 EP call site: 00000 __assert_fail

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 pugi::xml_document::xml_document() [function] [call site] 00001
2 pugi::xml_node::xml_node() [function] [call site] 00002
2 pugi::xml_document::_create() [function] [call site] 00003
3 __assert_fail [call site] 00004
3 pugi::impl::(anonymous namespace)::xml_memory_page::construct(void*) [function] [call site] 00005
3 __assert_fail [call site] 00006
3 pugi::impl::(anonymous namespace)::xml_document_struct::xml_document_struct(pugi::impl::(anonymous namespace)::xml_memory_page*) [function] [call site] 00007
4 pugi::xml_node_struct::xml_node_struct(pugi::impl::(anonymous namespace)::xml_memory_page*, pugi::xml_node_type) [function] [call site] 00008
4 pugi::impl::(anonymous namespace)::xml_allocator::xml_allocator(pugi::impl::(anonymous namespace)::xml_memory_page*) [function] [call site] 00009
3 __assert_fail [call site] 00010
1 pugi::xml_document::load_buffer(void const*, unsigned long, unsigned int, pugi::xml_encoding) [function] [call site] 00011
2 pugi::xml_document::reset() [function] [call site] 00012
3 pugi::xml_document::_destroy() [function] [call site] 00013
4 __assert_fail [call site] 00014
4 __assert_fail [call site] 00015
4 __assert_fail [call site] 00016
4 pugi::impl::(anonymous namespace)::xml_allocator::deallocate_page(pugi::impl::(anonymous namespace)::xml_memory_page*) [function] [call site] 00017
3 pugi::xml_document::_create() [function] [call site] 00018
2 pugi::impl::(anonymous namespace)::load_buffer_impl(pugi::impl::(anonymous namespace)::xml_document_struct*, pugi::xml_node_struct*, void*, unsigned long, unsigned int, pugi::xml_encoding, bool, bool, char**) [function] [call site] 00019
3 pugi::impl::(anonymous namespace)::make_parse_result(pugi::xml_parse_status, long) [function] [call site] 00020
4 pugi::xml_parse_result::xml_parse_result() [function] [call site] 00021
3 pugi::impl::(anonymous namespace)::get_buffer_encoding(pugi::xml_encoding, void const*, unsigned long) [function] [call site] 00022
4 pugi::impl::(anonymous namespace)::get_wchar_encoding() [function] [call site] 00023
5 pugi::impl::(anonymous namespace)::is_little_endian() [function] [call site] 00024
4 pugi::impl::(anonymous namespace)::is_little_endian() [function] [call site] 00025
4 pugi::impl::(anonymous namespace)::is_little_endian() [function] [call site] 00026
4 pugi::impl::(anonymous namespace)::guess_buffer_encoding(unsigned char const*, unsigned long) [function] [call site] 00027
5 pugi::impl::(anonymous namespace)::parse_declaration_encoding(unsigned char const*, unsigned long, unsigned char const*&, unsigned long&) [function] [call site] 00028
3 pugi::impl::(anonymous namespace)::auto_deleter<void>::auto_deleter(void*, void (*)(void*)) [function] [call site] 00029
3 pugi::impl::(anonymous namespace)::make_parse_result(pugi::xml_parse_status, long) [function] [call site] 00030
3 pugi::impl::(anonymous namespace)::auto_deleter<void>::~auto_deleter() [function] [call site] 00031
4 __clang_call_terminate [call site] 00032
5 __cxa_begin_catch [call site] 00033
3 pugi::impl::(anonymous namespace)::convert_buffer(char*&, unsigned long&, pugi::xml_encoding, void const*, unsigned long, bool) [function] [call site] 00034
4 pugi::impl::(anonymous namespace)::get_mutable_buffer(char*&, unsigned long&, void const*, unsigned long, bool) [function] [call site] 00035
5 __assert_fail [call site] 00036
4 pugi::impl::(anonymous namespace)::is_little_endian() [function] [call site] 00037
4 bool pugi::impl::(anonymous namespace)::convert_buffer_generic<pugi::impl::(anonymous namespace)::utf16_decoder<pugi::impl::(anonymous namespace)::opt_false> >(char*&, unsigned long&, void const*, unsigned long, pugi::impl::(anonymous namespace)::utf16_decoder<pugi::impl::(anonymous namespace)::opt_false>) [function] [call site] 00038
5 pugi::impl::(anonymous namespace)::utf8_counter::value_type pugi::impl::(anonymous namespace)::utf16_decoder<pugi::impl::(anonymous namespace)::opt_false>::process<pugi::impl::(anonymous namespace)::utf8_counter>(unsigned short const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_counter::value_type, pugi::impl::(anonymous namespace)::utf8_counter) [function] [call site] 00039
6 pugi::impl::(anonymous namespace)::utf8_counter::low(unsigned long, unsigned int) [function] [call site] 00040
6 pugi::impl::(anonymous namespace)::utf8_counter::low(unsigned long, unsigned int) [function] [call site] 00041
6 pugi::impl::(anonymous namespace)::utf8_counter::high(unsigned long, unsigned int) [function] [call site] 00042
5 pugi::impl::(anonymous namespace)::utf8_writer::value_type pugi::impl::(anonymous namespace)::utf16_decoder<pugi::impl::(anonymous namespace)::opt_false>::process<pugi::impl::(anonymous namespace)::utf8_writer>(unsigned short const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_writer::value_type, pugi::impl::(anonymous namespace)::utf8_writer) [function] [call site] 00043
6 pugi::impl::(anonymous namespace)::utf8_writer::low(unsigned char*, unsigned int) [function] [call site] 00044
6 pugi::impl::(anonymous namespace)::utf8_writer::low(unsigned char*, unsigned int) [function] [call site] 00045
6 pugi::impl::(anonymous namespace)::utf8_writer::high(unsigned char*, unsigned int) [function] [call site] 00046
5 __assert_fail [call site] 00047
4 bool pugi::impl::(anonymous namespace)::convert_buffer_generic<pugi::impl::(anonymous namespace)::utf16_decoder<pugi::impl::(anonymous namespace)::opt_true> >(char*&, unsigned long&, void const*, unsigned long, pugi::impl::(anonymous namespace)::utf16_decoder<pugi::impl::(anonymous namespace)::opt_true>) [function] [call site] 00048
5 pugi::impl::(anonymous namespace)::utf8_counter::value_type pugi::impl::(anonymous namespace)::utf16_decoder<pugi::impl::(anonymous namespace)::opt_true>::process<pugi::impl::(anonymous namespace)::utf8_counter>(unsigned short const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_counter::value_type, pugi::impl::(anonymous namespace)::utf8_counter) [function] [call site] 00049
6 pugi::impl::(anonymous namespace)::endian_swap(unsigned short) [function] [call site] 00050
6 pugi::impl::(anonymous namespace)::endian_swap(unsigned short) [function] [call site] 00051
5 pugi::impl::(anonymous namespace)::utf8_writer::value_type pugi::impl::(anonymous namespace)::utf16_decoder<pugi::impl::(anonymous namespace)::opt_true>::process<pugi::impl::(anonymous namespace)::utf8_writer>(unsigned short const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_writer::value_type, pugi::impl::(anonymous namespace)::utf8_writer) [function] [call site] 00052
4 pugi::impl::(anonymous namespace)::is_little_endian() [function] [call site] 00053
4 bool pugi::impl::(anonymous namespace)::convert_buffer_generic<pugi::impl::(anonymous namespace)::utf32_decoder<pugi::impl::(anonymous namespace)::opt_false> >(char*&, unsigned long&, void const*, unsigned long, pugi::impl::(anonymous namespace)::utf32_decoder<pugi::impl::(anonymous namespace)::opt_false>) [function] [call site] 00054
5 pugi::impl::(anonymous namespace)::utf8_counter::value_type pugi::impl::(anonymous namespace)::utf32_decoder<pugi::impl::(anonymous namespace)::opt_false>::process<pugi::impl::(anonymous namespace)::utf8_counter>(unsigned int const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_counter::value_type, pugi::impl::(anonymous namespace)::utf8_counter) [function] [call site] 00055
6 pugi::impl::(anonymous namespace)::utf8_counter::low(unsigned long, unsigned int) [function] [call site] 00056
6 pugi::impl::(anonymous namespace)::utf8_counter::high(unsigned long, unsigned int) [function] [call site] 00057
5 pugi::impl::(anonymous namespace)::utf8_writer::value_type pugi::impl::(anonymous namespace)::utf32_decoder<pugi::impl::(anonymous namespace)::opt_false>::process<pugi::impl::(anonymous namespace)::utf8_writer>(unsigned int const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_writer::value_type, pugi::impl::(anonymous namespace)::utf8_writer) [function] [call site] 00058
6 pugi::impl::(anonymous namespace)::utf8_writer::low(unsigned char*, unsigned int) [function] [call site] 00059
6 pugi::impl::(anonymous namespace)::utf8_writer::high(unsigned char*, unsigned int) [function] [call site] 00060
4 bool pugi::impl::(anonymous namespace)::convert_buffer_generic<pugi::impl::(anonymous namespace)::utf32_decoder<pugi::impl::(anonymous namespace)::opt_true> >(char*&, unsigned long&, void const*, unsigned long, pugi::impl::(anonymous namespace)::utf32_decoder<pugi::impl::(anonymous namespace)::opt_true>) [function] [call site] 00061
5 pugi::impl::(anonymous namespace)::utf8_counter::value_type pugi::impl::(anonymous namespace)::utf32_decoder<pugi::impl::(anonymous namespace)::opt_true>::process<pugi::impl::(anonymous namespace)::utf8_counter>(unsigned int const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_counter::value_type, pugi::impl::(anonymous namespace)::utf8_counter) [function] [call site] 00062
6 pugi::impl::(anonymous namespace)::endian_swap(unsigned int) [function] [call site] 00063
5 pugi::impl::(anonymous namespace)::utf8_writer::value_type pugi::impl::(anonymous namespace)::utf32_decoder<pugi::impl::(anonymous namespace)::opt_true>::process<pugi::impl::(anonymous namespace)::utf8_writer>(unsigned int const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_writer::value_type, pugi::impl::(anonymous namespace)::utf8_writer) [function] [call site] 00064
4 pugi::impl::(anonymous namespace)::convert_buffer_latin1(char*&, unsigned long&, void const*, unsigned long, bool) [function] [call site] 00065
5 pugi::impl::(anonymous namespace)::get_latin1_7bit_prefix_length(unsigned char const*, unsigned long) [function] [call site] 00066
5 __assert_fail [call site] 00067
5 pugi::impl::(anonymous namespace)::get_mutable_buffer(char*&, unsigned long&, void const*, unsigned long, bool) [function] [call site] 00068
5 pugi::impl::(anonymous namespace)::utf8_counter::value_type pugi::impl::(anonymous namespace)::latin1_decoder::process<pugi::impl::(anonymous namespace)::utf8_counter>(unsigned char const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_counter::value_type, pugi::impl::(anonymous namespace)::utf8_counter) [function] [call site] 00069
6 pugi::impl::(anonymous namespace)::utf8_counter::low(unsigned long, unsigned int) [function] [call site] 00070
5 pugi::impl::(anonymous namespace)::utf8_writer::value_type pugi::impl::(anonymous namespace)::latin1_decoder::process<pugi::impl::(anonymous namespace)::utf8_writer>(unsigned char const*, unsigned long, pugi::impl::(anonymous namespace)::utf8_writer::value_type, pugi::impl::(anonymous namespace)::utf8_writer) [function] [call site] 00071
6 pugi::impl::(anonymous namespace)::utf8_writer::low(unsigned char*, unsigned int) [function] [call site] 00072
5 __assert_fail [call site] 00073
4 __assert_fail [call site] 00074
3 pugi::impl::(anonymous namespace)::make_parse_result(pugi::xml_parse_status, long) [function] [call site] 00075
3 pugi::impl::(anonymous namespace)::auto_deleter<void>::release() [function] [call site] 00076
3 pugi::impl::(anonymous namespace)::xml_parser::parse(char*, unsigned long, pugi::impl::(anonymous namespace)::xml_document_struct*, pugi::xml_node_struct*, unsigned int) [function] [call site] 00077
4 pugi::impl::(anonymous namespace)::make_parse_result(pugi::xml_parse_status, long) [function] [call site] 00078
4 pugi::impl::(anonymous namespace)::xml_parser::xml_parser(pugi::impl::(anonymous namespace)::xml_allocator*) [function] [call site] 00079
4 pugi::impl::(anonymous namespace)::xml_parser::parse_skip_bom(char*) [function] [call site] 00080
4 pugi::impl::(anonymous namespace)::xml_parser::parse_tree(char*, pugi::xml_node_struct*, unsigned int, char) [function] [call site] 00081
5 pugi::impl::(anonymous namespace)::get_strconv_attribute(unsigned int) [function] [call site] 00082
6 __assert_fail [call site] 00083
5 pugi::impl::(anonymous namespace)::get_strconv_pcdata(unsigned int) [function] [call site] 00084
6 __assert_fail [call site] 00085
5 pugi::impl::(anonymous namespace)::append_new_node(pugi::xml_node_struct*, pugi::impl::(anonymous namespace)::xml_allocator&, pugi::xml_node_type) [function] [call site] 00086
6 pugi::impl::(anonymous namespace)::xml_allocator::reserve() [function] [call site] 00087
6 pugi::impl::(anonymous namespace)::allocate_node(pugi::impl::(anonymous namespace)::xml_allocator&, pugi::xml_node_type) [function] [call site] 00088
7 pugi::impl::(anonymous namespace)::xml_allocator::allocate_object(unsigned long, pugi::impl::(anonymous namespace)::xml_memory_page*&) [function] [call site] 00089
8 pugi::impl::(anonymous namespace)::xml_allocator::allocate_memory(unsigned long, pugi::impl::(anonymous namespace)::xml_memory_page*&) [function] [call site] 00090
9 pugi::impl::(anonymous namespace)::xml_allocator::allocate_memory_oob(unsigned long, pugi::impl::(anonymous namespace)::xml_memory_page*&) [function] [call site] 00091
10 pugi::impl::(anonymous namespace)::xml_allocator::allocate_page(unsigned long) [function] [call site] 00092
11 pugi::impl::(anonymous namespace)::xml_memory_page::construct(void*) [function] [call site] 00093
11 __assert_fail [call site] 00094
11 __assert_fail [call site] 00095
10 __assert_fail [call site] 00096
7 pugi::xml_node_struct::xml_node_struct(pugi::impl::(anonymous namespace)::xml_memory_page*, pugi::xml_node_type) [function] [call site] 00097
6 pugi::impl::(anonymous namespace)::append_node(pugi::xml_node_struct*, pugi::xml_node_struct*) [function] [call site] 00098
5 pugi::impl::(anonymous namespace)::append_new_attribute(pugi::xml_node_struct*, pugi::impl::(anonymous namespace)::xml_allocator&) [function] [call site] 00099
6 pugi::impl::(anonymous namespace)::xml_allocator::reserve() [function] [call site] 00100
6 pugi::impl::(anonymous namespace)::allocate_attribute(pugi::impl::(anonymous namespace)::xml_allocator&) [function] [call site] 00101
7 pugi::impl::(anonymous namespace)::xml_allocator::allocate_object(unsigned long, pugi::impl::(anonymous namespace)::xml_memory_page*&) [function] [call site] 00102
7 pugi::xml_attribute_struct::xml_attribute_struct(pugi::impl::(anonymous namespace)::xml_memory_page*) [function] [call site] 00103
6 pugi::impl::(anonymous namespace)::append_attribute(pugi::xml_attribute_struct*, pugi::xml_node_struct*) [function] [call site] 00104
5 pugi::impl::(anonymous namespace)::xml_parser::parse_question(char*, pugi::xml_node_struct*&, unsigned int, char) [function] [call site] 00105
6 pugi::impl::(anonymous namespace)::append_new_node(pugi::xml_node_struct*, pugi::impl::(anonymous namespace)::xml_allocator&, pugi::xml_node_type) [function] [call site] 00106
6 pugi::impl::(anonymous namespace)::append_new_node(pugi::xml_node_struct*, pugi::impl::(anonymous namespace)::xml_allocator&, pugi::xml_node_type) [function] [call site] 00107
5 __assert_fail [call site] 00108
5 pugi::impl::(anonymous namespace)::xml_parser::parse_exclamation(char*, pugi::xml_node_struct*, unsigned int, char) [function] [call site] 00109
6 pugi::impl::(anonymous namespace)::append_new_node(pugi::xml_node_struct*, pugi::impl::(anonymous namespace)::xml_allocator&, pugi::xml_node_type) [function] [call site] 00110
6 pugi::impl::(anonymous namespace)::strconv_comment(char*, char) [function] [call site] 00111
7 pugi::impl::(anonymous namespace)::gap::gap() [function] [call site] 00112
7 pugi::impl::(anonymous namespace)::gap::push(char*&, unsigned long) [function] [call site] 00113
8 __assert_fail [call site] 00114
7 pugi::impl::(anonymous namespace)::gap::flush(char*) [function] [call site] 00115
8 __assert_fail [call site] 00116
6 pugi::impl::(anonymous namespace)::append_new_node(pugi::xml_node_struct*, pugi::impl::(anonymous namespace)::xml_allocator&, pugi::xml_node_type) [function] [call site] 00117
6 pugi::impl::(anonymous namespace)::strconv_cdata(char*, char) [function] [call site] 00118
7 pugi::impl::(anonymous namespace)::gap::gap() [function] [call site] 00119
7 pugi::impl::(anonymous namespace)::gap::push(char*&, unsigned long) [function] [call site] 00120
7 pugi::impl::(anonymous namespace)::gap::flush(char*) [function] [call site] 00121
6 pugi::impl::(anonymous namespace)::xml_parser::parse_doctype_group(char*, char) [function] [call site] 00122
7 __assert_fail [call site] 00123
7 pugi::impl::(anonymous namespace)::xml_parser::parse_doctype_ignore(char*) [function] [call site] 00124
8 __assert_fail [call site] 00125
7 pugi::impl::(anonymous namespace)::xml_parser::parse_doctype_primitive(char*) [function] [call site] 00126
6 __assert_fail [call site] 00127
6 pugi::impl::(anonymous namespace)::append_new_node(pugi::xml_node_struct*, pugi::impl::(anonymous namespace)::xml_allocator&, pugi::xml_node_type) [function] [call site] 00128
5 __assert_fail [call site] 00129
5 __assert_fail [call site] 00130
5 pugi::impl::(anonymous namespace)::strlength(char const*) [function] [call site] 00131
6 __assert_fail [call site] 00132
6 strlen [call site] 00133
5 pugi::impl::(anonymous namespace)::strlength(char const*) [function] [call site] 00134
5 pugi::impl::(anonymous namespace)::append_new_node(pugi::xml_node_struct*, pugi::impl::(anonymous namespace)::xml_allocator&, pugi::xml_node_type) [function] [call site] 00135
4 pugi::impl::(anonymous namespace)::make_parse_result(pugi::xml_parse_status, long) [function] [call site] 00136
4 __assert_fail [call site] 00137
4 pugi::xml_parse_result::operator bool() const [function] [call site] 00138
4 pugi::impl::(anonymous namespace)::make_parse_result(pugi::xml_parse_status, long) [function] [call site] 00139
4 pugi::impl::(anonymous namespace)::xml_parser::has_element_node_siblings(pugi::xml_node_struct*) [function] [call site] 00140
4 pugi::impl::(anonymous namespace)::make_parse_result(pugi::xml_parse_status, long) [function] [call site] 00141
1 pugi::xml_document::load_buffer(void const*, unsigned long, unsigned int, pugi::xml_encoding) [function] [call site] 00142
1 pugi::xml_document::load_buffer(void const*, unsigned long, unsigned int, pugi::xml_encoding) [function] [call site] 00143
1 pugi::xml_document::~xml_document() [function] [call site] 00144
2 pugi::xml_document::_destroy() [function] [call site] 00145
2 __clang_call_terminate [call site] 00146