Fuzz introspector: convert_woff2ttf_fuzzer_new_entry
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 0 None 8 885 woff2::ConvertWOFF2ToTTF(unsignedcharconst*,unsignedlong,woff2::WOFF2Out*) call site: 00000 /src/woff2/src/woff2_dec.cc:1364
0 0 None 3 1393 BrotliDecoderDecompressStream call site: 00131 /src/woff2/brotli/c/dec/decode.c:2087
0 0 None 0 2 BrotliDecoderDecompressStream call site: 00131 /src/woff2/brotli/c/dec/decode.c:2019
0 0 None 0 0 BrotliEnsureRingBuffer call site: 00085 /src/woff2/brotli/c/dec/decode.c:1315
0 0 None 0 0 woff2::Buffer::Read(unsignedchar*,unsignedlong) call site: 00000 /src/woff2/./src/./buffer.h:70
0 0 None 0 0 unsignedlongwoff2::Round4 (unsignedlong) call site: 00000 /src/woff2/./src/./round.h:19
0 0 None 0 0 unsignedintwoff2::Round4 (unsignedint) call site: 00000 /src/woff2/./src/./round.h:19
0 0 None 0 0 woff2::WOFF2StringOut::Write(voidconst*,unsignedlong,unsignedlong) call site: 00000 /src/woff2/src/woff2_out.cc:21

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 woff2::ComputeWOFF2FinalSize(unsigned char const*, unsigned long) [function] [call site] 00001
2 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00002
2 woff2::Buffer::Skip(unsigned long) [function] [call site] 00003
3 woff2::Buffer::Read(unsigned char*, unsigned long) [function] [call site] 00004
2 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00005
3 ntohl [call site] 00006
1 woff2::WOFF2StringOut::WOFF2StringOut(std::__1::basic_string , std::__1::allocator >*) [function] [call site] 00007
2 woff2::WOFF2Out::WOFF2Out() [function] [call site] 00008
1 woff2::ConvertWOFF2ToTTF(unsigned char const*, unsigned long, woff2::WOFF2Out*) [function] [call site] 00009
2 woff2::(anonymous namespace)::RebuildMetadata::RebuildMetadata() [function] [call site] 00010
2 woff2::(anonymous namespace)::WOFF2Header::WOFF2Header() [function] [call site] 00011
2 woff2::(anonymous namespace)::ReadWOFF2Header(unsigned char const*, unsigned long, woff2::(anonymous namespace)::WOFF2Header*) [function] [call site] 00012
3 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00013
3 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00014
3 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00015
3 woff2::Buffer::ReadU16(unsigned short*) [function] [call site] 00016
4 ntohs [call site] 00017
3 woff2::Buffer::Skip(unsigned long) [function] [call site] 00018
3 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00019
3 woff2::Buffer::Skip(unsigned long) [function] [call site] 00020
3 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00021
3 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00022
3 woff2::(anonymous namespace)::ReadTableDirectory(woff2::Buffer*, std::__1::vector >*, unsigned long) [function] [call site] 00023
4 woff2::Buffer::ReadU8(unsigned char*) [function] [call site] 00024
4 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00025
4 woff2::ReadBase128(woff2::Buffer*, unsigned int*) [function] [call site] 00026
5 woff2::Buffer::ReadU8(unsigned char*) [function] [call site] 00027
4 woff2::ReadBase128(woff2::Buffer*, unsigned int*) [function] [call site] 00028
3 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00029
3 woff2::Read255UShort(woff2::Buffer*, unsigned int*) [function] [call site] 00030
4 woff2::Buffer::ReadU8(unsigned char*) [function] [call site] 00031
4 woff2::Buffer::ReadU16(unsigned short*) [function] [call site] 00032
4 woff2::Buffer::ReadU8(unsigned char*) [function] [call site] 00033
4 woff2::Buffer::ReadU8(unsigned char*) [function] [call site] 00034
3 woff2::Read255UShort(woff2::Buffer*, unsigned int*) [function] [call site] 00035
3 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00036
3 woff2::Read255UShort(woff2::Buffer*, unsigned int*) [function] [call site] 00037
3 woff2::(anonymous namespace)::ComputeOffsetToFirstTable(woff2::(anonymous namespace)::WOFF2Header const&) [function] [call site] 00038
4 woff2::CollectionHeaderSize(unsigned int, unsigned int) [function] [call site] 00039
3 woff2::Buffer::offset() const [function] [call site] 00040
3 unsigned long woff2::Round4 (unsigned long) [function] [call site] 00041
3 unsigned int woff2::Round4 (unsigned int) [function] [call site] 00042
3 unsigned int woff2::Round4 (unsigned int) [function] [call site] 00043
3 unsigned long woff2::Round4 (unsigned long) [function] [call site] 00044
2 woff2::(anonymous namespace)::WriteHeaders(unsigned char const*, unsigned long, woff2::(anonymous namespace)::RebuildMetadata*, woff2::(anonymous namespace)::WOFF2Header*, woff2::WOFF2Out*) [function] [call site] 00045
3 woff2::(anonymous namespace)::ComputeOffsetToFirstTable(woff2::(anonymous namespace)::WOFF2Header const&) [function] [call site] 00046
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00047
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00048
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00049
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00050
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00051
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00052
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00053
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00054
3 woff2::(anonymous namespace)::StoreOffsetTable(unsigned char*, unsigned long, unsigned int, unsigned short) [function] [call site] 00055
4 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00056
4 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00057
4 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00058
4 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00059
4 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00060
3 woff2::(anonymous namespace)::StoreTableEntry(unsigned char*, unsigned int, unsigned int) [function] [call site] 00061
4 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00062
4 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00063
4 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00064
4 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00065
3 woff2::ComputeULongSum(unsigned char const*, unsigned long) [function] [call site] 00066
3 woff2::(anonymous namespace)::StoreOffsetTable(unsigned char*, unsigned long, unsigned int, unsigned short) [function] [call site] 00067
3 woff2::(anonymous namespace)::StoreTableEntry(unsigned char*, unsigned int, unsigned int) [function] [call site] 00068
3 woff2::ComputeULongSum(unsigned char const*, unsigned long) [function] [call site] 00069
2 woff2::(anonymous namespace)::Woff2Uncompress(unsigned char*, unsigned long, unsigned char const*, unsigned long) [function] [call site] 00070
3 BrotliDecoderDecompress [function] [call site] 00071
4 BrotliDecoderStateInit [function] [call site] 00072
5 BrotliInitBitReader [function] [call site] 00073
5 BrotliGetDictionary [function] [call site] 00074
5 BrotliGetTransforms [function] [call site] 00075
4 BrotliDecoderDecompressStream [function] [call site] 00076
5 WriteRingBuffer [function] [call site] 00077
6 UnwrittenBytes [function] [call site] 00078
5 BrotliWarmupBitReader [function] [call site] 00079
5 DecodeWindowBits [function] [call site] 00080
5 BrotliDecoderStateMetablockBegin [function] [call site] 00081
5 DecodeMetaBlockLength [function] [call site] 00082
5 BrotliCalculateRingBufferSize [function] [call site] 00083
5 CopyUncompressedBlockToOutput [function] [call site] 00084
6 BrotliEnsureRingBuffer [function] [call site] 00085
6 WriteRingBuffer [function] [call site] 00086
5 DecodeVarLenUint8 [function] [call site] 00087
5 ReadHuffmanCode [function] [call site] 00088
6 ReadSimpleHuffmanSymbols [function] [call site] 00089
6 BrotliBuildSimpleHuffmanTable [function] [call site] 00090
6 ReadCodeLengthCodeLengths [function] [call site] 00091
6 BrotliBuildCodeLengthsHuffmanTable [function] [call site] 00092
6 ReadSymbolCodeLengths [function] [call site] 00093
7 BrotliWarmupBitReader [function] [call site] 00094
6 SafeReadSymbolCodeLengths [function] [call site] 00095
6 BrotliBuildHuffmanTable [function] [call site] 00096
5 ReadHuffmanCode [function] [call site] 00097
5 SafeDecodeSymbol [function] [call site] 00098
5 ReadContextModes [function] [call site] 00099
5 DecodeContextMap [function] [call site] 00100
6 DecodeVarLenUint8 [function] [call site] 00101
6 ReadHuffmanCode [function] [call site] 00102
6 SafeDecodeSymbol [function] [call site] 00103
6 InverseMoveToFrontTransform [function] [call site] 00104
5 BrotliMaxDistanceSymbol [function] [call site] 00105
5 DecodeContextMap [function] [call site] 00106
5 BrotliDecoderHuffmanTreeGroupInit [function] [call site] 00107
5 BrotliDecoderHuffmanTreeGroupInit [function] [call site] 00108
5 BrotliDecoderHuffmanTreeGroupInit [function] [call site] 00109
5 HuffmanTreeGroupDecode [function] [call site] 00110
6 ReadHuffmanCode [function] [call site] 00111
5 BrotliEnsureRingBuffer [function] [call site] 00112
5 ProcessCommands [function] [call site] 00113
6 BrotliWarmupBitReader [function] [call site] 00114
6 DecodeCommandBlockSwitch [function] [call site] 00115
6 BrotliTransformDictionaryWord [function] [call site] 00116
7 ToUpperCase [function] [call site] 00117
7 ToUpperCase [function] [call site] 00118
5 SafeProcessCommands [function] [call site] 00119
6 SafeDecodeCommandBlockSwitch [function] [call site] 00120
7 SafeDecodeSymbol [function] [call site] 00121
6 SafeDecodeSymbol [function] [call site] 00122
6 SafeDecodeSymbol [function] [call site] 00123
6 SafeDecodeSymbol [function] [call site] 00124
6 SafeDecodeSymbol [function] [call site] 00125
6 BrotliTransformDictionaryWord [function] [call site] 00126
5 WriteRingBuffer [function] [call site] 00127
5 WrapRingBuffer [function] [call site] 00128
5 BrotliDecoderStateCleanupAfterMetablock [function] [call site] 00129
5 WriteRingBuffer [function] [call site] 00130
5 SaveErrorCode [function] [call site] 00131
4 BrotliDecoderStateCleanup [function] [call site] 00132
5 BrotliDecoderStateCleanupAfterMetablock [function] [call site] 00133
2 woff2::(anonymous namespace)::ReconstructFont(unsigned char*, unsigned int, woff2::(anonymous namespace)::RebuildMetadata*, woff2::(anonymous namespace)::WOFF2Header*, unsigned long, woff2::WOFF2Out*) [function] [call site] 00134
3 woff2::(anonymous namespace)::Tables(woff2::(anonymous namespace)::WOFF2Header*, unsigned long) [function] [call site] 00135
3 woff2::(anonymous namespace)::FindTable(std::__1::vector >*, unsigned int) [function] [call site] 00136
3 woff2::(anonymous namespace)::FindTable(std::__1::vector >*, unsigned int) [function] [call site] 00137
3 woff2::(anonymous namespace)::ReadNumHMetrics(unsigned char const*, unsigned long, unsigned short*) [function] [call site] 00138
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00139
4 woff2::Buffer::Skip(unsigned long) [function] [call site] 00140
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00141
3 woff2::ComputeULongSum(unsigned char const*, unsigned long) [function] [call site] 00142
3 woff2::(anonymous namespace)::FindTable(std::__1::vector >*, unsigned int) [function] [call site] 00143
3 woff2::(anonymous namespace)::ReconstructGlyf(unsigned char const*, woff2::Table*, unsigned int*, woff2::Table*, unsigned int*, woff2::(anonymous namespace)::WOFF2FontInfo*, woff2::WOFF2Out*) [function] [call site] 00144
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00145
4 woff2::Buffer::ReadU16(unsigned short*) [function] [call site] 00146
4 woff2::Buffer::ReadU16(unsigned short*) [function] [call site] 00147
4 woff2::Buffer::ReadU16(unsigned short*) [function] [call site] 00148
4 woff2::Buffer::ReadU32(unsigned int*) [function] [call site] 00149
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00150
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00151
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00152
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00153
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00154
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00155
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00156
4 woff2::Buffer::buffer() const [function] [call site] 00157
4 woff2::Buffer::Skip(unsigned long) [function] [call site] 00158
4 woff2::Buffer::ReadU16(unsigned short*) [function] [call site] 00159
4 woff2::(anonymous namespace)::SizeOfComposite(woff2::Buffer, unsigned long*, bool*) [function] [call site] 00160
5 woff2::Buffer::offset() const [function] [call site] 00161
5 woff2::Buffer::ReadU16(unsigned short*) [function] [call site] 00162
5 woff2::Buffer::Skip(unsigned long) [function] [call site] 00163
5 woff2::Buffer::offset() const [function] [call site] 00164
4 woff2::Read255UShort(woff2::Buffer*, unsigned int*) [function] [call site] 00165
4 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00166
4 woff2::Buffer::Read(unsigned char*, unsigned long) [function] [call site] 00167
4 woff2::Buffer::Read(unsigned char*, unsigned long) [function] [call site] 00168
4 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00169
4 woff2::Buffer::Read(unsigned char*, unsigned long) [function] [call site] 00170
4 woff2::Read255UShort(woff2::Buffer*, unsigned int*) [function] [call site] 00171
4 woff2::Buffer::length() const [function] [call site] 00172
4 woff2::Buffer::buffer() const [function] [call site] 00173
4 woff2::Buffer::buffer() const [function] [call site] 00174
4 woff2::Buffer::offset() const [function] [call site] 00175
4 woff2::Buffer::length() const [function] [call site] 00176
4 woff2::(anonymous namespace)::TripletDecode(unsigned char const*, unsigned char const*, unsigned long, unsigned int, woff2::Point*, unsigned long*) [function] [call site] 00177
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00178
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00179
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00180
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00181
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00182
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00183
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00184
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00185
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00186
5 woff2::(anonymous namespace)::WithSign(int, int) [function] [call site] 00187
5 woff2::(anonymous namespace)::_SafeIntAddition(int, int, int*) [function] [call site] 00188
5 woff2::(anonymous namespace)::_SafeIntAddition(int, int, int*) [function] [call site] 00189
4 woff2::Buffer::Skip(unsigned long) [function] [call site] 00190
4 woff2::Buffer::Skip(unsigned long) [function] [call site] 00191
4 woff2::Read255UShort(woff2::Buffer*, unsigned int*) [function] [call site] 00192
4 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00193
4 woff2::Buffer::Read(unsigned char*, unsigned long) [function] [call site] 00194
4 woff2::(anonymous namespace)::ComputeBbox(unsigned int, woff2::Point const*, unsigned char*) [function] [call site] 00195
5 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00196
5 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00197
5 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00198
5 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00199
4 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00200
4 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00201
4 woff2::Buffer::Read(unsigned char*, unsigned long) [function] [call site] 00202
4 woff2::(anonymous namespace)::StorePoints(unsigned int, woff2::Point const*, unsigned int, unsigned int, bool, unsigned char*, unsigned long, unsigned long*) [function] [call site] 00203
5 abs [call site] 00204
5 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00205
5 abs [call site] 00206
5 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00207
4 woff2::(anonymous namespace)::Pad4(woff2::WOFF2Out*) [function] [call site] 00208
5 unsigned long woff2::Round4 (unsigned long) [function] [call site] 00209
4 woff2::ComputeULongSum(unsigned char const*, unsigned long) [function] [call site] 00210
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00211
4 woff2::Buffer::ReadS16(short*) [function] [call site] 00212
5 woff2::Buffer::ReadU16(unsigned short*) [function] [call site] 00213
4 woff2::(anonymous namespace)::StoreLoca(std::__1::vector > const&, int, unsigned int*, woff2::WOFF2Out*) [function] [call site] 00214
5 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00215
5 woff2::Store16(unsigned char*, unsigned long, int) [function] [call site] 00216
5 woff2::ComputeULongSum(unsigned char const*, unsigned long) [function] [call site] 00217
3 woff2::(anonymous namespace)::ReconstructTransformedHmtx(unsigned char const*, unsigned long, unsigned short, unsigned short, std::__1::vector > const&, unsigned int*, woff2::WOFF2Out*) [function] [call site] 00218
4 woff2::Buffer::Buffer(unsigned char const*, unsigned long) [function] [call site] 00219
4 woff2::Buffer::ReadU8(unsigned char*) [function] [call site] 00220
4 __assert_fail [call site] 00221
4 woff2::Buffer::ReadU16(unsigned short*) [function] [call site] 00222
4 woff2::Buffer::ReadS16(short*) [function] [call site] 00223
4 woff2::Buffer::ReadS16(short*) [function] [call site] 00224
4 woff2::Store16(int, unsigned long*, unsigned char*) [function] [call site] 00225
4 woff2::Store16(int, unsigned long*, unsigned char*) [function] [call site] 00226
4 woff2::ComputeULongSum(unsigned char const*, unsigned long) [function] [call site] 00227
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00228
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00229
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00230
3 woff2::ComputeULongSum(unsigned char const*, unsigned long) [function] [call site] 00231
3 woff2::(anonymous namespace)::Pad4(woff2::WOFF2Out*) [function] [call site] 00232
3 woff2::(anonymous namespace)::FindTable(std::__1::vector >*, unsigned int) [function] [call site] 00233
3 woff2::StoreU32(unsigned char*, unsigned long, unsigned int) [function] [call site] 00234
2 woff2::(anonymous namespace)::WOFF2Header::~WOFF2Header() [function] [call site] 00235
1 woff2::WOFF2StringOut::~WOFF2StringOut() [function] [call site] 00236
2 woff2::WOFF2Out::~WOFF2Out() [function] [call site] 00237