Fuzz introspector: fuzz/librawspeed/decompressors/HasselbladDecompressor.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
213 0 EP call site: 00000 createPrefixCodeDecoder
3 216 LLVMFuzzerTestOneInput call site: 00216 rawspeed::RawImageData::getU16DataAsUncroppedArray2DRef
1 214 LLVMFuzzerTestOneInput call site: 00214

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 createPrefixCodeDecoder [function] [call site] 00002
2 rawspeed::Optional::Optional [function] [call site] 00003
2 createHuffmanPrefixCodeDecoderImpl [function] [call site] 00005
3 createHuffmanCode [function] [call site] 00006
4 rawspeed::HuffmanCode::HuffmanCode [function] [call site] 00007
4 rawspeed::HuffmanCode::setNCodesPerLength [function] [call site] 00008
5 invariant [function] [call site] 00009
5 rawspeed::Buffer::getSize [function] [call site] 00010
5 std::copy [function] [call site] 00012
5 rawspeed::Buffer::begin [function] [call site] 00013
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00014
7 implicit_cast<int> [function] [call site] 00015
5 rawspeed::Buffer::end [function] [call site] 00016
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00017
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00026
5 invariant [function] [call site] 00030
4 getBuffer [function] [call site] 00035
4 getStream [function] [call site] 00036
4 getCodeValues [function] [call site] 00037
5 std::vector::reserve [function] [call site] 00038
5 std::generate_n [function] [call site] 00039
5 std::back_inserter [function] [call site] 00040
5 std::vector::size [function] [call site] 00044
4 rawspeed::HuffmanCode::setCodeValues [function] [call site] 00045
5 invariant [function] [call site] 00046
5 rawspeed::NORangesSet::size [function] [call site] 00047
6 rawspeed::NORangesSet::size [function] [call site] 00048
7 rawspeed::NORangesSet::size [function] [call site] 00049
5 invariant [function] [call site] 00050
5 static_cast<unsigned> [function] [call site] 00051
5 rawspeed::NORangesSet::size [function] [call site] 00052
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00053
5 rawspeed::HuffmanCode::codeValues::clear [function] [call site] 00054
5 rawspeed::HuffmanCode::codeValues::reserve [function] [call site] 00055
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00056
5 std::copy [function] [call site] 00057
5 rawspeed::Buffer::begin [function] [call site] 00058
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00059
5 rawspeed::Buffer::end [function] [call site] 00060
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00061
5 std::back_inserter [function] [call site] 00062
5 rawspeed::NORangesSet::size [function] [call site] 00064
6 rawspeed::NORangesSet::size [function] [call site] 00065
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00066
4 rawspeed::Array1DRef<const [call site] 00068
4 rawspeed_test::Pattern<BitStreamerMSB16, [call site] 00069
5 GenOnesBE [function] [call site] 00070
4 rawspeed::implicit_cast<rawspeed::Buffer::size_type> [function] [call site] 00071
4 rawspeed::NORangesSet::size [function] [call site] 00072
5 rawspeed::NORangesSet::size [function] [call site] 00073
3 std::move [function] [call site] 00075
2 createSimplePrefixCodeDecoderImpl [function] [call site] 00076
2 rawspeed::DngOpcodes::DngOpcode::setup [function] [call site] 00080
3 getImageCropAsRectangle [function] [call site] 00082
2 std::move [function] [call site] 00083
1 rawspeed::ByteStream::get [function] [call site] 00084
2 rawspeed::ByteStream::peek [function] [call site] 00085
3 DataBuffer::get<T> [function] [call site] 00086
1 rawspeed::ByteStream::getSubStream [function] [call site] 00087
2 rawspeed::ByteStream::ByteStream [function] [call site] 00088
2 DataBuffer [function] [call site] 00089
2 getSubView [function] [call site] 00090
2 getByteOrder [function] [call site] 00091
1 rawspeed::RawImageData::createData [function] [call site] 00092
2 rawspeed::RawImageData::isAllocated [function] [call site] 00096
2 implicit_cast<int> [function] [call site] 00099
2 static_cast<size_t> [function] [call site] 00101
2 isAligned [function] [call site] 00103
2 __has_feature [function] [call site] 00104
2 isAligned [function] [call site] 00106
2 __has_feature [function] [call site] 00107
2 static_cast<size_t> [function] [call site] 00110
2 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00111
3 rawspeed::RawImageData::getU16DataAsUncroppedArray2DRef [function] [call site] 00112
4 reinterpret_cast<uint16_t*> [function] [call site] 00116
4 static_cast<int> [function] [call site] 00118
3 rawspeed::RawImageData::getF32DataAsUncroppedArray2DRef [function] [call site] 00119
4 reinterpret_cast<float*> [function] [call site] 00123
4 static_cast<int> [function] [call site] 00125
3 __builtin_unreachable [function] [call site] 00126
2 isAligned [function] [call site] 00128
2 rawspeed::RawImageData::poisonPadding [function] [call site] 00130
3 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00131
3 rawspeed::ASan::PoisonMemoryRegion [function] [call site] 00132
4 __asan_poison_memory_region [function] [call site] 00133
1 rawspeed::HasselbladDecompressor::decompress [function] [call site] 00135
2 getU16DataAsUncroppedArray2DRef [function] [call site] 00136
2 invariant [function] [call site] 00137
2 rawspeed::Array2DRef<T>::height [function] [call site] 00138
3 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00139
4 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00140
4 invariant [function] [call site] 00141
4 invariant [function] [call site] 00142
4 invariant [function] [call site] 00143
4 invariant [function] [call site] 00144
4 invariant [function] [call site] 00145
4 invariant [function] [call site] 00146
4 invariant [function] [call site] 00147
2 invariant [function] [call site] 00149
2 rawspeed::Array2DRef<T>::width [function] [call site] 00150
3 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00151
2 invariant [function] [call site] 00152
2 rawspeed::Array2DRef<T>::width [function] [call site] 00153
2 rawspeed::AbstractPrefixCodeTranscoder::verifyCodeValuesAsDiffLengths [function] [call site] 00154
3 rawspeed::AbstractPrefixCodeTranscoder::maxCodePlusDiffLength [function] [call site] 00157
4 rawspeed::AbstractPrefixCodeTranscoder::maxCodeLength [function] [call site] 00158
5 rawspeed::NORangesSet::size [function] [call site] 00159
6 rawspeed::NORangesSet::size [function] [call site] 00160
4 std::max_element [function] [call site] 00161
4 Base::codeValues::cbegin [function] [call site] 00162
4 Base::codeValues::cend [function] [call site] 00163
2 rawspeed::Array2DRef<T>::height [function] [call site] 00164
2 rawspeed::Array2DRef<T>::width [function] [call site] 00165
2 rawspeed::PrefixCodeLUTDecoder::decodeCodeValue [function] [call site] 00166
3 invariant [function] [call site] 00167
3 rawspeed::AbstractPrefixCodeTranscoder::isFullDecode [function] [call site] 00168
3 rawspeed::PrefixCodeLUTDecoder::decode [function] [call site] 00169
4 invariant [function] [call site] 00170
4 rawspeed::AbstractPrefixCodeTranscoder::isFullDecode [function] [call site] 00171
4 implicit_cast<typename [call site] 00173
4 peekBitsNoFill [function] [call site] 00174
4 static_cast<unsigned> [function] [call site] 00177
4 static_cast<int> [function] [call site] 00178
4 skipBitsNoFill [function] [call site] 00179
4 implicit_cast<uint8_t> [function] [call site] 00180
4 implicit_cast<typename [call site] 00181
4 invariant [function] [call site] 00182
4 invariant [function] [call site] 00183
4 skipBitsNoFill [function] [call site] 00184
4 rawspeed::PrefixCodeLookupDecoder::finishReadingPartialSymbol [function] [call site] 00186
5 rawspeed::AbstractPrefixCodeTranscoder::maxCodeLength [function] [call site] 00187
5 getBitsNoFill [function] [call site] 00188
5 implicit_cast<typename [call site] 00189
5 rawspeed::AbstractPrefixCodeTranscoder::maxCodeLength [function] [call site] 00190
5 rawspeed::NORangesSet::size [function] [call site] 00195
6 rawspeed::NORangesSet::size [function] [call site] 00196
4 Base::template [call site] 00197
2 rawspeed::PrefixCodeLUTDecoder::decodeCodeValue [function] [call site] 00198
2 rawspeed::HasselbladDecompressor::getBits [function] [call site] 00199
3 rawspeed::HasselbladDecompressor::getBits [function] [call site] 00200
3 rawspeed::AbstractPrefixCodeDecoder::extend [function] [call site] 00201
4 invariant [function] [call site] 00202
4 static_cast<int32_t> [function] [call site] 00203
2 rawspeed::HasselbladDecompressor::getBits [function] [call site] 00204
2 rawspeed::BitStreamer::getStreamPosition [function] [call site] 00207
3 rawspeed::BitStreamer::establishClassInvariants [function] [call site] 00208
4 rawspeed::BitStreamer::establishClassInvariants [function] [call site] 00209
4 rawspeed::BitStreamer::establishClassInvariants [function] [call site] 00210
3 rawspeed::BitStreamer::getInputPosition [function] [call site] 00211
4 rawspeed::BitStreamer::establishClassInvariants [function] [call site] 00212
1 rawspeed::MSan::CheckMemIsInitialized [function] [call site] 00214
2 __msan_check_mem_is_initialized [function] [call site] 00215
1 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00216
2 rawspeed::RawImageData::getU16DataAsUncroppedArray2DRef [function] [call site] 00217
2 rawspeed::RawImageData::getF32DataAsUncroppedArray2DRef [function] [call site] 00218
2 __builtin_unreachable [function] [call site] 00219