Fuzz introspector: fuzz/librawspeed/decompressors/VC5Decompressor.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
170 0 EP call site: 00000 rawspeed::VC5Decompressor::decode
5 171 LLVMFuzzerTestOneInput call site: 00171 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 CreateCFA [function] [call site] 00002
2 rawspeed::iPoint2D::hasPositiveArea [function] [call site] 00005
3 rawspeed::iPoint2D::iPoint2D [function] [call site] 00006
2 rawspeed::ColorFilterArray::ColorFilterArray [function] [call site] 00008
2 rawspeed::implicit_cast<rawspeed::Buffer::size_type> [function] [call site] 00024
2 rawspeed::iPoint2D::area [function] [call site] 00025
3 static_cast<signed_area> [function] [call site] 00027
3 static_cast<signed_area> [function] [call site] 00029
2 static_cast<uint32_t> [function] [call site] 00031
2 rawspeed::ColorFilterArray::setColorAt [function] [call site] 00033
3 static_cast<size_t> [function] [call site] 00036
2 rawspeed::iPoint2D::iPoint2D [function] [call site] 00037
2 static_cast<rawspeed::CFAColor> [function] [call site] 00038
1 rawspeed::ByteStream::getI32 [function] [call site] 00039
2 rawspeed::ByteStream::get [function] [call site] 00040
3 rawspeed::ByteStream::peek [function] [call site] 00041
4 DataBuffer::get<T> [function] [call site] 00042
1 rawspeed::ByteStream::getU32 [function] [call site] 00043
2 rawspeed::ByteStream::get [function] [call site] 00044
1 rawspeed::ByteStream::getU32 [function] [call site] 00045
1 rawspeed::ByteStream::getU32 [function] [call site] 00046
1 rawspeed::ByteStream::getU32 [function] [call site] 00047
1 rawspeed::RawImageData::createData [function] [call site] 00048
2 rawspeed::RawImageData::isAllocated [function] [call site] 00052
2 implicit_cast<int> [function] [call site] 00055
2 static_cast<size_t> [function] [call site] 00057
2 isAligned [function] [call site] 00059
2 __has_feature [function] [call site] 00060
2 isAligned [function] [call site] 00062
2 __has_feature [function] [call site] 00063
2 static_cast<size_t> [function] [call site] 00066
2 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00067
3 rawspeed::RawImageData::getU16DataAsUncroppedArray2DRef [function] [call site] 00068
4 reinterpret_cast<uint16_t*> [function] [call site] 00072
4 static_cast<int> [function] [call site] 00074
3 rawspeed::RawImageData::getF32DataAsUncroppedArray2DRef [function] [call site] 00075
4 reinterpret_cast<float*> [function] [call site] 00079
4 static_cast<int> [function] [call site] 00081
3 __builtin_unreachable [function] [call site] 00082
2 isAligned [function] [call site] 00084
2 rawspeed::RawImageData::poisonPadding [function] [call site] 00086
3 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00087
3 rawspeed::ASan::PoisonMemoryRegion [function] [call site] 00088
4 __asan_poison_memory_region [function] [call site] 00089
1 rawspeed::VC5Decompressor::decode [function] [call site] 00091
2 rawspeed::VC5Decompressor::initPrefixCodeDecoder [function] [call site] 00094
3 std::vector::reserve [function] [call site] 00095
3 std::vector::emplace_back [function] [call site] 00096
3 std::vector::reserve [function] [call site] 00097
3 decompand [function] [call site] 00098
4 std::numeric_limits<int16_t>::max [function] [call site] 00099
4 std::numeric_limits<int16_t>::max [function] [call site] 00100
4 std::numeric_limits<int16_t>::min [function] [call site] 00101
4 std::numeric_limits<int16_t>::min [function] [call site] 00102
4 rawspeed::implicit_cast<int16_t> [function] [call site] 00103
3 rawspeed::RAWSPEED_READNONE::isIntN [function] [call site] 00105
4 invariant [function] [call site] 00106
4 nBits [call site] 00107
4 static_cast<UnsignedT> [function] [call site] 00108
3 rawspeed::RAWSPEED_READNONE::isIntN [function] [call site] 00110
3 std::vector::emplace_back [function] [call site] 00111
3 std::move [function] [call site] 00113
2 rawspeed::VC5Decompressor::initVC5LogTable [function] [call site] 00115
3 implicit_cast<double> [function] [call site] 00117
3 std::numeric_limits<uint16_t>::max [function] [call site] 00118
3 denormalizeY [function] [call site] 00119
3 normalizedCurve [function] [call site] 00120
3 normalizeI [function] [call site] 00121
3 static_cast<unsigned [call site] 00122
2 rawspeed::VC5Decompressor::decodeThread [function] [call site] 00124
3 rawspeed::VC5Decompressor::createWaveletBandDecodingTasks [function] [call site] 00125
4 createDecodingTasks [function] [call site] 00126
4 static_cast<ErrorLog&> [function] [call site] 00127
4 readValue [function] [call site] 00128
3 readValue [function] [call site] 00129
3 rawspeed::VC5Decompressor::combineFinalLowpassBands [function] [call site] 00130
4 rawspeed::VC5Decompressor::combineFinalLowpassBandsImpl [function] [call site] 00131
5 getU16DataAsUncroppedArray2DRef [function] [call site] 00132
5 rawspeed::Array2DRef<T>::width [function] [call site] 00133
6 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00134
7 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00135
7 invariant [function] [call site] 00136
7 invariant [function] [call site] 00137
7 invariant [function] [call site] 00138
7 invariant [function] [call site] 00139
7 invariant [function] [call site] 00140
7 invariant [function] [call site] 00141
7 invariant [function] [call site] 00142
5 rawspeed::Array2DRef<T>::height [function] [call site] 00144
6 rawspeed::Array2DRef<T>::establishClassInvariants [function] [call site] 00145
5 rawspeed::Optional::has_value [function] [call site] 00147
6 rawspeed::Optional::has_value [function] [call site] 00148
7 rawspeed::Optional::has_value [function] [call site] 00149
5 rawspeed::Optional::has_value [function] [call site] 00150
5 rawspeed::Optional::has_value [function] [call site] 00151
5 rawspeed::Optional::has_value [function] [call site] 00152
5 lowbands0 [function] [call site] 00153
5 lowbands1 [function] [call site] 00154
5 lowbands2 [function] [call site] 00155
5 lowbands3 [function] [call site] 00156
5 applyStablePhaseShift [function] [call site] 00157
5 std::array::data [function] [call site] 00158
5 rawspeed::Array2DRef<T>::height [function] [call site] 00159
5 rawspeed::Array2DRef<T>::width [function] [call site] 00160
5 static_cast<uint16_t> [function] [call site] 00162
4 rawspeed::VC5Decompressor::combineFinalLowpassBandsImpl [function] [call site] 00164
4 __builtin_unreachable [function] [call site] 00165
2 isTooManyErrors [function] [call site] 00166
2 std::string::c_str [function] [call site] 00169
1 rawspeed::MSan::CheckMemIsInitialized [function] [call site] 00171
2 __msan_check_mem_is_initialized [function] [call site] 00172
1 rawspeed::RawImageData::getByteDataAsUncroppedArray2DRef [function] [call site] 00173
2 rawspeed::RawImageData::getU16DataAsUncroppedArray2DRef [function] [call site] 00174
2 rawspeed::RawImageData::getF32DataAsUncroppedArray2DRef [function] [call site] 00175
2 __builtin_unreachable [function] [call site] 00176