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
0 6 2 :

['jxl::Status::Status(jxl::StatusCode)', 'jxl::StatusMessage(jxl::Status, char const*, ...)']

0 6 jxl::cms::CustomTransferFunction::SetGamma(double) call site: 00000 /src/libjxl/lib/jxl/cms/color_encoding_cms.h:251
0 6 2 :

['jxl::Status::Status(jxl::StatusCode)', 'jxl::StatusMessage(jxl::Status, char const*, ...)']

0 6 jxl::BitReader::Close() call site: 00000 /src/libjxl/lib/jxl/dec_bit_reader.h:256
0 4 1 :

['jxl::Status::Status(jxl::StatusCode)']

0 6 jxl::PrimariesToXYZ(float,float,float,float,float,float,float,float,std::__1::array ,3ul>&) call site: 00000 /src/libjxl/lib/jxl/cms/jxl_cms_internal.h:46
0 0 2 :

['std::__1::vector >::empty[abi:v180000]() const', 'std::__1::vector >::back[abi:v180000]()']

14 694 jxl::jpeg::JPEGData::VisitFields(jxl::Visitor*) call site: 00000 /src/libjxl/lib/jxl/jpeg/jpeg_data.cc:67
0 0 None 2 20 jxl::jpeg::JPEGData::VisitFields(jxl::Visitor*) call site: 00000 /src/libjxl/lib/jxl/jpeg/jpeg_data.cc:361
0 0 None 0 310 jxl::FrameHeader::VisitFields(jxl::Visitor*) call site: 00000 /src/libjxl/lib/jxl/frame_header.cc:229
0 0 None 0 30 jxl::BlendingInfo::VisitFields(jxl::Visitor*) call site: 00000 /src/libjxl/lib/jxl/frame_header.cc:62
0 0 None 0 13 jxl::FrameHeader::default_xsize()const call site: 00000 /src/libjxl/lib/jxl/frame_header.h:450
0 0 None 0 8 jxl::AdaptToXYZD50(float,float,std::__1::array ,3ul>&) call site: 00000 /src/libjxl/lib/jxl/cms/jxl_cms_internal.h:104
0 0 None 0 6 jxl::jpeg::JPEGData::VisitFields(jxl::Visitor*) call site: 00000 /src/libjxl/lib/jxl/jpeg/jpeg_data.cc:140
0 0 None 0 6 jxl::jpeg::JPEGData::VisitFields(jxl::Visitor*) call site: 00000 /src/libjxl/lib/jxl/jpeg/jpeg_data.cc:349
0 0 None 0 4 jxl::FrameHeader::default_ysize()const call site: 00000 /src/libjxl/lib/jxl/frame_header.h:458

Fuzzer calltree

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