Fuzz introspector: fuzz_demangle
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 23 1 :

['google::glog_internal_namespace_::(anonymous namespace)::MaybeAppend(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*)']

0 25 google::glog_internal_namespace_::(anonymousnamespace)::ParseIdentifier(google::glog_internal_namespace_::(anonymousnamespace)::State*,long) call site: 00000 /src/glog/src/demangle.cc:668
0 0 None 0 0 google::glog_internal_namespace_::(anonymousnamespace)::Append(google::glog_internal_namespace_::(anonymousnamespace)::State*,charconst*,long) call site: 00000 /src/glog/src/demangle.cc:235

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 google::glog_internal_namespace_::Demangle(char const*, char*, unsigned long) [function] [call site] 00001
2 google::glog_internal_namespace_::(anonymous namespace)::InitState(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*, char*, unsigned long) [function] [call site] 00002
2 google::glog_internal_namespace_::(anonymous namespace)::ParseTopLevelMangledName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00003
3 google::glog_internal_namespace_::(anonymous namespace)::ParseMangledName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00004
4 google::glog_internal_namespace_::(anonymous namespace)::ParseTwoCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*) [function] [call site] 00005
3 google::glog_internal_namespace_::(anonymous namespace)::IsFunctionCloneSuffix(char const*) [function] [call site] 00006
4 google::glog_internal_namespace_::(anonymous namespace)::IsAlpha(char) [function] [call site] 00007
4 google::glog_internal_namespace_::(anonymous namespace)::IsAlpha(char) [function] [call site] 00008
4 google::glog_internal_namespace_::(anonymous namespace)::IsDigit(char) [function] [call site] 00009
4 google::glog_internal_namespace_::(anonymous namespace)::IsDigit(char) [function] [call site] 00010
3 google::glog_internal_namespace_::(anonymous namespace)::MaybeAppend(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*) [function] [call site] 00011
4 google::glog_internal_namespace_::(anonymous namespace)::StrLen(char const*) [function] [call site] 00012
4 google::glog_internal_namespace_::(anonymous namespace)::MaybeAppendWithLength(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*, long) [function] [call site] 00013
5 google::glog_internal_namespace_::(anonymous namespace)::Append(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*, long) [function] [call site] 00014
5 google::glog_internal_namespace_::(anonymous namespace)::IsAlpha(char) [function] [call site] 00015
5 google::glog_internal_namespace_::(anonymous namespace)::Append(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*, long) [function] [call site] 00016
3 google::glog_internal_namespace_::(anonymous namespace)::ParseName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00017
4 google::glog_internal_namespace_::(anonymous namespace)::ParseNestedName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00018
5 google::glog_internal_namespace_::(anonymous namespace)::ParseOneCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char) [function] [call site] 00019
5 google::glog_internal_namespace_::(anonymous namespace)::ParseCVQualifiers(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00020
6 google::glog_internal_namespace_::(anonymous namespace)::ParseOneCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char) [function] [call site] 00021
6 google::glog_internal_namespace_::(anonymous namespace)::ParseOneCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char) [function] [call site] 00022
6 google::glog_internal_namespace_::(anonymous namespace)::ParseOneCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char) [function] [call site] 00023
5 google::glog_internal_namespace_::(anonymous namespace)::LeaveNestedName(google::glog_internal_namespace_::(anonymous namespace)::State*, short) [function] [call site] 00024
5 google::glog_internal_namespace_::(anonymous namespace)::ParseOneCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char) [function] [call site] 00025
4 google::glog_internal_namespace_::(anonymous namespace)::ParseUnscopedTemplateName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00026
5 google::glog_internal_namespace_::(anonymous namespace)::ParseUnscopedName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00027
6 google::glog_internal_namespace_::(anonymous namespace)::ParseUnqualifiedName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00028
7 google::glog_internal_namespace_::(anonymous namespace)::ParseOperatorName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00029
8 google::glog_internal_namespace_::(anonymous namespace)::AtLeastNumCharsRemaining(char const*, long) [function] [call site] 00030
8 google::glog_internal_namespace_::(anonymous namespace)::ParseTwoCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*) [function] [call site] 00031
8 google::glog_internal_namespace_::(anonymous namespace)::EnterNestedName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00032
8 google::glog_internal_namespace_::(anonymous namespace)::LeaveNestedName(google::glog_internal_namespace_::(anonymous namespace)::State*, short) [function] [call site] 00033
8 google::glog_internal_namespace_::(anonymous namespace)::ParseOneCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char) [function] [call site] 00034
8 google::glog_internal_namespace_::(anonymous namespace)::ParseSourceName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00035
9 google::glog_internal_namespace_::(anonymous namespace)::ParseNumber(google::glog_internal_namespace_::(anonymous namespace)::State*, int*) [function] [call site] 00036
10 google::glog_internal_namespace_::(anonymous namespace)::ParseOneCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char) [function] [call site] 00037
10 google::glog_internal_namespace_::(anonymous namespace)::IsDigit(char) [function] [call site] 00038
8 google::glog_internal_namespace_::(anonymous namespace)::IsLower(char) [function] [call site] 00039
8 google::glog_internal_namespace_::(anonymous namespace)::MaybeAppend(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*) [function] [call site] 00040
8 google::glog_internal_namespace_::(anonymous namespace)::IsLower(char) [function] [call site] 00041
8 google::glog_internal_namespace_::(anonymous namespace)::MaybeAppend(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*) [function] [call site] 00042
8 google::glog_internal_namespace_::(anonymous namespace)::MaybeAppend(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*) [function] [call site] 00043
7 google::glog_internal_namespace_::(anonymous namespace)::ParseSourceName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00044
7 google::glog_internal_namespace_::(anonymous namespace)::ParseLocalSourceName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00045
8 google::glog_internal_namespace_::(anonymous namespace)::ParseOneCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char) [function] [call site] 00046
8 google::glog_internal_namespace_::(anonymous namespace)::ParseDiscriminator(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00047
9 google::glog_internal_namespace_::(anonymous namespace)::ParseOneCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char) [function] [call site] 00048
6 google::glog_internal_namespace_::(anonymous namespace)::ParseTwoCharToken(google::glog_internal_namespace_::(anonymous namespace)::State*, char const*) [function] [call site] 00049
6 google::glog_internal_namespace_::(anonymous namespace)::ParseUnqualifiedName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00050
4 google::glog_internal_namespace_::(anonymous namespace)::ParseUnscopedName(google::glog_internal_namespace_::(anonymous namespace)::State*) [function] [call site] 00051