Fuzz introspector: fields_fuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
35 35 6 :

['float const& std::__1::min (float const&, float const&)', 'jpegli::N_SSE4::DitherRow(jpeg_decompress_struct*, float*, int, unsigned long, unsigned long)', 'jpegli::N_SSE4::LimitError(float)', 'jpegli::LookupColorIndex(jpeg_decompress_struct*, unsigned char*)', 'round(float)', 'float const& std::__1::max (float const&, float const&)']

35 51 jpegli::N_SSE4::WriteToOutput(jpeg_decompress_struct*,float*restrict*,unsignedlong,unsignedlong,unsignedlong,unsignedchar*) call site: 00000 /src/libjxl/lib/jpegli/render.cc:203
35 35 6 :

['float const& std::__1::min (float const&, float const&)', 'jpegli::LookupColorIndex(jpeg_decompress_struct*, unsigned char*)', 'round(float)', 'float const& std::__1::max (float const&, float const&)', 'jpegli::N_SSE2::DitherRow(jpeg_decompress_struct*, float*, int, unsigned long, unsigned long)', 'jpegli::N_SSE2::LimitError(float)']

35 51 jpegli::N_SSE2::WriteToOutput(jpeg_decompress_struct*,float*restrict*,unsignedlong,unsignedlong,unsignedlong,unsignedchar*) call site: 00000 /src/libjxl/lib/jpegli/render.cc:203
35 35 6 :

['float const& std::__1::min (float const&, float const&)', 'jpegli::LookupColorIndex(jpeg_decompress_struct*, unsigned char*)', 'round(float)', 'jpegli::N_AVX2::DitherRow(jpeg_decompress_struct*, float*, int, unsigned long, unsigned long)', 'jpegli::N_AVX2::LimitError(float)', 'float const& std::__1::max (float const&, float const&)']

35 48 jpegli::N_AVX2::WriteToOutput(jpeg_decompress_struct*,float*restrict*,unsignedlong,unsignedlong,unsignedlong,unsignedchar*) call site: 00000 /src/libjxl/lib/jpegli/render.cc:203
0 4 1 :

['jpegli::FormatString(char*, char const*, ...)']

0 12 jpegli::(anonymousnamespace)::FreePool(jpeg_common_struct*,int) call site: 00000 /src/libjxl/lib/jpegli/memory_manager.cc:138
0 4 1 :

['jpegli::FormatString(char*, char const*, ...)']

0 9 jpegli::PrepareForScan(jpeg_decompress_struct*) call site: 00000 /src/libjxl/lib/jpegli/decode.cc:266
0 4 1 :

['jpegli::FormatString(char*, char const*, ...)']

