Fuzz introspector: fuzz/librawspeed/decompressors/LJpegDecompressor.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
161 123 LLVMFuzzerTestOneInput call site: 00123 rawspeed::LJpegDecompressor::decode
83 16 LLVMFuzzerTestOneInput call site: 00016 createHuffmanPrefixCodeDecoderImpl
14 103 LLVMFuzzerTestOneInput call site: 00103 ThrowIOE
10 0 EP call site: 00000
2 11 LLVMFuzzerTestOneInput call site: 00011

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 rawspeed::ByteStream::getI32 [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 rawspeed::ByteStream::getI32 [function] [call site] 00006
1 rawspeed::ByteStream::getI32 [function] [call site] 00007
1 rawspeed::ByteStream::getI32 [function] [call site] 00008
1 rawspeed::iPoint2D::iPoint2D [function] [call site] 00009
1 rawspeed::iPoint2D::iPoint2D [function] [call site] 00010
1 rawspeed::ByteStream::getU32 [function] [call site] 00011
2 rawspeed::ByteStream::get [function] [call site] 00012
1 rawspeed::ByteStream::getU32 [function] [call site] 00013
1 std::generate_n [function] [call site] 00014
1 std::back_inserter [function] [call site] 00015
1 createPrefixCodeDecoder [function] [call site] 00016
2 rawspeed::Optional::Optional [function] [call site] 00017
2 createHuffmanPrefixCodeDecoderImpl [function] [call site] 00019
3 createHuffmanCode [function] [call site] 00020
4 rawspeed::HuffmanCode::HuffmanCode [function] [call site] 00021
4 rawspeed::HuffmanCode::setNCodesPerLength [function] [call site] 00022
5 invariant [function] [call site] 00023
5 rawspeed::Buffer::getSize [function] [call site] 00024
5 std::copy [function] [call site] 00026
5 rawspeed::Buffer::begin [function] [call site] 00027
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00028
7 implicit_cast<int> [function] [call site] 00029
5 rawspeed::Buffer::end [function] [call site] 00030
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00031
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00040
5 invariant [function] [call site] 00044
4 getBuffer [function] [call site] 00049
4 getStream [function] [call site] 00050
4 getCodeValues [function] [call site] 00051
5 std::vector::reserve [function] [call site] 00052
5 std::generate_n [function] [call site] 00053
5 std::back_inserter [function] [call site] 00054
5 std::vector::size [function] [call site] 00058
4 rawspeed::HuffmanCode::setCodeValues [function] [call site] 00059
5 invariant [function] [call site] 00060
5 rawspeed::NORangesSet::size [function] [call site] 00061
6 rawspeed::NORangesSet::size [function] [call site] 00062
7 rawspeed::NORangesSet::size [function] [call site] 00063
5 invariant [function] [call site] 00064
5 static_cast<unsigned> [function] [call site] 00065
5 rawspeed::NORangesSet::size [function] [call site] 00066
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00067
5 rawspeed::HuffmanCode::codeValues::clear [function] [call site] 00068
5 rawspeed::HuffmanCode::codeValues::reserve [function] [call site] 00069
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00070
5 std::copy [function] [call site] 00071
5 rawspeed::Buffer::begin [function] [call site] 00072
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00073
5 rawspeed::Buffer::end [function] [call site] 00074
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00075
5 std::back_inserter [function] [call site] 00076
5 rawspeed::NORangesSet::size [function] [call site] 00078
6 rawspeed::NORangesSet::size [function] [call site] 00079
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00080
4 rawspeed::Array1DRef<const [call site] 00082
4 rawspeed_test::Pattern<BitStreamerMSB16, [call site] 00083
5 GenOnesBE [function] [call site] 00084
4 rawspeed::implicit_cast<rawspeed::Buffer::size_type> [function] [call site] 00085
4 rawspeed::NORangesSet::size [function] [call site] 00086
5 rawspeed::NORangesSet::size [function] [call site] 00087
3 std::move [function] [call site] 00089
2 createSimplePrefixCodeDecoderImpl [function] [call site] 00090
2 rawspeed::DngOpcodes::DngOpcode::setup [function] [call site] 00094
3 getImageCropAsRectangle [function] [call site] 00096
2 std::move [function] [call site] 00097
1 std::generate_n [function] [call site] 00098
1 std::back_inserter [function] [call site] 00099
1 rawspeed::ByteStream::getU32 [function] [call site] 00100
1 std::vector::size [function] [call site] 00101
1 rawspeed::ByteStream::check [function] [call site] 00103
2 getSubView [function] [call site] 00106
2 rawspeed::Buffer::getSize [function] [call site] 00108
2 rawspeed::ASan::RegionIsPoisoned [function] [call site] 00110
3 const_cast<void*> [function] [call site] 00111
3 __asan_region_is_poisoned [function] [call site] 00112
2 rawspeed::Buffer::begin [function] [call site] 00113
2 rawspeed::Buffer::getSize [function] [call site] 00114
1 std::vector::reserve [function] [call site] 00115
1 std::generate_n [function] [call site] 00116
1 std::back_inserter [function] [call site] 00117
1 rawspeed::ByteStream::get [function] [call site] 00118
1 std::vector::reserve [function] [call site] 00119
1 std::generate_n [function] [call site] 00120
1 std::back_inserter [function] [call site] 00121
1 rawspeed::implicit_cast<int> [function] [call site] 00122
1 std::vector::size [function] [call site] 00123
1 rawspeed::ByteStream::getI32 [function] [call site] 00124
1 rawspeed::iRectangle2D::iRectangle2D [function] [call site] 00125
1 rawspeed::ByteStream::getSubStream [function] [call site] 00126
2 rawspeed::ByteStream::ByteStream [function] [call site] 00127
2 DataBuffer [function] [call site] 00128
2 getSubView [function] [call site] 00129
2 getByteOrder [function] [call site] 00130
1 rawspeed::RawImageData::createData [function] [call site] 00131
2 rawspeed::RawImageData::isAllocated [function] [call site] 00135
2 implicit_cast<int> [function] [call site] 00138
2 static_cast<size_t> [function] [call site] 00140
2 isAligned [function] [call site] 00142
2 __has_feature [function] [call site] 00143
2 isAligned [function] [call site] 00145
2 __has_feature [function] [call site] 00146
2 static_cast<size_t> [function] [call site] 00149
2 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00150
3 rawspeed::RawImageData::getU16DataAsUncroppedArray2DRef [function] [call site] 00151
4 reinterpret_cast<uint16_t*> [function] [call site] 00155
4 static_cast<int> [function] [call site] 00157
3 rawspeed::RawImageData::getF32DataAsUncroppedArray2DRef [function] [call site] 00158
4 reinterpret_cast<float*> [function] [call site] 00162
4 static_cast<int> [function] [call site] 00164
3 __builtin_unreachable [function] [call site] 00165
2 isAligned [function] [call site] 00167
2 rawspeed::RawImageData::poisonPadding [function] [call site] 00169
3 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00170
3 rawspeed::ASan::PoisonMemoryRegion [function] [call site] 00171
4 __asan_poison_memory_region [function] [call site] 00172
1 rawspeed::LJpegDecompressor::decode [function] [call site] 00174
2 rawspeed::iPoint2D::area [function] [call site] 00175
3 static_cast<signed_area> [function] [call site] 00177
3 static_cast<signed_area> [function] [call site] 00179
2 rawspeed::LJpegDecompressor::decodeN [function] [call site] 00180
3 invariant [function] [call site] 00181
3 invariant [function] [call site] 00182
3 hasPositiveArea [function] [call site] 00183
3 invariant [function] [call site] 00184
3 CroppedArray2DRef [function] [call site] 00186
3 getU16DataAsUncroppedArray2DRef [function] [call site] 00187
3 rawspeed::LJpegDecompressor::getPrefixCodeDecoders [function] [call site] 00190
4 rawspeed::LJpegDecompressor::getPrefixCodeDecodersImpl [function] [call site] 00191
5 std::cref [function] [call site] 00192
3 invariant [function] [call site] 00193
3 implicit_cast<int> [function] [call site] 00194
3 roundUpDivisionSafe [function] [call site] 00195
3 invariant [function] [call site] 00196
3 invariant [function] [call site] 00197
3 rawspeed::LJpegDecompressor::getInitialPreds [function] [call site] 00198
4 std::transform [function] [call site] 00199
4 std::array::begin [function] [call site] 00202
3 Array2DRef [function] [call site] 00203
3 rawspeed_test::Pattern<BitStreamerMSB16, [call site] 00204
3 peekMarker [function] [call site] 00205
3 getRestartMarkerNumber [function] [call site] 00207
3 rawspeed::ByteStream::skipBytes [function] [call site] 00210
4 rawspeed::ByteStream::check [function] [call site] 00211
3 rawspeed::ByteStream::peekRemainingBuffer [function] [call site] 00212
4 getSubView [function] [call site] 00213
4 rawspeed::ByteStream::getRemainSize [function] [call site] 00214
5 invariant [function] [call site] 00215
5 rawspeed::ByteStream::check [function] [call site] 00217
3 invariant [function] [call site] 00219
3 invariant [function] [call site] 00220
3 invariant [function] [call site] 00221
3 CroppedArray2DRef [function] [call site] 00222
3 rawspeed::Array2DRef<T>::width [function] [call site] 00223
4 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00224
5 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00225
5 invariant [function] [call site] 00226
5 invariant [function] [call site] 00227
5 invariant [function] [call site] 00228
5 invariant [function] [call site] 00229
5 invariant [function] [call site] 00230
5 invariant [function] [call site] 00231
5 invariant [function] [call site] 00232
3 rawspeed::LJpegDecompressor::decodeRowN [function] [call site] 00234
4 invariant [function] [call site] 00235
4 invariant [function] [call site] 00237
4 rawspeed::Array2DRef<T>::width [function] [call site] 00238
5 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00239
4 invariant [function] [call site] 00240
4 rawspeed::Array2DRef<T>::height [function] [call site] 00241
5 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00242
4 invariant [function] [call site] 00243
4 rawspeed::Array2DRef<T>::width [function] [call site] 00244
5 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00245
4 invariant [function] [call site] 00246
4 rawspeed::Array2DRef<T>::height [function] [call site] 00247
5 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00248
4 CroppedArray2DRef [function] [call site] 00249
4 static_cast<const [call site] 00251
4 decodeDifference [function] [call site] 00252
4 invariant [function] [call site] 00254
4 invariant [function] [call site] 00255
4 invariant [function] [call site] 00256
4 static_cast<const [call site] 00258
4 decodeDifference [function] [call site] 00259
4 rawspeed::Array2DRef<T>::width [function] [call site] 00260
4 outStripe [function] [call site] 00261
4 static_cast<const [call site] 00262
4 decodeDifference [function] [call site] 00263
3 CroppedArray2DRef [function] [call site] 00264
3 rawspeed::ByteStream::skipBytes [function] [call site] 00265
3 rawspeed::BitStreamerJPEG::getStreamPosition [function] [call site] 00266
4 getInputPosition [function] [call site] 00268
3 rawspeed::ByteStream::getPosition [function] [call site] 00269
4 invariant [function] [call site] 00270
4 rawspeed::ByteStream::check [function] [call site] 00272
2 rawspeed::LJpegDecompressor::decodeN [function] [call site] 00273
2 rawspeed::LJpegDecompressor::decodeN [function] [call site] 00274
2 rawspeed::LJpegDecompressor::decodeN [function] [call site] 00275
2 rawspeed::LJpegDecompressor::decodeN [function] [call site] 00276
2 __builtin_unreachable [function] [call site] 00277
2 __builtin_unreachable [function] [call site] 00278
1 rawspeed::MSan::CheckMemIsInitialized [function] [call site] 00279
2 __msan_check_mem_is_initialized [function] [call site] 00280
1 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00281
2 rawspeed::RawImageData::getU16DataAsUncroppedArray2DRef [function] [call site] 00282
2 rawspeed::RawImageData::getF32DataAsUncroppedArray2DRef [function] [call site] 00283
2 __builtin_unreachable [function] [call site] 00284