Fuzz introspector: rans_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
4 10 3 :

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

4 10 jxl::AlignedMemory::Create(JxlMemoryManagerStruct*,unsignedlong) call site: 00000 /src/libjxl/lib/jxl/memory_manager_internal.cc:113
0 0 None 12 52 jxl::DecodeContextMap(JxlMemoryManagerStruct*,std::__1::vector >*,unsignedlong*,jxl::BitReader*) call site: 00000 /src/libjxl/lib/jxl/dec_context_map.cc:81
0 0 None 4 10 jxl::AlignedMemory::Create(JxlMemoryManagerStruct*,unsignedlong) call site: 00000 /src/libjxl/lib/jxl/memory_manager_internal.cc:107
0 0 None 0 14 jxl::(anonymousnamespace)::VerifyContextMap(std::__1::vector >const&,unsignedlong) call site: 00000 /src/libjxl/lib/jxl/dec_context_map.cc:27
0 0 None 0 0 jxl::AlignedMemory::operator=(jxl::AlignedMemory&&) call site: 00000 /src/libjxl/lib/jxl/memory_manager_internal.cc:149

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 (anonymous namespace)::DoTestOneInput(unsigned char const*, unsigned long) [function] [call site] 00001
2 jxl::test::MemoryManager() [function] [call site] 00002
2 jxl::Status::Status(bool) [function] [call site] 00003
2 jxl::Span<unsigned char const>::Span(unsigned char const*, unsigned long) [function] [call site] 00004
2 jxl::BitReader::BitReader<jxl::Span<unsigned char const> >(jxl::Span<unsigned char const> const&) [function] [call site] 00005
3 jxl::Span<unsigned char const>::data() const [function] [call site] 00006
3 jxl::Span<unsigned char const>::data() const [function] [call site] 00007
3 jxl::Span<unsigned char const>::data() const [function] [call site] 00008
3 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00009
4 jxl::Abort() [function] [call site] 00010
4 jxl::Abort() [function] [call site] 00011
4 jxl::Abort() [function] [call site] 00012
3 jxl::Abort() [function] [call site] 00013
2 jxl::BitReaderScopedCloser::BitReaderScopedCloser(jxl::BitReader*, jxl::Status*) [function] [call site] 00014
3 jxl::Abort() [function] [call site] 00015
3 jxl::Abort() [function] [call site] 00016
2 jxl::ANSCode::ANSCode() [function] [call site] 00017
3 jxl::AlignedMemory::AlignedMemory() [function] [call site] 00018
3 jxl::LZ77Params::LZ77Params() [function] [call site] 00019
4 jxl::Fields::Fields() [function] [call site] 00020
4 jxl::HybridUintConfig::HybridUintConfig(unsigned int, unsigned int, unsigned int) [function] [call site] 00021
5 jxl::Abort() [function] [call site] 00022
4 jxl::Bundle::Init(jxl::Fields*) [function] [call site] 00023
5 jxl::(anonymous namespace)::InitVisitor::InitVisitor() [function] [call site] 00024
6 jxl::fields_internal::VisitorBase::VisitorBase() [function] [call site] 00025
7 jxl::Visitor::Visitor() [function] [call site] 00026
5 jxl::fields_internal::VisitorBase::Visit(jxl::Fields*) [function] [call site] 00027
6 jxl::Abort() [function] [call site] 00028
6 jxl::fields_internal::ExtensionStates::Push() [function] [call site] 00029
6 jxl::Status::operator bool() const [function] [call site] 00030
6 jxl::fields_internal::ExtensionStates::IsBegun() const [function] [call site] 00031
7 jxl::Status::Status(bool) [function] [call site] 00032
6 jxl::Status::operator bool() const [function] [call site] 00033
6 jxl::fields_internal::ExtensionStates::Pop() [function] [call site] 00034
6 jxl::Abort() [function] [call site] 00035
5 jxl::Status::operator bool() const [function] [call site] 00036
5 jxl::fields_internal::VisitorBase::~VisitorBase() [function] [call site] 00037
6 jxl::Abort() [function] [call site] 00038
6 jxl::Visitor::~Visitor() [function] [call site] 00039
3 jxl::AlignedMemory::~AlignedMemory() [function] [call site] 00040
2 jxl::DecodeHistograms(JxlMemoryManagerStruct*, jxl::BitReader*, unsigned long, jxl::ANSCode*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, bool) [function] [call site] 00041
3 jxl::Bundle::Read(jxl::BitReader*, jxl::Fields*) [function] [call site] 00042
4 jxl::(anonymous namespace)::ReadVisitor::ReadVisitor(jxl::BitReader*) [function] [call site] 00043
5 jxl::fields_internal::VisitorBase::VisitorBase() [function] [call site] 00044
4 jxl::fields_internal::VisitorBase::Visit(jxl::Fields*) [function] [call site] 00045
4 jxl::Status::operator bool() const [function] [call site] 00046
4 jxl::(anonymous namespace)::ReadVisitor::OK() const [function] [call site] 00047
5 jxl::Status::Status(bool) [function] [call site] 00048
4 jxl::fields_internal::VisitorBase::~VisitorBase() [function] [call site] 00049
3 jxl::Status::operator bool() const [function] [call site] 00050
3 jxl::DecodeUintConfig(unsigned long, jxl::HybridUintConfig*, jxl::BitReader*) [function] [call site] 00051
4 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00052
4 jxl::Abort() [function] [call site] 00053
4 jxl::Abort() [function] [call site] 00054
4 jxl::Abort() [function] [call site] 00055
4 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00056
4 jxl::Abort() [function] [call site] 00057
4 jxl::Abort() [function] [call site] 00058
4 jxl::Abort() [function] [call site] 00059
4 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00060
4 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00061
4 jxl::HybridUintConfig::HybridUintConfig(unsigned int, unsigned int, unsigned int) [function] [call site] 00062
4 jxl::Status::Status(bool) [function] [call site] 00063
3 jxl::Status::operator bool() const [function] [call site] 00064
3 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00065
3 jxl::DecodeContextMap(JxlMemoryManagerStruct*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, unsigned long*, jxl::BitReader*) [function] [call site] 00066
4 jxl::Abort() [function] [call site] 00067
4 jxl::Abort() [function] [call site] 00068
4 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00069
4 jxl::Abort() [function] [call site] 00070
4 jxl::Abort() [function] [call site] 00071
4 jxl::Abort() [function] [call site] 00072
4 jxl::ANSCode::ANSCode() [function] [call site] 00073
4 jxl::DecodeHistograms(JxlMemoryManagerStruct*, jxl::BitReader*, unsigned long, jxl::ANSCode*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >*, bool) [function] [call site] 00074
5 jxl::Status::operator bool() const [function] [call site] 00075
5 jxl::Abort() [function] [call site] 00076
5 jxl::DecodeUintConfigs(unsigned long, std::__1::vector<jxl::HybridUintConfig, std::__1::allocator<jxl::HybridUintConfig> >*, jxl::BitReader*) [function] [call site] 00077
6 jxl::DecodeUintConfig(unsigned long, jxl::HybridUintConfig*, jxl::BitReader*) [function] [call site] 00078
6 jxl::Status::operator bool() const [function] [call site] 00079
6 jxl::Status::Status(bool) [function] [call site] 00080
5 jxl::Status::operator bool() const [function] [call site] 00081
5 jxl::DecodeANSCodes(JxlMemoryManagerStruct*, unsigned long, unsigned long, jxl::BitReader*, jxl::ANSCode*) [function] [call site] 00082
6 jxl::Abort() [function] [call site] 00083
6 jxl::(anonymous namespace)::DecodeVarLenUint16(jxl::BitReader*) [function] [call site] 00084
7 jxl::Abort() [function] [call site] 00085
6 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00086
6 jxl::HuffmanDecodingData::ReadFromBitStream(unsigned long, jxl::BitReader*) [function] [call site] 00087
7 jxl::Abort() [function] [call site] 00088
7 jxl::Abort() [function] [call site] 00089
7 jxl::ReadSimpleCode(unsigned long, jxl::BitReader*, jxl::HuffmanCode*)::{lambda(unsigned long, unsigned long)#1}::operator()(unsigned long, unsigned long) const [function] [call site] 00090
7 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00091
7 jxl::Abort() [function] [call site] 00092
7 jxl::Abort() [function] [call site] 00093
7 jxl::Abort() [function] [call site] 00094
7 jxl::ReadHuffmanCodeLengths(unsigned char const*, int, unsigned char*, jxl::BitReader*) [function] [call site] 00095
8 jxl::BuildHuffmanTable(jxl::HuffmanCode*, int, unsigned char const*, unsigned long, unsigned short*) [function] [call site] 00096
9 jxl::ReplicateValue(jxl::HuffmanCode*, int, int, jxl::HuffmanCode) [function] [call site] 00097
9 jxl::GetNextKey(int, int) [function] [call site] 00098
9 jxl::NextTableBitSize(unsigned short const*, unsigned long, int) [function] [call site] 00099
9 jxl::ReplicateValue(jxl::HuffmanCode*, int, int, jxl::HuffmanCode) [function] [call site] 00100
9 jxl::GetNextKey(int, int) [function] [call site] 00101
8 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00102
8 jxl::Abort() [function] [call site] 00103
8 jxl::Abort() [function] [call site] 00104
8 jxl::Abort() [function] [call site] 00105
7 jxl::BuildHuffmanTable(jxl::HuffmanCode*, int, unsigned char const*, unsigned long, unsigned short*) [function] [call site] 00106
6 jxl::BitReader::AllReadsWithinBounds() [function] [call site] 00107
7 jxl::BitReader::TotalBitsConsumed() const [function] [call site] 00108
7 jxl::BitReader::TotalBitsConsumed() const [function] [call site] 00109
7 jxl::Status::Status(bool) [function] [call site] 00110
6 jxl::Status::operator bool() const [function] [call site] 00111
6 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00112
6 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00113
6 jxl::ANSCode::UpdateMaxNumBits(unsigned long, unsigned long) [function] [call site] 00114
6 jxl::Abort() [function] [call site] 00115
6 jxl::AlignedMemory::Create(JxlMemoryManagerStruct*, unsigned long) [function] [call site] 00116
7 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00117
7 jxl::Abort() [function] [call site] 00118
7 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00119
7 jxl::AlignedMemory::AlignedMemory(JxlMemoryManagerStruct*, void*) [function] [call site] 00120
7 jxl::StatusOr<jxl::AlignedMemory>::StatusOr(jxl::AlignedMemory&&) [function] [call site] 00121
8 jxl::StatusOr<jxl::AlignedMemory>::Storage::Storage() [function] [call site] 00122
8 jxl::AlignedMemory::AlignedMemory(jxl::AlignedMemory&&) [function] [call site] 00123
6 jxl::StatusOr<jxl::AlignedMemory>::status() const [function] [call site] 00124
7 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00125
6 jxl::AliasTable::Entry* jxl::AlignedMemory::address<jxl::AliasTable::Entry>() const [function] [call site] 00126
6 jxl::(anonymous namespace)::ReadHistogram(int, std::__1::vector<int, std::__1::allocator<int> >*, jxl::BitReader*) [function] [call site] 00127
7 jxl::Abort() [function] [call site] 00128
7 jxl::(anonymous namespace)::DecodeVarLenUint8(jxl::BitReader*) [function] [call site] 00129
8 jxl::Abort() [function] [call site] 00130
7 jxl::Abort() [function] [call site] 00131
7 jxl::Status::Status(bool) [function] [call site] 00132
7 jxl::(anonymous namespace)::DecodeVarLenUint8(jxl::BitReader*) [function] [call site] 00133
7 jxl::CreateFlatHistogram(int, int) [function] [call site] 00134
8 jxl::Abort() [function] [call site] 00135
8 jxl::Abort() [function] [call site] 00136
7 jxl::Status::Status(bool) [function] [call site] 00137
7 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00138
7 jxl::(anonymous namespace)::DecodeVarLenUint8(jxl::BitReader*) [function] [call site] 00139
7 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00140
7 jxl::Abort() [function] [call site] 00141
7 jxl::Abort() [function] [call site] 00142
7 jxl::Abort() [function] [call site] 00143
7 jxl::(anonymous namespace)::DecodeVarLenUint8(jxl::BitReader*) [function] [call site] 00144
7 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00145
7 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00146
7 jxl::Abort() [function] [call site] 00147
7 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00148
7 jxl::Status::Status(bool) [function] [call site] 00149
6 jxl::Status::operator bool() const [function] [call site] 00150
6 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00151
6 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00152
6 jxl::ANSCode::UpdateMaxNumBits(unsigned long, unsigned long) [function] [call site] 00153
6 jxl::InitAliasTable(std::__1::vector<int, std::__1::allocator<int> >, unsigned int, unsigned long, jxl::AliasTable::Entry*) [function] [call site] 00154
7 jxl::Abort() [function] [call site] 00155
7 jxl::Abort() [function] [call site] 00156
6 jxl::StatusOr<jxl::AlignedMemory>::~StatusOr() [function] [call site] 00157
7 jxl::AlignedMemory::~AlignedMemory() [function] [call site] 00158
7 jxl::StatusOr<jxl::AlignedMemory>::Storage::~Storage() [function] [call site] 00159
6 jxl::Status::Status(bool) [function] [call site] 00160
5 jxl::Status::operator bool() const [function] [call site] 00161
5 jxl::Status::Status(bool) [function] [call site] 00162
4 jxl::Status::operator bool() const [function] [call site] 00163
4 jxl::ANSSymbolReader::Create(jxl::ANSCode const*, jxl::BitReader*, unsigned long) [function] [call site] 00164
5 jxl::AlignedMemory::AlignedMemory() [function] [call site] 00165
5 jxl::AlignedMemory::Create(JxlMemoryManagerStruct*, unsigned long) [function] [call site] 00166
5 jxl::StatusOr<jxl::AlignedMemory>::status() const [function] [call site] 00167
5 jxl::StatusOr<jxl::AlignedMemory>::~StatusOr() [function] [call site] 00168
5 jxl::ANSSymbolReader::ANSSymbolReader(jxl::ANSCode const*, jxl::BitReader*, unsigned long, jxl::AlignedMemory&&) [function] [call site] 00169
6 jxl::AliasTable::Entry* jxl::AlignedMemory::address<jxl::AliasTable::Entry>() const [function] [call site] 00170
6 jxl::AlignedMemory::AlignedMemory(jxl::AlignedMemory&&) [function] [call site] 00171
6 jxl::HybridUintConfig::HybridUintConfig(unsigned int, unsigned int, unsigned int) [function] [call site] 00172
6 jxl::Abort() [function] [call site] 00173
6 unsigned int* jxl::AlignedMemory::address<unsigned int>() const [function] [call site] 00174
5 jxl::StatusOr<jxl::ANSSymbolReader>::StatusOr(jxl::ANSSymbolReader&&) [function] [call site] 00175
6 jxl::ANSSymbolReader::ANSSymbolReader(jxl::ANSSymbolReader&&) [function] [call site] 00176
7 jxl::AlignedMemory::AlignedMemory(jxl::AlignedMemory&&) [function] [call site] 00177
5 jxl::ANSSymbolReader::~ANSSymbolReader() [function] [call site] 00178
5 jxl::AlignedMemory::~AlignedMemory() [function] [call site] 00179
4 jxl::StatusOr<jxl::ANSSymbolReader>::status() const [function] [call site] 00180
4 unsigned long jxl::ANSSymbolReader::ReadHybridUintClustered<true>(unsigned long, jxl::BitReader*) [function] [call site] 00181
5 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00182
5 jxl::Abort() [function] [call site] 00183
5 jxl::HuffmanDecodingData::ReadSymbol(jxl::BitReader*) const [function] [call site] 00184
6 jxl::Abort() [function] [call site] 00185
6 jxl::Abort() [function] [call site] 00186
6 jxl::Abort() [function] [call site] 00187
6 jxl::Abort() [function] [call site] 00188
5 jxl::Abort() [function] [call site] 00189
5 jxl::Abort() [function] [call site] 00190
5 jxl::Abort() [function] [call site] 00191
5 jxl::BitReader::BoundsCheckedRefill() [function] [call site] 00192
4 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00193
4 jxl::ANSSymbolReader::CheckANSFinalState() const [function] [call site] 00194
4 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00195
4 jxl::InverseMoveToFrontTransform(unsigned char*, int) [function] [call site] 00196
4 jxl::ANSSymbolReader::~ANSSymbolReader() [function] [call site] 00197
4 jxl::StatusOr<jxl::ANSSymbolReader>::~StatusOr() [function] [call site] 00198
5 jxl::ANSSymbolReader::~ANSSymbolReader() [function] [call site] 00199
4 jxl::(anonymous namespace)::VerifyContextMap(std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&, unsigned long) [function] [call site] 00200
5 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00201
5 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00202
5 jxl::Status::Status(bool) [function] [call site] 00203
2 jxl::ANSSymbolReader::Create(jxl::ANSCode const*, jxl::BitReader*, unsigned long) [function] [call site] 00204
2 jxl::StatusOr<jxl::ANSSymbolReader>::ok() const [function] [call site] 00205
2 jxl::BitReader::TotalBitsConsumed() const [function] [call site] 00206
2 unsigned long jxl::DivCeil<unsigned long, unsigned long>(unsigned long, unsigned long) [function] [call site] 00207
2 jxl::ANSSymbolReader::ReadHybridUint(unsigned long, jxl::BitReader*, std::__1::vector<unsigned char, std::__1::allocator<unsigned char> > const&) [function] [call site] 00208
3 unsigned long jxl::ANSSymbolReader::ReadHybridUintClustered<true>(unsigned long, jxl::BitReader*) [function] [call site] 00209
2 jxl::ANSSymbolReader::~ANSSymbolReader() [function] [call site] 00210
2 jxl::StatusOr<jxl::ANSSymbolReader>::~StatusOr() [function] [call site] 00211
2 jxl::BitReaderScopedCloser::~BitReaderScopedCloser() [function] [call site] 00212
3 jxl::BitReader::Close() [function] [call site] 00213
4 jxl::Abort() [function] [call site] 00214
4 jxl::Status::Status(bool) [function] [call site] 00215
4 jxl::BitReader::TotalBitsConsumed() const [function] [call site] 00216
4 jxl::BitReader::TotalBitsConsumed() const [function] [call site] 00217
4 jxl::Status::Status(jxl::StatusCode) [function] [call site] 00218
4 jxl::Status::Status(bool) [function] [call site] 00219
3 jxl::Status::operator bool() const [function] [call site] 00220
3 __clang_call_terminate [call site] 00221
4 __cxa_begin_catch [call site] 00222