Fuzz introspector: fuzz_json
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
0 0 6 :

['std::__1::operator!=[abi:ne180100](std::__1::__map_iterator , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, std::__1::__tree_node , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, void*>*, long> > const&, std::__1::__map_iterator , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, std::__1::__tree_node , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, void*>*, long> > const&)', 'std::__1::__map_iterator , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, std::__1::__tree_node , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, void*>*, long> >::operator++[abi:ne180100]()', 'std::__1::map , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, dnnl::impl::graph::utils::json::read_helper_t::entry_t> > >::begin[abi:ne180100]()', 'std::__1::__map_iterator , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, std::__1::__tree_node , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t>, void*>*, long> >::operator->[abi:ne180100]() const', 'std::__1::map , std::__1::allocator >, dnnl::impl::graph::utils::json::read_helper_t::entry_t, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, dnnl::impl::graph::utils::json::read_helper_t::entry_t> > >::end[abi:ne180100]()', 'std::__1::map , std::__1::allocator >, int, std::__1::less , std::__1::allocator > >, std::__1::allocator , std::__1::allocator > const, int> > >::count[abi:ne180100](std::__1::basic_string , std::__1::allocator > const&) const']

0 0 dnnl::impl::graph::utils::json::read_helper_t::read_fields(dnnl::impl::graph::utils::json::json_reader_t*) call site: 00000 /src/oneDNN/src/graph/utils/json.hpp:576

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 dnnl::impl::graph::utils::json::json_reader_t::json_reader_t(std::__1::basic_istream<char, std::__1::char_traits<char> >*) [function] [call site] 00001
1 dnnl::impl::graph::utils::json::read_helper_t::read_helper_t() [function] [call site] 00002
1 dnnl::impl::graph::utils::json::read_helper_t::read_fields(dnnl::impl::graph::utils::json::json_reader_t*) [function] [call site] 00003
2 dnnl::impl::graph::utils::json::json_reader_t::begin_object() [function] [call site] 00004
3 dnnl::impl::graph::utils::json::json_reader_t::next_nonspace() [function] [call site] 00005
4 dnnl::impl::graph::utils::json::json_reader_t::next_char() [function] [call site] 00006
4 isspace [call site] 00007
2 dnnl::impl::graph::utils::json::json_reader_t::next_object_item(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00008
3 dnnl::impl::graph::utils::json::json_reader_t::next_nonspace() [function] [call site] 00009
3 dnnl::impl::graph::utils::json::json_reader_t::peeknext_nonspace() [function] [call site] 00010
4 dnnl::impl::graph::utils::json::json_reader_t::peeknext_char() [function] [call site] 00011
4 isspace [call site] 00012
4 dnnl::impl::graph::utils::json::json_reader_t::next_char() [function] [call site] 00013
3 dnnl::impl::graph::utils::json::json_reader_t::next_char() [function] [call site] 00014
3 dnnl::impl::graph::utils::json::json_reader_t::read_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00015
4 dnnl::impl::graph::utils::json::json_reader_t::next_nonspace() [function] [call site] 00016
4 dnnl::impl::graph::utils::json::json_reader_t::next_char() [function] [call site] 00017
4 dnnl::impl::graph::utils::json::json_reader_t::next_char() [function] [call site] 00018
4 __cxa_allocate_exception [call site] 00019
4 __cxa_throw [call site] 00020
4 __cxa_allocate_exception [call site] 00021
4 __cxa_throw [call site] 00022
3 dnnl::impl::graph::utils::json::json_reader_t::next_nonspace() [function] [call site] 00023
1 __cxa_begin_catch [call site] 00024
1 __cxa_end_catch [call site] 00025
1 dnnl::impl::graph::utils::json::read_helper_t::~read_helper_t() [function] [call site] 00026
1 dnnl::impl::graph::utils::json::json_reader_t::~json_reader_t() [function] [call site] 00027