Fuzz introspector: fuzz_cppitertools
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 None 0 0 voiditer::impl::dumb_advance_impl ,std::__1::__wrap_iter ,unsignedlong>(std::__1::__wrap_iter &,std::__1::__wrap_iter const&,unsignedlong,std::__1::integral_constant ) call site: 00000 /src/cppitertools/./internal/iterbase.hpp:228

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 FuzzChained(unsigned char const*, unsigned long) [function] [call site] 00001
2 auto iter::impl::ChainMaker::operator() >&, std::__1::vector >&, std::__1::vector >&>(std::__1::vector >&, std::__1::vector >&, std::__1::vector >&) const [function] [call site] 00002
3 iter::impl::Chained >&, std::__1::vector >&, std::__1::vector >&>, 0ul, 1ul, 2ul> iter::impl::ChainMaker::chain_impl >&, std::__1::vector >&, std::__1::vector >&>, 0ul, 1ul, 2ul>(std::__1::tuple >&, std::__1::vector >&, std::__1::vector >&>&&, std::__1::integer_sequence ) const [function] [call site] 00003
4 iter::impl::Chained >&, std::__1::vector >&, std::__1::vector >&>, 0ul, 1ul, 2ul>::Chained(std::__1::tuple >&, std::__1::vector >&, std::__1::vector >&>&&) [function] [call site] 00004
1 FuzzGroupby(unsigned char const*, unsigned long) [function] [call site] 00005
2 iter::impl::GroupProducer , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >&, int (*)(std::__1::basic_string , std::__1::allocator > const&)> iter::impl::IterToolFnOptionalBindSecond ::operator() , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >&, int (*)(std::__1::basic_string , std::__1::allocator > const&)>(std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >&, int (*)(std::__1::basic_string , std::__1::allocator > const&)) const [function] [call site] 00006
3 iter::impl::GroupProducer , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >&, int (*)(std::__1::basic_string , std::__1::allocator > const&)>::GroupProducer(std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >&, int (*)(std::__1::basic_string , std::__1::allocator > const&)) [function] [call site] 00007
2 iter::impl::GroupProducer , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >&, int (*)(std::__1::basic_string , std::__1::allocator > const&)>::begin() [function] [call site] 00008
3 _ZN4iter4impl9get_iters9get_beginINSt3__16vectorINS3_12basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS8_ISA_EEEEEEDTcl14get_begin_implclsr3stdE7declvalIRT_EELi42EEESE_ [function] [call site] 00009
3 iter::impl::GroupProducer , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >&, int (*)(std::__1::basic_string , std::__1::allocator > const&)>::Iterator , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >&>::Iterator(std::__1::__wrap_iter , std::__1::allocator >*>&&, std::__1::__wrap_iter , std::__1::allocator >*>&&, int (*&)(std::__1::basic_string , std::__1::allocator > const&)) [function] [call site] 00010
4 iter::impl::DerefHolder , std::__1::allocator >&>::DerefHolder() [function] [call site] 00011
4 iter::impl::DerefHolder , std::__1::allocator >&>::reset(std::__1::basic_string , std::__1::allocator >&) [function] [call site] 00012
1 FuzzCycle(unsigned char const*, unsigned long) [function] [call site] 00013
2 iter::impl::Cycler >&> iter::impl::IterToolFn ::operator() >&>(std::__1::vector >&) const [function] [call site] 00014
3 iter::impl::Cycler >&>::Cycler(std::__1::vector >&) [function] [call site] 00015
2 iter::impl::Cycler >&>::begin() [function] [call site] 00016
3 _ZN4iter4impl9get_iters9get_beginINSt3__16vectorIiNS3_9allocatorIiEEEEEEDTcl14get_begin_implclsr3stdE7declvalIRT_EELi42EEES9_ [function] [call site] 00017
3 iter::impl::Cycler >&>::Iterator >&>::Iterator(std::__1::__wrap_iter &&, std::__1::__wrap_iter &&) [function] [call site] 00018
1 FuzzCombinations(unsigned char const*, unsigned long) [function] [call site] 00019
2 iter::impl::Combinator , std::__1::allocator >&> iter::impl::IterToolFnBindSizeTSecond ::operator() , std::__1::allocator >&, void>(std::__1::basic_string , std::__1::allocator >&, unsigned long) const [function] [call site] 00020
3 iter::impl::Combinator , std::__1::allocator >&>::Combinator(std::__1::basic_string , std::__1::allocator >&, unsigned long) [function] [call site] 00021
2 iter::impl::Combinator , std::__1::allocator >&>::begin() [function] [call site] 00022
3 iter::impl::Combinator , std::__1::allocator >&>::Iterator , std::__1::allocator >&>::Iterator(std::__1::basic_string , std::__1::allocator >&, unsigned long) [function] [call site] 00023
4 iter::impl::IterIterWrapper , std::__1::allocator > > >::IterIterWrapper(unsigned long) [function] [call site] 00024
4 iter::impl::IterIterWrapper , std::__1::allocator > > >::get() [function] [call site] 00025
4 _ZN4iter4impl9get_iters9get_beginINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEDTcl14get_begin_implclsr3stdE7declvalIRT_EELi42EEESB_ [function] [call site] 00026
4 _ZN4iter4impl9get_iters7get_endINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEDTcl12get_end_implclsr3stdE7declvalIRT_EELi42EEESB_ [function] [call site] 00027
4 _ZN4iter4impl9get_iters7get_endINSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEDTcl12get_end_implclsr3stdE7declvalIRT_EELi42EEESB_ [function] [call site] 00028
4 iter::impl::IterIterWrapper , std::__1::allocator > > >::~IterIterWrapper() [function] [call site] 00029
1 FuzzCompress(unsigned char const*, unsigned long) [function] [call site] 00030
2 iter::impl::Compressed >&, std::__1::vector >&> iter::compress >&, std::__1::vector >&>(std::__1::vector >&, std::__1::vector >&) [function] [call site] 00031
3 iter::impl::Compressed >&, std::__1::vector >&>::Compressed(std::__1::vector >&, std::__1::vector >&) [function] [call site] 00032
2 bool iter::impl::Compressed >&, std::__1::vector >&>::Iterator >&, std::__1::vector >&>::operator== > const&, std::__1::vector > const&>(iter::impl::Compressed >&, std::__1::vector >&>::Iterator > const&, std::__1::vector > const&> const&) const [function] [call site] 00033
3 bool iter::impl::Compressed >&, std::__1::vector >&>::Iterator >&, std::__1::vector >&>::operator!= > const&, std::__1::vector > const&>(iter::impl::Compressed >&, std::__1::vector >&>::Iterator > const&, std::__1::vector > const&> const&) const [function] [call site] 00034