0 4 jpegli_consume_input call site: 00000 /src/libjxl/lib/jpegli/decode.cc:612
0 0 None 783 1436 jpegli_start_decompress call site: 00000 /src/libjxl/lib/jpegli/decode.cc:759
0 0 None 6 504 jpegli::ConsumeInput(jpeg_decompress_struct*) call site: 00000 /src/libjxl/lib/jpegli/decode.cc:342
0 0 None 6 504 jpegli::ConsumeInput(jpeg_decompress_struct*) call site: 00000 /src/libjxl/lib/jpegli/decode.cc:366
0 0 None 5 7 hwy::(anonymousnamespace)::x86::DetectTargets() call site: 00000 /src/libjxl/third_party/highway/hwy/targets.cc:269
0 0 None 5 7 hwy::(anonymousnamespace)::x86::DetectTargets() call site: 00000 /src/libjxl/third_party/highway/hwy/targets.cc:272
0 0 None 0 628 jpegli_read_scanlines call site: 00000 /src/libjxl/lib/jpegli/decode.cc:852

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 jpegxl::tools::TestOneInput(unsigned char const*, unsigned long) [function] [call site] 00001
2 jxl::CodecMetadata::CodecMetadata() [function] [call site] 00002
3 jxl::ImageMetadata::ImageMetadata() [function] [call site] 00003
4 jxl::Fields::Fields() [function] [call site] 00004
4 jxl::BitDepth::BitDepth() [function] [call site] 00005
5 jxl::Fields::Fields() [function] [call site] 00006
5 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00007
6 jxl::(anonymous namespace)::InitVisitor::InitVisitor() [function] [call site] 00008
7 jxl::fields_internal::VisitorBase::VisitorBase() [function] [call site] 00009
8 jxl::Visitor::Visitor() [function] [call site] 00010
6 jxl::fields_internal::VisitorBase::Visit(jxl::Fields*) [function] [call site] 00011
7 jxl::Abort() [function] [call site] 00012
7 jxl::fields_internal::ExtensionStates::Push() [function] [call site] 00013
7 jxl::Status::operator bool() const [function] [call site] 00014
7 jxl::fields_internal::ExtensionStates::IsBegun() const [function] [call site] 00015
8 jxl::Status::Status(bool) [function] [call site] 00016
7 jxl::Status::operator bool() const [function] [call site] 00017
7 jxl::fields_internal::ExtensionStates::Pop() [function] [call site] 00018
7 jxl::Abort() [function] [call site] 00019
6 jxl::Status::operator bool() const [function] [call site] 00020
6 jxl::fields_internal::VisitorBase::~VisitorBase() [function] [call site] 00021
7 jxl::Abort() [function] [call site] 00022
7 jxl::Visitor::~Visitor() [function] [call site] 00023
4 jxl::ColorEncoding::ColorEncoding() [function] [call site] 00024
5 jxl::Fields::Fields() [function] [call site] 00025
5 jxl::CustomTransferFunction::CustomTransferFunction() [function] [call site] 00026
6 jxl::Fields::Fields() [function] [call site] 00027
6 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00028
5 jxl::PaddedBytes::PaddedBytes() [function] [call site] 00029
5 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00030
4 jxl::SizeHeader::SizeHeader() [function] [call site] 00031
5 jxl::Fields::Fields() [function] [call site] 00032
5 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00033
4 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00034
3 jxl::SizeHeader::SizeHeader() [function] [call site] 00035
3 jxl::Fields::~Fields() [function] [call site] 00036
3 jxl::ImageMetadata::~ImageMetadata() [function] [call site] 00037
4 jxl::Fields::~Fields() [function] [call site] 00038
4 jxl::ColorEncoding::~ColorEncoding() [function] [call site] 00039
5 jxl::Fields::~Fields() [function] [call site] 00040
5 jxl::PaddedBytes::~PaddedBytes() [function] [call site] 00041
2 jxl::Span ::Span(unsigned char const*, unsigned long) [function] [call site] 00042
2 jxl::BitReader::BitReader >(jxl::Span const&) [function] [call site] 00043
3 jxl::Span ::data() const [function] [call site] 00044
3 jxl::Span ::data() const [function] [call site] 00045
3 jxl::Span ::data() const [function] [call site] 00046
3 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00047
4 jxl::Abort() [function] [call site] 00048
4 jxl::Abort() [function] [call site] 00049
4 jxl::Abort() [function] [call site] 00050
3 jxl::Abort() [function] [call site] 00051
2 jxl::SizeHeader::SizeHeader() [function] [call site] 00052
2 jxl::ReadSizeHeader(jxl::BitReader*, jxl::SizeHeader*) [function] [call site] 00053
3 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00054
4 jxl::(anonymous namespace)::ReadVisitor::ReadVisitor(jxl::BitReader*) [function] [call site] 00055
5 jxl::fields_internal::VisitorBase::VisitorBase() [function] [call site] 00056
4 jxl::fields_internal::VisitorBase::Visit(jxl::Fields*) [function] [call site] 00057
4 jxl::Status::operator bool() const [function] [call site] 00058
4 jxl::(anonymous namespace)::ReadVisitor::OK() const [function] [call site] 00059
5 jxl::Status::Status(bool) [function] [call site] 00060
4 jxl::fields_internal::VisitorBase::~VisitorBase() [function] [call site] 00061
2 jxl::Fields::~Fields() [function] [call site] 00062
2 jxl::ImageMetadata::ImageMetadata() [function] [call site] 00063
2 jxl::ReadImageMetadata(jxl::BitReader*, jxl::ImageMetadata*) [function] [call site] 00064
3 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00065
2 jxl::ImageMetadata::~ImageMetadata() [function] [call site] 00066
2 jxl::FrameHeader::FrameHeader(jxl::CodecMetadata const*) [function] [call site] 00067
3 jxl::Fields::Fields() [function] [call site] 00068
3 jxl::YCbCrChromaSubsampling::YCbCrChromaSubsampling() [function] [call site] 00069
4 jxl::Fields::Fields() [function] [call site] 00070
4 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00071
3 jxl::AnimationFrame::AnimationFrame(jxl::CodecMetadata const*) [function] [call site] 00072
4 jxl::Fields::Fields() [function] [call site] 00073
4 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00074
3 jxl::LoopFilter::LoopFilter() [function] [call site] 00075
4 jxl::Fields::Fields() [function] [call site] 00076
4 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00077
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00078
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00079
2 jxl::FrameHeader::~FrameHeader() [function] [call site] 00080
3 jxl::Fields::~Fields() [function] [call site] 00081
2 jxl::jpeg::JPEGData::JPEGData() [function] [call site] 00082
3 jxl::Fields::Fields() [function] [call site] 00083
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00084
2 jxl::AnimationFrame::AnimationFrame(jxl::CodecMetadata const*) [function] [call site] 00085
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00086
2 jxl::Fields::~Fields() [function] [call site] 00087
2 jxl::AnimationHeader::AnimationHeader() [function] [call site] 00088
3 jxl::Fields::Fields() [function] [call site] 00089
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00090
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00091
2 jxl::Fields::~Fields() [function] [call site] 00092
2 jxl::BitDepth::BitDepth() [function] [call site] 00093
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00094
2 jxl::Fields::~Fields() [function] [call site] 00095
2 jxl::BlendingInfo::BlendingInfo() [function] [call site] 00096
3 jxl::Fields::Fields() [function] [call site] 00097
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00098
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00099
2 jxl::Fields::~Fields() [function] [call site] 00100
2 jxl::ColorEncoding::ColorEncoding() [function] [call site] 00101
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00102
2 jxl::ColorEncoding::~ColorEncoding() [function] [call site] 00103
2 jxl::CustomTransferFunction::CustomTransferFunction() [function] [call site] 00104
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00105
2 jxl::Fields::~Fields() [function] [call site] 00106
2 jxl::Customxy::Customxy() [function] [call site] 00107
3 jxl::Fields::Fields() [function] [call site] 00108
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00109
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00110
2 jxl::Fields::~Fields() [function] [call site] 00111
2 jxl::ExtraChannelInfo::ExtraChannelInfo() [function] [call site] 00112
3 jxl::Fields::Fields() [function] [call site] 00113
3 jxl::BitDepth::BitDepth() [function] [call site] 00114
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00115
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00116
2 jxl::ExtraChannelInfo::~ExtraChannelInfo() [function] [call site] 00117
3 jxl::Fields::~Fields() [function] [call site] 00118
2 jxl::GroupHeader::GroupHeader() [function] [call site] 00119
3 jxl::Fields::Fields() [function] [call site] 00120
3 jxl::weighted::Header::Header() [function] [call site] 00121
4 jxl::Fields::Fields() [function] [call site] 00122
4 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00123
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00124
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00125
2 jxl::GroupHeader::~GroupHeader() [function] [call site] 00126
3 jxl::Fields::~Fields() [function] [call site] 00127
2 jxl::weighted::Header::Header() [function] [call site] 00128
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00129
2 jxl::Fields::~Fields() [function] [call site] 00130
2 jxl::LoopFilter::LoopFilter() [function] [call site] 00131
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00132
2 jxl::Fields::~Fields() [function] [call site] 00133
2 jxl::LZ77Params::LZ77Params() [function] [call site] 00134
3 jxl::Fields::Fields() [function] [call site] 00135
3 jxl::HybridUintConfig::HybridUintConfig(unsigned int, unsigned int, unsigned int) [function] [call site] 00136
4 jxl::Abort() [function] [call site] 00137
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00138
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00139
2 jxl::Fields::~Fields() [function] [call site] 00140
2 jxl::OpsinInverseMatrix::OpsinInverseMatrix() [function] [call site] 00141
3 jxl::Fields::Fields() [function] [call site] 00142
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00143
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00144
2 jxl::Fields::~Fields() [function] [call site] 00145
2 jxl::Passes::Passes() [function] [call site] 00146
3 jxl::Fields::Fields() [function] [call site] 00147
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00148
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00149
2 jxl::Fields::~Fields() [function] [call site] 00150
2 jxl::PreviewHeader::PreviewHeader() [function] [call site] 00151
3 jxl::Fields::Fields() [function] [call site] 00152
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00153
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00154
2 jxl::Fields::~Fields() [function] [call site] 00155
2 jxl::QuantizerParams::QuantizerParams() [function] [call site] 00156
3 jxl::Fields::Fields() [function] [call site] 00157
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00158
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00159
2 jxl::Fields::~Fields() [function] [call site] 00160
2 jxl::SqueezeParams::SqueezeParams() [function] [call site] 00161
3 jxl::Fields::Fields() [function] [call site] 00162
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00163
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00164
2 jxl::Fields::~Fields() [function] [call site] 00165
2 jxl::ToneMapping::ToneMapping() [function] [call site] 00166
3 jxl::Fields::Fields() [function] [call site] 00167
3 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00168
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00169
2 jxl::Fields::~Fields() [function] [call site] 00170
2 jxl::Transform::Transform() [function] [call site] 00171
3 jxl::Transform::Transform(jxl::TransformId) [function] [call site] 00172
4 jxl::Fields::Fields() [function] [call site] 00173
4 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00174
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00175
2 jxl::YCbCrChromaSubsampling::YCbCrChromaSubsampling() [function] [call site] 00176
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00177
2 jxl::Fields::~Fields() [function] [call site] 00178
2 jxl::CustomTransformData::CustomTransformData() [function] [call site] 00179
3 jxl::OpsinInverseMatrix::OpsinInverseMatrix() [function] [call site] 00180
2 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00181
2 jxl::CustomTransformData::~CustomTransformData() [function] [call site] 00182
3 jxl::Fields::~Fields() [function] [call site] 00183
2 jxl::BitReader::Close() [function] [call site] 00184
3 jxl::Abort() [function] [call site] 00185
3 jxl::Status::Status(bool) [function] [call site] 00186
3 jxl::BitReader::TotalBitsConsumed() const [function] [call site] 00187
3 jxl::BitReader::TotalBitsConsumed() const [function] [call site] 00188
3 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00189
3 jxl::Status::Status(bool) [function] [call site] 00190
2 jxl::BitReader::~BitReader() [function] [call site] 00191
3 jxl::Abort() [function] [call site] 00192
2 jxl::CodecMetadata::~CodecMetadata() [function] [call site] 00193