Fuzz introspector: fuzz/librawspeed/codes/PrefixCodeDecoder/Dual.cpp
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
137 0 EP call site: 00000 checkFlavour

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 rawspeed::ByteStream::getByte [function] [call site] 00002
2 rawspeed::ByteStream::get [function] [call site] 00003
3 rawspeed::ByteStream::peek [function] [call site] 00004
4 DataBuffer::get<T> [function] [call site] 00005
1 checkFlavour [function] [call site] 00006
2 createPrefixCodeDecoder [function] [call site] 00007
3 rawspeed::Optional::Optional [function] [call site] 00008
3 createHuffmanPrefixCodeDecoderImpl [function] [call site] 00010
4 createHuffmanCode [function] [call site] 00011
5 rawspeed::HuffmanCode::HuffmanCode [function] [call site] 00012
5 rawspeed::HuffmanCode::setNCodesPerLength [function] [call site] 00013
6 invariant [function] [call site] 00014
6 rawspeed::Buffer::getSize [function] [call site] 00015
6 std::copy [function] [call site] 00017
6 rawspeed::Buffer::begin [function] [call site] 00018
7 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00019
8 implicit_cast<int> [function] [call site] 00020
6 rawspeed::Buffer::end [function] [call site] 00021
7 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00022
6 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00031
6 invariant [function] [call site] 00035
5 getBuffer [function] [call site] 00040
5 getStream [function] [call site] 00041
5 getCodeValues [function] [call site] 00042
6 std::vector::reserve [function] [call site] 00043
6 std::generate_n [function] [call site] 00044
6 std::back_inserter [function] [call site] 00045
6 std::vector::size [function] [call site] 00049
5 rawspeed::HuffmanCode::setCodeValues [function] [call site] 00050
6 invariant [function] [call site] 00051
6 rawspeed::NORangesSet::size [function] [call site] 00052
7 rawspeed::NORangesSet::size [function] [call site] 00053
8 rawspeed::NORangesSet::size [function] [call site] 00054
6 invariant [function] [call site] 00055
6 static_cast<unsigned> [function] [call site] 00056
6 rawspeed::NORangesSet::size [function] [call site] 00057
6 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00058
6 rawspeed::HuffmanCode::codeValues::clear [function] [call site] 00059
6 rawspeed::HuffmanCode::codeValues::reserve [function] [call site] 00060
6 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00061
6 std::copy [function] [call site] 00062
6 rawspeed::Buffer::begin [function] [call site] 00063
7 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00064
6 rawspeed::Buffer::end [function] [call site] 00065
7 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00066
6 std::back_inserter [function] [call site] 00067
6 rawspeed::NORangesSet::size [function] [call site] 00069
7 rawspeed::NORangesSet::size [function] [call site] 00070
6 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00071
5 rawspeed::Array1DRef<const [call site] 00073
5 rawspeed_test::Pattern<BitStreamerMSB16, [call site] 00074
6 GenOnesBE [function] [call site] 00075
5 rawspeed::implicit_cast<rawspeed::Buffer::size_type> [function] [call site] 00076
5 rawspeed::NORangesSet::size [function] [call site] 00077
6 rawspeed::NORangesSet::size [function] [call site] 00078
4 std::move [function] [call site] 00080
3 createSimplePrefixCodeDecoderImpl [function] [call site] 00081
3 rawspeed::DngOpcodes::DngOpcode::setup [function] [call site] 00085
4 getImageCropAsRectangle [function] [call site] 00087
3 std::move [function] [call site] 00088
2 createPrefixCodeDecoder [function] [call site] 00089
2 createPrefixCodeDecoder [function] [call site] 00090
2 createPrefixCodeDecoder [function] [call site] 00091
2 rawspeed::ByteStream::getByte [function] [call site] 00092
2 rawspeed::ByteStream::getByte [function] [call site] 00093
2 rawspeed::ByteStream::getPosition [function] [call site] 00095
3 invariant [function] [call site] 00096
3 rawspeed::ByteStream::check [function] [call site] 00098
4 getSubView [function] [call site] 00101
4 rawspeed::Buffer::getSize [function] [call site] 00103
4 rawspeed::ASan::RegionIsPoisoned [function] [call site] 00105
5 const_cast<void*> [function] [call site] 00106
5 __asan_region_is_poisoned [function] [call site] 00107
4 rawspeed::Buffer::begin [function] [call site] 00108
4 rawspeed::Buffer::getSize [function] [call site] 00109
2 rawspeed::ByteStream::getPosition [function] [call site] 00110
2 rawspeed::ByteStream::peekRemainingBuffer [function] [call site] 00112
3 getSubView [function] [call site] 00113
3 rawspeed::ByteStream::getRemainSize [function] [call site] 00114
4 invariant [function] [call site] 00115
4 rawspeed::ByteStream::check [function] [call site] 00117
2 checkPump [function] [call site] 00120
3 isFullDecode [function] [call site] 00122
3 isFullDecode [function] [call site] 00123
3 isFullDecode [function] [call site] 00124
3 workloop [function] [call site] 00125
4 template [call site] 00126
4 template [call site] 00127
2 checkPump [function] [call site] 00132
2 checkPump [function] [call site] 00133
1 checkFlavour [function] [call site] 00135
1 __builtin_unreachable [function] [call site] 00137