Fuzz introspector: fuzz/librawspeed/decompressors/LJpegDecoder.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
250 0 EP call site: 00000 rawspeed::LJpegDecoder::decode

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 rawspeed::ByteStream::getU32 [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::getU32 [function] [call site] 00006
1 rawspeed::ByteStream::getU32 [function] [call site] 00007
1 rawspeed::ByteStream::getU32 [function] [call site] 00008
1 rawspeed::ByteStream::getU32 [function] [call site] 00009
1 rawspeed::ByteStream::getU32 [function] [call site] 00010
1 rawspeed::ByteStream::getU32 [function] [call site] 00011
1 rawspeed::RawImageData::createData [function] [call site] 00012
2 rawspeed::RawImageData::isAllocated [function] [call site] 00016
2 implicit_cast<int> [function] [call site] 00019
2 static_cast<size_t> [function] [call site] 00021
2 isAligned [function] [call site] 00023
2 __has_feature [function] [call site] 00024
2 isAligned [function] [call site] 00026
2 __has_feature [function] [call site] 00027
2 static_cast<size_t> [function] [call site] 00030
2 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00031
3 rawspeed::RawImageData::getU16DataAsUncroppedArray2DRef [function] [call site] 00032
4 reinterpret_cast<uint16_t*> [function] [call site] 00036
4 static_cast<int> [function] [call site] 00038
3 rawspeed::RawImageData::getF32DataAsUncroppedArray2DRef [function] [call site] 00039
4 reinterpret_cast<float*> [function] [call site] 00043
4 static_cast<int> [function] [call site] 00045
3 __builtin_unreachable [function] [call site] 00046
2 isAligned [function] [call site] 00048
2 rawspeed::RawImageData::poisonPadding [function] [call site] 00050
3 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00051
3 rawspeed::ASan::PoisonMemoryRegion [function] [call site] 00052
4 __asan_poison_memory_region [function] [call site] 00053
1 rawspeed::LJpegDecoder::decode [function] [call site] 00055
2 static_cast<unsigned> [function] [call site] 00056
2 static_cast<unsigned> [function] [call site] 00058
2 static_cast<unsigned> [function] [call site] 00060
2 static_cast<unsigned> [function] [call site] 00062
2 static_cast<unsigned> [function] [call site] 00064
2 static_cast<unsigned> [function] [call site] 00066
2 rawspeed::iPoint2D::hasPositiveArea [function] [call site] 00068
3 rawspeed::iPoint2D::iPoint2D [function] [call site] 00069
2 implicit_cast<unsigned> [function] [call site] 00070
2 implicit_cast<unsigned> [function] [call site] 00071
2 rawspeed::AbstractLJpegDecoder::decodeSOI [function] [call site] 00073
3 rawspeed::AbstractLJpegDecoder::getNextMarker [function] [call site] 00074
4 advanceToNextMarker [function] [call site] 00075
4 peekMarker [function] [call site] 00077
4 skipBytes [function] [call site] 00078
3 rawspeed::AbstractLJpegDecoder::getNextMarker [function] [call site] 00080
3 getStream [function] [call site] 00081
3 rawspeed::ByteStream::skipBytes [function] [call site] 00083
4 rawspeed::ByteStream::check [function] [call site] 00084
5 getSubView [function] [call site] 00087
5 rawspeed::Buffer::getSize [function] [call site] 00089
5 rawspeed::ASan::RegionIsPoisoned [function] [call site] 00091
6 const_cast<void*> [function] [call site] 00092
6 __asan_region_is_poisoned [function] [call site] 00093
5 rawspeed::Buffer::begin [function] [call site] 00094
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00095
7 implicit_cast<int> [function] [call site] 00096
5 rawspeed::Buffer::getSize [function] [call site] 00097
3 rawspeed::AbstractLJpegDecoder::parseDHT [function] [call site] 00099
4 rawspeed::ByteStream::getRemainSize [function] [call site] 00100
5 invariant [function] [call site] 00101
5 rawspeed::ByteStream::check [function] [call site] 00103
4 rawspeed::ByteStream::getByte [function] [call site] 00105
5 rawspeed::ByteStream::get [function] [call site] 00106
4 rawspeed::HuffmanCode::setNCodesPerLength [function] [call site] 00111
5 invariant [function] [call site] 00112
5 rawspeed::Buffer::getSize [function] [call site] 00113
5 std::copy [function] [call site] 00115
5 rawspeed::Buffer::begin [function] [call site] 00116
5 rawspeed::Buffer::end [function] [call site] 00117
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00118
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00127
5 invariant [function] [call site] 00131
4 rawspeed::ByteStream::getBuffer [function] [call site] 00136
5 rawspeed::ByteStream::peekBuffer [function] [call site] 00137
6 getSubView [function] [call site] 00138
4 rawspeed::ByteStream::getBuffer [function] [call site] 00140
4 rawspeed::HuffmanCode::setCodeValues [function] [call site] 00141
5 invariant [function] [call site] 00142
5 rawspeed::NORangesSet::size [function] [call site] 00143
6 rawspeed::NORangesSet::size [function] [call site] 00144
7 rawspeed::NORangesSet::size [function] [call site] 00145
5 invariant [function] [call site] 00146
5 static_cast<unsigned> [function] [call site] 00147
5 rawspeed::NORangesSet::size [function] [call site] 00148
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00149
5 rawspeed::HuffmanCode::codeValues::clear [function] [call site] 00150
5 rawspeed::HuffmanCode::codeValues::reserve [function] [call site] 00151
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00152
5 std::copy [function] [call site] 00153
5 rawspeed::Buffer::begin [function] [call site] 00154
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00155
5 rawspeed::Buffer::end [function] [call site] 00156
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00157
5 std::back_inserter [function] [call site] 00158
5 rawspeed::NORangesSet::size [function] [call site] 00160
6 rawspeed::NORangesSet::size [function] [call site] 00161
5 rawspeed::HuffmanCode::maxCodesCount [function] [call site] 00162
4 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00164
5 implicit_cast<int> [function] [call site] 00165
4 emplace_back [function] [call site] 00171
4 std::make_unique<decltype(hc)> [function] [call site] 00172
4 std::make_unique<PrefixCodeDecoder<>> [function] [call site] 00173
4 std::move [function] [call site] 00174
4 rawspeed::DngOpcodes::DngOpcode::setup [function] [call site] 00175
5 getImageCropAsRectangle [function] [call site] 00177
4 rawspeed::Buffer::get [function] [call site] 00178
5 rawspeed::Buffer::getSubView [function] [call site] 00179
6 rawspeed::Buffer::isValid [function] [call site] 00180
7 static_cast<uint64_t> [function] [call site] 00181
7 static_cast<uint64_t> [function] [call site] 00182
7 rawspeed::Buffer::getSize [function] [call site] 00183
6 rawspeed::Buffer::getAsArray1DRef [function] [call site] 00185
5 static_cast<size_type> [function] [call site] 00186
5 static_cast<size_type> [function] [call site] 00187
5 getByteSwapped<T> [function] [call site] 00188
5 rawspeed::Buffer::begin [function] [call site] 00189
4 emplace_back [function] [call site] 00190
4 std::move [function] [call site] 00191
3 rawspeed::AbstractLJpegDecoder::parseSOF [function] [call site] 00194
4 rawspeed::ByteStream::getByte [function] [call site] 00195
4 rawspeed::ByteStream::getU16 [function] [call site] 00196
5 rawspeed::ByteStream::get [function] [call site] 00197
4 rawspeed::ByteStream::getU16 [function] [call site] 00198
4 rawspeed::ByteStream::getByte [function] [call site] 00199
4 static_cast<uint32_t> [function] [call site] 00206
4 rawspeed::ByteStream::getRemainSize [function] [call site] 00208
4 rawspeed::ByteStream::getByte [function] [call site] 00210
4 rawspeed::ByteStream::getByte [function] [call site] 00211
4 rawspeed::ByteStream::getByte [function] [call site] 00214
4 static_cast<int> [function] [call site] 00216
4 static_cast<int> [function] [call site] 00217
3 rawspeed::AbstractLJpegDecoder::parseSOS [function] [call site] 00222
4 invariant [function] [call site] 00223
4 rawspeed::ByteStream::getRemainSize [function] [call site] 00224
4 rawspeed::ByteStream::getByte [function] [call site] 00226
4 rawspeed::ByteStream::getByte [function] [call site] 00228
4 rawspeed::ByteStream::getByte [function] [call site] 00229
4 rawspeed::ByteStream::getByte [function] [call site] 00233
4 rawspeed::ByteStream::getByte [function] [call site] 00235
4 rawspeed::ByteStream::getByte [function] [call site] 00237
4 decodeScan [function] [call site] 00240
4 skipBytes [function] [call site] 00241
3 rawspeed::AbstractLJpegDecoder::erratumImplicitEOIMarkerAfterScan [function] [call site] 00242
3 rawspeed::AbstractLJpegDecoder::parseDRI [function] [call site] 00245
4 rawspeed::ByteStream::getRemainSize [function] [call site] 00246
4 rawspeed::ByteStream::getU16 [function] [call site] 00248
1 rawspeed::iPoint2D::iPoint2D [function] [call site] 00250