Fuzz introspector: snappy_uncompress_fuzzer
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
245 0 EP call site: 00000 __asan_stack_malloc_2

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 __asan_stack_malloc_2 [call site] 00001
1 snappy::GetUncompressedLength(char const*, unsigned long, unsigned long*) [function] [call site] 00002
2 __asan_stack_malloc_0 [call site] 00003
2 snappy::Varint::Parse32WithLimit(char const*, char const*, unsigned int*) [function] [call site] 00004
3 __asan_report_load1 [call site] 00005
3 __asan_report_load1 [call site] 00006
3 __asan_report_load1 [call site] 00007
3 __asan_report_load1 [call site] 00008
3 __asan_report_load1 [call site] 00009
3 __asan_report_store4 [call site] 00010
2 __asan_report_store8 [call site] 00011
1 snappy::Uncompress(char const*, unsigned long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00012
2 snappy::GetUncompressedLength(char const*, unsigned long, unsigned long*) [function] [call site] 00013
2 snappy::STLStringResizeUninitialized(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, unsigned long) [function] [call site] 00014
2 snappy::string_as_array(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00015
2 snappy::RawUncompress(char const*, unsigned long, char*) [function] [call site] 00016
3 __asan_stack_malloc_1 [call site] 00017
3 snappy::ByteArraySource::ByteArraySource(char const*, unsigned long) [function] [call site] 00018
4 snappy::Source::Source() [function] [call site] 00019
5 __asan_report_store8 [call site] 00020
4 __asan_report_store8 [call site] 00021
3 snappy::RawUncompress(snappy::Source*, char*) [function] [call site] 00022
4 snappy::SnappyArrayWriter::SnappyArrayWriter(char*) [function] [call site] 00023
5 __asan_report_store8 [call site] 00024
5 __asan_report_store8 [call site] 00025
5 __asan_report_store8 [call site] 00026
5 __asan_report_store8 [call site] 00027
4 bool snappy::InternalUncompress<snappy::SnappyArrayWriter>(snappy::Source*, snappy::SnappyArrayWriter*) [function] [call site] 00028
5 snappy::SnappyDecompressor::SnappyDecompressor(snappy::Source*) [function] [call site] 00029
6 __asan_report_store8 [call site] 00030
6 __asan_report_store1 [call site] 00031
5 snappy::SnappyDecompressor::ReadUncompressedLength(unsigned int*) [function] [call site] 00032
6 __asan_report_load8 [call site] 00033
6 __asan_handle_no_return [call site] 00034
6 __assert_fail [call site] 00035
6 __asan_report_store4 [call site] 00036
6 __asan_report_load8 [call site] 00037
6 __asan_report_load1 [call site] 00038
6 __asan_report_load8 [call site] 00039
6 snappy::LeftShiftOverflows(unsigned char, unsigned int) [function] [call site] 00040
7 __asan_handle_no_return [call site] 00041
7 __assert_fail [call site] 00042
7 __asan_report_load1 [call site] 00043
6 __asan_report_load4 [call site] 00044
5 __asan_report_load8 [call site] 00045
5 bool snappy::InternalUncompressAllTags<snappy::SnappyArrayWriter>(snappy::SnappyDecompressor*, snappy::SnappyArrayWriter*, unsigned int, unsigned int) [function] [call site] 00046
6 snappy::Report(int, char const*, unsigned long, unsigned long) [function] [call site] 00047
6 snappy::SnappyArrayWriter::SetExpectedLength(unsigned long) [function] [call site] 00048
7 __asan_report_load8 [call site] 00049
7 __asan_report_store8 [call site] 00050
7 __asan_report_load8 [call site] 00051
7 __asan_report_store8 [call site] 00052
6 void snappy::SnappyDecompressor::DecompressAllTags<snappy::SnappyArrayWriter>(snappy::SnappyArrayWriter*) [function] [call site] 00053
7 __asan_report_load8 [call site] 00054
7 snappy::SnappyDecompressor::ResetLimit(char const*) [function] [call site] 00055
8 __asan_report_load8 [call site] 00056
8 __asan_report_store8 [call site] 00057
7 snappy::SnappyArrayWriter::GetOutputPtr() [function] [call site] 00058
8 __asan_report_load8 [call site] 00059
7 __asan_report_load8 [call site] 00060
7 __asan_report_store8 [call site] 00061
7 snappy::SnappyDecompressor::RefillTag() [function] [call site] 00062
8 __asan_report_load8 [call site] 00063
8 __asan_report_load8 [call site] 00064
8 __asan_report_load8 [call site] 00065
8 __asan_report_load8 [call site] 00066
8 __asan_report_store8 [call site] 00067
8 __asan_report_store1 [call site] 00068
8 __asan_report_load1 [call site] 00069
8 __asan_report_store8 [call site] 00070
8 __asan_report_load8 [call site] 00071
8 __asan_handle_no_return [call site] 00072
8 __assert_fail [call site] 00073
8 __asan_report_load1 [call site] 00074
8 snappy::CalculateNeeded(unsigned char) [function] [call site] 00075
8 __asan_handle_no_return [call site] 00076
8 __assert_fail [call site] 00077
8 __asan_report_load8 [call site] 00078
8 __asan_memmove [call site] 00079
8 __asan_report_load8 [call site] 00080
8 __asan_report_store8 [call site] 00081
8 __asan_report_load8 [call site] 00082
8 __asan_report_load8 [call site] 00083
8 __asan_memcpy [call site] 00084
8 __asan_report_load8 [call site] 00085
8 __asan_handle_no_return [call site] 00086
8 __assert_fail [call site] 00087
8 __asan_report_store8 [call site] 00088
8 __asan_report_store8 [call site] 00089
8 __asan_memmove [call site] 00090
8 __asan_report_load8 [call site] 00091
8 __asan_report_store8 [call site] 00092
8 __asan_report_store8 [call site] 00093
8 __asan_report_store8 [call site] 00094
8 __asan_report_store8 [call site] 00095
7 snappy::SnappyDecompressor::ResetLimit(char const*) [function] [call site] 00096
7 __asan_report_load1 [call site] 00097
7 snappy::SnappyArrayWriter::GetBase(long*) [function] [call site] 00098
8 __asan_report_load8 [call site] 00099
8 __asan_report_store8 [call site] 00100
8 __asan_report_load8 [call site] 00101
7 __asan_report_load8 [call site] 00102
7 std::__1::pair<unsigned char const*, long> snappy::DecompressBranchless<char*>(unsigned char const*, unsigned char const*, long, char*, long) [function] [call site] 00103
8 snappy::ClearDeferred(void const**, unsigned long*, unsigned char*) [function] [call site] 00104
9 __asan_report_store8 [call site] 00105
9 __asan_report_store8 [call site] 00106
8 __asan_report_load1 [call site] 00107
8 __asan_report_load1 [call site] 00108
8 __asan_handle_no_return [call site] 00109
8 __assert_fail [call site] 00110
8 __asan_report_load2 [call site] 00111
8 __asan_report_load8 [call site] 00112
8 __asan_report_load1 [call site] 00113
8 __asan_report_store8 [call site] 00114
8 snappy::LittleEndian::Load32(void const*) [function] [call site] 00115
9 __asan_memcpy [call site] 00116
8 snappy::ExtractOffset(unsigned int, unsigned long) [function] [call site] 00117
9 __asan_memcpy [call site] 00118
8 __asan_handle_no_return [call site] 00119
8 __assert_fail [call site] 00120
8 snappy::MemCopy64(char*, void const*, unsigned long) [function] [call site] 00121
9 __asan_handle_no_return [call site] 00122
9 __assert_fail [call site] 00123
9 __asan_handle_no_return [call site] 00124
9 __assert_fail [call site] 00125
9 __asan_memmove [call site] 00126
9 __asan_memmove [call site] 00127
8 snappy::ClearDeferred(void const**, unsigned long*, unsigned char*) [function] [call site] 00128
8 __asan_report_load1 [call site] 00129
8 __asan_report_store1 [call site] 00130
8 __cxa_guard_acquire [call site] 00131
8 snappy::(anonymous namespace)::Copy64BytesWithPatternExtension(char*, unsigned long)::{lambda()#1}::operator()() const [function] [call site] 00132
9 __asan_report_store1 [call site] 00133
8 __cxa_guard_release [call site] 00134
8 __asan_memcpy [call site] 00135
8 snappy::MemCopy64(char*, void const*, unsigned long) [function] [call site] 00136
8 snappy::DeferMemCopy(void const**, unsigned long*, void const*, unsigned long) [function] [call site] 00137
9 __asan_report_store8 [call site] 00138
9 __asan_report_store8 [call site] 00139
8 snappy::MemCopy64(char*, void const*, unsigned long) [function] [call site] 00140
8 snappy::DeferMemCopy(void const**, unsigned long*, void const*, unsigned long) [function] [call site] 00141
8 __asan_handle_no_return [call site] 00142
8 __assert_fail [call site] 00143
8 snappy::MemCopy64(char*, void const*, unsigned long) [function] [call site] 00144
8 snappy::ClearDeferred(void const**, unsigned long*, unsigned char*) [function] [call site] 00145
7 __asan_report_load8 [call site] 00146
7 __asan_report_store8 [call site] 00147
7 snappy::SnappyDecompressor::RefillTag() [function] [call site] 00148
7 snappy::SnappyDecompressor::ResetLimit(char const*) [function] [call site] 00149
7 __asan_report_load1 [call site] 00150
7 __asan_report_load8 [call site] 00151
7 snappy::SnappyArrayWriter::TryFastAppend(char const*, unsigned long, unsigned long, char**) [function] [call site] 00152
8 __asan_report_load8 [call site] 00153
8 __asan_report_load8 [call site] 00154
8 snappy::(anonymous namespace)::UnalignedCopy128(void const*, void*) [function] [call site] 00155
9 __asan_memcpy [call site] 00156
9 __asan_memcpy [call site] 00157
8 __asan_report_store8 [call site] 00158
7 __asan_handle_no_return [call site] 00159
7 __assert_fail [call site] 00160
7 __asan_report_load1 [call site] 00161
7 snappy::LittleEndian::Load32(void const*) [function] [call site] 00162
7 snappy::ExtractLowBytes(unsigned int const&, int) [function] [call site] 00163
8 __asan_handle_no_return [call site] 00164
8 __assert_fail [call site] 00165
8 __asan_handle_no_return [call site] 00166
8 __assert_fail [call site] 00167
8 __asan_report_load4 [call site] 00168
7 __asan_report_load8 [call site] 00169
7 snappy::SnappyArrayWriter::Append(char const*, unsigned long, char**) [function] [call site] 00170
8 __asan_report_load8 [call site] 00171
8 __asan_report_load8 [call site] 00172
8 __asan_memcpy [call site] 00173
8 __asan_report_store8 [call site] 00174
7 __asan_report_load8 [call site] 00175
7 __asan_report_load8 [call site] 00176
7 __asan_report_store8 [call site] 00177
7 __asan_report_store8 [call site] 00178
7 snappy::SnappyDecompressor::ResetLimit(char const*) [function] [call site] 00179
7 snappy::SnappyArrayWriter::Append(char const*, unsigned long, char**) [function] [call site] 00180
7 __asan_report_load8 [call site] 00181
7 __asan_report_store8 [call site] 00182
7 snappy::SnappyDecompressor::RefillTag() [function] [call site] 00183
7 snappy::SnappyDecompressor::ResetLimit(char const*) [function] [call site] 00184
7 __asan_report_load1 [call site] 00185
7 snappy::LittleEndian::Load32(void const*) [function] [call site] 00186
7 __asan_report_load8 [call site] 00187
7 __asan_handle_no_return [call site] 00188
7 __assert_fail [call site] 00189
7 snappy::(anonymous namespace)::IncrementalCopy(char const*, char*, char*, char*) [function] [call site] 00190
8 __asan_handle_no_return [call site] 00191
8 __assert_fail [call site] 00192
8 __asan_handle_no_return [call site] 00193
8 __assert_fail [call site] 00194
8 __asan_handle_no_return [call site] 00195
8 __assert_fail [call site] 00196
8 __asan_handle_no_return [call site] 00197
8 __assert_fail [call site] 00198
8 snappy::(anonymous namespace)::UnalignedCopy64(void const*, void*) [function] [call site] 00199
9 __asan_memcpy [call site] 00200
9 __asan_memcpy [call site] 00201
8 snappy::(anonymous namespace)::IncrementalCopySlow(char const*, char*, char*) [function] [call site] 00202
9 __asan_report_load1 [call site] 00203
9 __asan_report_store1 [call site] 00204
8 __asan_handle_no_return [call site] 00205
8 __assert_fail [call site] 00206
8 void snappy::(anonymous namespace)::ConditionalUnalignedCopy128<false>(char const*, char*) [function] [call site] 00207
9 snappy::(anonymous namespace)::UnalignedCopy64(void const*, void*) [function] [call site] 00208
9 snappy::(anonymous namespace)::UnalignedCopy64(void const*, void*) [function] [call site] 00209
8 void snappy::(anonymous namespace)::ConditionalUnalignedCopy128<false>(char const*, char*) [function] [call site] 00210
8 void snappy::(anonymous namespace)::ConditionalUnalignedCopy128<false>(char const*, char*) [function] [call site] 00211
8 void snappy::(anonymous namespace)::ConditionalUnalignedCopy128<false>(char const*, char*) [function] [call site] 00212
8 void snappy::(anonymous namespace)::ConditionalUnalignedCopy128<false>(char const*, char*) [function] [call site] 00213
8 snappy::(anonymous namespace)::UnalignedCopy64(void const*, void*) [function] [call site] 00214
8 snappy::(anonymous namespace)::IncrementalCopySlow(char const*, char*, char*) [function] [call site] 00215
7 __asan_report_store8 [call site] 00216
7 __asan_memmove [call site] 00217
7 __asan_report_load2 [call site] 00218
7 snappy::LittleEndian::Load32(void const*) [function] [call site] 00219
7 snappy::ExtractLowBytes(unsigned int const&, int) [function] [call site] 00220
7 __asan_handle_no_return [call site] 00221
7 __assert_fail [call site] 00222
7 __asan_report_load8 [call site] 00223
7 __asan_handle_no_return [call site] 00224
7 __assert_fail [call site] 00225
7 snappy::(anonymous namespace)::IncrementalCopy(char const*, char*, char*, char*) [function] [call site] 00226
7 __asan_report_store8 [call site] 00227
7 __asan_memmove [call site] 00228
7 __asan_report_load8 [call site] 00229
7 __asan_report_load8 [call site] 00230
7 __asan_report_store8 [call site] 00231
7 snappy::SnappyDecompressor::RefillTag() [function] [call site] 00232
7 snappy::SnappyDecompressor::ResetLimit(char const*) [function] [call site] 00233
7 __asan_report_load1 [call site] 00234
7 snappy::SnappyArrayWriter::SetOutputPtr(char*) [function] [call site] 00235
8 __asan_report_store8 [call site] 00236
6 snappy::SnappyArrayWriter::Flush() [function] [call site] 00237
6 snappy::SnappyDecompressor::eof() const [function] [call site] 00238
7 __asan_report_load1 [call site] 00239
6 snappy::SnappyArrayWriter::CheckLength() const [function] [call site] 00240
7 __asan_report_load8 [call site] 00241
5 snappy::SnappyDecompressor::~SnappyDecompressor() [function] [call site] 00242
6 __asan_report_load8 [call site] 00243
3 snappy::ByteArraySource::~ByteArraySource() [function] [call site] 00244
4 snappy::Source::~Source() [function] [call site] 00245