Fuzz introspector: fuzz-read-write
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
10 12 Exiv2::ImageFactory::open(std::__1::unique_ptr >) call site: 00012 __cxa_allocate_exception
6 3 LLVMFuzzerTestOneInput call site: 00003 __cxa_allocate_exception
6 45 Exiv2::Internal::ConstSliceBase ::ConstSliceBase(unsigned char const*&, unsigned long, unsigned long) call site: 00045 __cxa_allocate_exception
5 23 std::__1::basic_string , std::__1::allocator > Exiv2::toBasicString , std::__1::allocator > >(std::__1::basic_string , std::__1::allocator > const&) call site: 00023 __cxa_throw
5 39 Exiv2::Internal::ConstSliceBase ::ConstSliceBase(unsigned char const*&, unsigned long, unsigned long) call site: 00039 __cxa_allocate_exception
5 55 Exiv2::Internal::SliceBase::rangeCheck(unsigned long) const call site: 00055 __cxa_allocate_exception
5 110 Exiv2::isEpsType(Exiv2::BasicIo&, bool) call site: 00110 __cxa_allocate_exception
1 52 Exiv2::getUShort(unsigned char const*, Exiv2::ByteOrder) call site: 00052
1 85 void Exiv2::Internal::enforce (bool, Exiv2::ErrorCode&) call site: 00085

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 Exiv2::LogMsg::setLevel(Exiv2::LogMsg::Level) [function] [call site] 00001
1 Exiv2::DataBuf::DataBuf(unsigned char const*, unsigned long) [function] [call site] 00002
1 Exiv2::DataBuf::c_data(unsigned long) const [function] [call site] 00003
2 __cxa_allocate_exception [call site] 00004
2 std::out_of_range::out_of_range[abi:ne220000](char const*) [function] [call site] 00005
3 std::logic_error::logic_error(char const*) [call site] 00006
2 __cxa_throw [call site] 00007
2 std::out_of_range::~out_of_range() [call site] 00008
2 __cxa_free_exception [call site] 00009
1 Exiv2::ImageFactory::open(unsigned char const*, unsigned long) [function] [call site] 00010
2 Exiv2::ImageFactory::open(std::__1::unique_ptr<Exiv2::BasicIo, std::__1::default_delete<Exiv2::BasicIo> >) [function] [call site] 00011
3 Exiv2::isJpegType(Exiv2::BasicIo&, bool) [function] [call site] 00012
3 __cxa_allocate_exception [call site] 00013
3 Exiv2::strError() [function] [call site] 00014
4 __errno_location [call site] 00015
4 strerror_r [call site] 00016
4 strerror [call site] 00017
4 std::__1::optional<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator*[abi:ne220000]() && [function] [call site] 00018
5 std::__1::__optional_storage_base<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, false>::__get[abi:ne220000]() & [function] [call site] 00019
3 Exiv2::Error::Error<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(Exiv2::ErrorCode, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00020
4 std::exception::exception[abi:ne220000]() [function] [call site] 00021
4 std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > Exiv2::toBasicString<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00022
5 std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str[abi:ne220000]() const & [function] [call site] 00023
6 std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str[abi:ne220000]() const & [function] [call site] 00024
4 Exiv2::Error::setMsg(int) [function] [call site] 00025
4 std::exception::~exception() [call site] 00026
3 __cxa_throw [call site] 00027
3 __cxa_free_exception [call site] 00028
3 Exiv2::isExvType(Exiv2::BasicIo&, bool) [function] [call site] 00029
4 memcmp [call site] 00030
3 Exiv2::isCr2Type(Exiv2::BasicIo&, bool) [function] [call site] 00031
4 Exiv2::Internal::Cr2Header::Cr2Header(Exiv2::ByteOrder) [function] [call site] 00032
5 Exiv2::Internal::TiffHeaderBase::TiffHeaderBase(unsigned short, unsigned int, Exiv2::ByteOrder, unsigned int) [function] [call site] 00033
4 Exiv2::Internal::Cr2Header::read(unsigned char const*, unsigned long) [function] [call site] 00034
5 Exiv2::getUShort(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00035
6 Exiv2::Slice<unsigned char const*> Exiv2::makeSliceUntil<unsigned char const>(unsigned char const*, unsigned long) [function] [call site] 00036
7 Exiv2::Slice<unsigned char const*>::Slice(unsigned char const*, unsigned long, unsigned long) [function] [call site] 00037
8 Exiv2::Internal::ConstSliceBase<Exiv2::Internal::PtrSliceStorage, unsigned char const*>::ConstSliceBase(unsigned char const*&, unsigned long, unsigned long) [function] [call site] 00038
9 Exiv2::Internal::SliceBase::SliceBase(unsigned long, unsigned long) [function] [call site] 00039
10 __cxa_allocate_exception [call site] 00040
10 std::out_of_range::out_of_range[abi:ne220000](char const*) [function] [call site] 00041
10 __cxa_throw [call site] 00042
10 std::out_of_range::~out_of_range() [call site] 00043
10 __cxa_free_exception [call site] 00044
9 Exiv2::Internal::PtrSliceStorage<unsigned char const*>::PtrSliceStorage(unsigned char const*, unsigned long, unsigned long) [function] [call site] 00045
10 __cxa_allocate_exception [call site] 00046
10 std::invalid_argument::invalid_argument[abi:ne220000](char const*) [function] [call site] 00047
11 std::logic_error::logic_error(char const*) [call site] 00048
10 __cxa_throw [call site] 00049
10 std::invalid_argument::~invalid_argument() [call site] 00050
10 __cxa_free_exception [call site] 00051
6 unsigned short Exiv2::getUShort<unsigned char const*>(Exiv2::Slice<unsigned char const*> const&, Exiv2::ByteOrder) [function] [call site] 00052
7 Exiv2::Internal::ConstSliceBase<Exiv2::Internal::PtrSliceStorage, unsigned char const*>::at(unsigned long) const [function] [call site] 00053
8 Exiv2::Internal::SliceBase::rangeCheck(unsigned long) const [function] [call site] 00054
9 Exiv2::Internal::SliceBase::size() const [function] [call site] 00055
9 __cxa_allocate_exception [call site] 00056
9 std::out_of_range::out_of_range[abi:ne220000](char const*) [function] [call site] 00057
9 __cxa_throw [call site] 00058
9 std::out_of_range::~out_of_range() [call site] 00059
9 __cxa_free_exception [call site] 00060
8 Exiv2::Internal::PtrSliceStorage<unsigned char const*>::unsafeAt(unsigned long) const [function] [call site] 00061
5 Exiv2::getULong(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00062
5 memcmp [call site] 00063
5 Exiv2::getULong(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00064
3 Exiv2::isCrwType(Exiv2::BasicIo&, bool) [function] [call site] 00065
4 Exiv2::Internal::CiffHeader::signature() [function] [call site] 00066
4 memcmp [call site] 00067
3 Exiv2::isMrwType(Exiv2::BasicIo&, bool) [function] [call site] 00068
3 Exiv2::isTiffType(Exiv2::BasicIo&, bool) [function] [call site] 00069
4 Exiv2::Internal::TiffHeader::TiffHeader(Exiv2::ByteOrder, unsigned int, bool) [function] [call site] 00070
5 Exiv2::Internal::TiffHeaderBase::TiffHeaderBase(unsigned short, unsigned int, Exiv2::ByteOrder, unsigned int) [function] [call site] 00071
4 Exiv2::Internal::TiffHeaderBase::read(unsigned char const*, unsigned long) [function] [call site] 00072
5 Exiv2::getUShort(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00073
5 Exiv2::getULong(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00074
3 Exiv2::isWebPType(Exiv2::BasicIo&, bool) [function] [call site] 00075
4 Exiv2::BasicIo::readOrThrow(unsigned char*, unsigned long, Exiv2::ErrorCode) [function] [call site] 00076
5 void Exiv2::Internal::enforce<>(bool, Exiv2::ErrorCode) [function] [call site] 00077
6 void Exiv2::Internal::enforce<Exiv2::Error, Exiv2::ErrorCode&>(bool, Exiv2::ErrorCode&) [function] [call site] 00078
7 __cxa_allocate_exception [call site] 00079
7 Exiv2::Error::Error(Exiv2::ErrorCode) [function] [call site] 00080
8 std::exception::exception[abi:ne220000]() [function] [call site] 00081
8 Exiv2::Error::setMsg(int) [function] [call site] 00082
8 std::exception::~exception() [call site] 00083
7 __cxa_throw [call site] 00084
7 Exiv2::Error::~Error() [function] [call site] 00085
8 std::exception::~exception() [call site] 00086
7 __cxa_free_exception [call site] 00087
5 void Exiv2::Internal::enforce<>(bool, Exiv2::ErrorCode) [function] [call site] 00088
4 Exiv2::BasicIo::readOrThrow(unsigned char*, unsigned long, Exiv2::ErrorCode) [function] [call site] 00089
4 Exiv2::BasicIo::readOrThrow(unsigned char*, unsigned long, Exiv2::ErrorCode) [function] [call site] 00090
3 Exiv2::isRw2Type(Exiv2::BasicIo&, bool) [function] [call site] 00091
4 Exiv2::Internal::Rw2Header::Rw2Header() [function] [call site] 00092
5 Exiv2::Internal::TiffHeaderBase::TiffHeaderBase(unsigned short, unsigned int, Exiv2::ByteOrder, unsigned int) [function] [call site] 00093
4 Exiv2::Internal::TiffHeaderBase::read(unsigned char const*, unsigned long) [function] [call site] 00094
3 Exiv2::isOrfType(Exiv2::BasicIo&, bool) [function] [call site] 00095
4 Exiv2::Internal::OrfHeader::OrfHeader(Exiv2::ByteOrder) [function] [call site] 00096
4 Exiv2::Internal::OrfHeader::read(unsigned char const*, unsigned long) [function] [call site] 00097
5 Exiv2::getUShort(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00098
5 Exiv2::getULong(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00099
3 Exiv2::isPngType(Exiv2::BasicIo&, bool) [function] [call site] 00100
4 __cxa_allocate_exception [call site] 00101
4 Exiv2::Error::Error(Exiv2::ErrorCode) [function] [call site] 00102
4 __cxa_throw [call site] 00103
4 Exiv2::Error::~Error() [function] [call site] 00104
4 __cxa_free_exception [call site] 00105
3 Exiv2::isPgfType(Exiv2::BasicIo&, bool) [function] [call site] 00106
3 Exiv2::isRafType(Exiv2::BasicIo&, bool) [function] [call site] 00107
3 Exiv2::isEpsType(Exiv2::BasicIo&, bool) [function] [call site] 00108
4 Exiv2::DataBuf::size() const [function] [call site] 00109
4 Exiv2::DataBuf::cmpBytes(unsigned long, void const*, unsigned long) const [function] [call site] 00110
5 __cxa_allocate_exception [call site] 00111
5 std::out_of_range::out_of_range[abi:ne220000](char const*) [function] [call site] 00112
5 __cxa_throw [call site] 00113
5 std::out_of_range::~out_of_range() [call site] 00114
5 __cxa_free_exception [call site] 00115
5 memcmp [call site] 00116
4 Exiv2::DataBuf::cmpBytes(unsigned long, void const*, unsigned long) const [function] [call site] 00117
4 Exiv2::DataBuf::~DataBuf() [function] [call site] 00118
3 Exiv2::isXmpType(Exiv2::BasicIo&, bool) [function] [call site] 00119
4 strncmp [call site] 00120
4 strncmp [call site] 00121
3 Exiv2::isGifType(Exiv2::BasicIo&, bool) [function] [call site] 00122
3 Exiv2::isPsdType(Exiv2::BasicIo&, bool) [function] [call site] 00123
3 Exiv2::isTgaType(Exiv2::BasicIo&, bool) [function] [call site] 00124
4 memcmp [call site] 00125
3 Exiv2::isBmpType(Exiv2::BasicIo&, bool) [function] [call site] 00126
3 Exiv2::isJp2Type(Exiv2::BasicIo&, bool) [function] [call site] 00127
3 Exiv2::isQTimeType(Exiv2::BasicIo&, bool) [function] [call site] 00128
4 Exiv2::DataBuf::DataBuf(unsigned long) [function] [call site] 00129
4 Exiv2::DataBuf::data(unsigned long) [function] [call site] 00130
5 Exiv2::DataBuf::c_data(unsigned long) const [function] [call site] 00131
4 Exiv2::DataBuf::cmpBytes(unsigned long, void const*, unsigned long) const [function] [call site] 00132
4 Exiv2::DataBuf::c_str(unsigned long) const [function] [call site] 00133
5 Exiv2::DataBuf::c_data(unsigned long) const [function] [call site] 00134
4 Exiv2::Internal::TagVocabulary const* Exiv2::find<Exiv2::Internal::TagVocabulary const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, 86ul>(Exiv2::Internal::TagVocabulary const (&) [86ul], std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) [function] [call site] 00135
4 Exiv2::DataBuf::~DataBuf() [function] [call site] 00136
3 Exiv2::isAsfType(Exiv2::BasicIo&, bool) [function] [call site] 00137
4 Exiv2::isASFType(unsigned char const*) [function] [call site] 00138
5 Exiv2::AsfVideo::GUIDTag::GUIDTag(unsigned char const*) [function] [call site] 00139
6 Exiv2::getULong(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00140
6 Exiv2::getUShort(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00141
6 Exiv2::getUShort(unsigned char const*, Exiv2::ByteOrder) [function] [call site] 00142
5 Exiv2::AsfVideo::GUIDTag::operator==(Exiv2::AsfVideo::GUIDTag const&) const [function] [call site] 00143
3 Exiv2::isRiffType(Exiv2::BasicIo&, bool) [function] [call site] 00144
3 Exiv2::isMkvType(Exiv2::BasicIo&, bool) [function] [call site] 00145
3 Exiv2::isBmffType(Exiv2::BasicIo&, bool) [function] [call site] 00146
2 __cxa_allocate_exception [call site] 00147
2 Exiv2::Error::Error(Exiv2::ErrorCode) [function] [call site] 00148
2 __cxa_throw [call site] 00149
2 __cxa_free_exception [call site] 00150
1 Exiv2::DataBuf::~DataBuf() [function] [call site] 00151
1 __cxa_begin_catch [call site] 00152
1 __cxa_end_catch [call site] 00153