Fuzz introspector: zawgyi_detector_fuzz_target
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
2 2 1 :

['strlen']

4 18 google_myanmar_tools::ZawgyiUnicodeMarkovModel::Predict(charconst*,int)const call site: 00000 /src/myanmar-tools/clients/cpp/zawgyi_detector.cpp:193
0 0 None 0 369 google_myanmar_tools::ZawgyiUnicodeMarkovModel::ZawgyiUnicodeMarkovModel(unsignedcharconst*) call site: 00000 /src/myanmar-tools/clients/cpp/zawgyi_detector.cpp:172

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 google_myanmar_tools::ZawgyiDetector::ZawgyiDetector() [function] [call site] 00001
2 google::InitVLOG3__(int**, int*, char const*, int) [function] [call site] 00002
3 glog_internal_namespace_::MutexLock::MutexLock(glog_internal_namespace_::Mutex*) [function] [call site] 00003
4 glog_internal_namespace_::Mutex::Lock() [function] [call site] 00004
5 pthread_rwlock_wrlock [call site] 00005
3 google::VLOG2Initializer() [function] [call site] 00006
4 glog_internal_namespace_::Mutex::AssertHeld() [function] [call site] 00007
4 strchr [call site] 00008
4 __isoc99_sscanf [call site] 00009
4 google::VModuleInfo::VModuleInfo() [function] [call site] 00010
4 strchr [call site] 00011
3 glog_internal_namespace_::MutexLock::~MutexLock() [function] [call site] 00012
4 glog_internal_namespace_::Mutex::Unlock() [function] [call site] 00013
5 pthread_rwlock_unlock [call site] 00014
3 __errno_location [call site] 00015
3 strrchr [call site] 00016
3 strchr [call site] 00017
3 strlen [call site] 00018
3 memcmp [call site] 00019
3 google::glog_internal_namespace_::SafeFNMatch_(char const*, unsigned long, char const*, unsigned long) [function] [call site] 00020
4 google::glog_internal_namespace_::SafeFNMatch_(char const*, unsigned long, char const*, unsigned long) [function] [call site] 00021
2 google::LogMessageVoidify::LogMessageVoidify() [function] [call site] 00022
2 google::LogMessage::LogMessage(char const*, int) [function] [call site] 00023
3 google::LogMessage::Init(char const*, int, int, void (google::LogMessage::*)()) [function] [call site] 00024
4 google::LogMessage::LogMessageData::reset() [function] [call site] 00025
5 google::LogMessage::LogStream::reset() [function] [call site] 00026
6 google::base_logging::LogStreamBuf::reset() [function] [call site] 00027
7 google::base_logging::LogStreamBuf::pbase() const [function] [call site] 00028
4 google::LogMessage::LogMessageData::LogMessageData() [function] [call site] 00029
5 google::LogMessage::LogStream::LogStream(char*, int, int) [function] [call site] 00030
6 google::base_logging::LogStreamBuf::LogStreamBuf(char*, int) [function] [call site] 00031
4 glog_internal_namespace_::MutexLock::MutexLock(glog_internal_namespace_::Mutex*) [function] [call site] 00032
4 glog_internal_namespace_::MutexLock::~MutexLock() [function] [call site] 00033
4 google::LogMessage::stream() [function] [call site] 00034
4 __errno_location [call site] 00035
4 google::glog_internal_namespace_::WallTime_Now() [function] [call site] 00036
5 google::glog_internal_namespace_::CycleClock_Now() [function] [call site] 00037
4 localtime_r [call site] 00038
4 google::RawLog__SetLastTime(tm const&, int) [function] [call site] 00039
4 google::glog_internal_namespace_::const_basename(char const*) [function] [call site] 00040
5 strrchr [call site] 00041
4 google::LogMessage::stream() [function] [call site] 00042
4 google::glog_internal_namespace_::GetTID() [function] [call site] 00043
5 syscall [call site] 00044
5 getpid [call site] 00045
4 google::LogMessage::LogStream::pcount() const [function] [call site] 00046
5 google::base_logging::LogStreamBuf::pcount() const [function] [call site] 00047
6 google::base_logging::LogStreamBuf::pbase() const [function] [call site] 00048
4 snprintf [call site] 00049
4 strcmp [call site] 00050
4 google::glog_internal_namespace_::DumpStackTraceToString(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) [function] [call site] 00051
5 google::DumpStackTrace(int, void (*)(char const*, void*), void*) [function] [call site] 00052
6 google::GetStackTrace(void**, int, int) [function] [call site] 00053
7 _Unwind_Backtrace [call site] 00054
7 google::GetOneFrame(_Unwind_Context*, void*) [function] [call site] 00055
8 _Unwind_GetIP [call site] 00056
6 google::DumpPCAndSymbol(void (*)(char const*, void*), void*, void*, char const*) [function] [call site] 00057
7 google::Symbolize(void*, char*, int) [function] [call site] 00058
8 google::AssertFail() [function] [call site] 00059
9 abort [call site] 00060
8 google::SymbolizeAndDemangle(void*, char*, int) [function] [call site] 00061
9 google::SafeAppendString(char const*, char*, int) [function] [call site] 00062
10 strlen [call site] 00063
10 google::AssertFail() [function] [call site] 00064
10 strncpy [call site] 00065
9 google::OpenObjectFileContainingPcAndGetStartAddress(unsigned long, unsigned long&, unsigned long&, char*, int) [function] [call site] 00066
10 open [call site] 00067
10 google::(anonymous namespace)::FileDescriptor::FileDescriptor(int) [function] [call site] 00068
10 google::(anonymous namespace)::LineReader::LineReader(int, char*, int) [function] [call site] 00069
10 google::(anonymous namespace)::LineReader::ReadLine(char const**, char const**) [function] [call site] 00070
11 google::(anonymous namespace)::LineReader::BufferIsEmpty() [function] [call site] 00071
11 google::ReadPersistent(int, void*, unsigned long) [function] [call site] 00072
12 google::AssertFail() [function] [call site] 00073
12 google::AssertFail() [function] [call site] 00074
12 read [call site] 00075
12 google::AssertFail() [function] [call site] 00076
11 google::AssertFail() [function] [call site] 00077
11 google::(anonymous namespace)::LineReader::HasCompleteLine() [function] [call site] 00078
12 google::(anonymous namespace)::LineReader::BufferIsEmpty() [function] [call site] 00079
11 google::ReadPersistent(int, void*, unsigned long) [function] [call site] 00080
11 google::(anonymous namespace)::LineReader::FindLineFeed() [function] [call site] 00081
12 memchr [call site] 00082
10 google::GetHex(char const*, char const*, unsigned long*) [function] [call site] 00083
11 google::AssertFail() [function] [call site] 00084
10 google::GetHex(char const*, char const*, unsigned long*) [function] [call site] 00085
10 google::GetHex(char const*, char const*, unsigned long*) [function] [call site] 00086
10 open [call site] 00087
10 strncpy [call site] 00088
10 google::(anonymous namespace)::FileDescriptor::~FileDescriptor() [function] [call site] 00089
11 close [call site] 00090
9 google::SafeAppendString(char const*, char*, int) [function] [call site] 00091
9 google::SafeAppendHexNumber(unsigned long, char*, int) [function] [call site] 00092
10 google::itoa_r(long, char*, unsigned long, int, unsigned long) [function] [call site] 00093
9 google::SafeAppendString(char const*, char*, int) [function] [call site] 00094
9 google::(anonymous namespace)::FileDescriptor::FileDescriptor(int) [function] [call site] 00095
9 google::FileGetElfType(int) [function] [call site] 00096
10 google::ReadFromOffsetExact(int, void*, unsigned long, long) [function] [call site] 00097
11 google::ReadFromOffset(int, void*, unsigned long, long) [function] [call site] 00098
12 lseek [call site] 00099
12 google::ReadPersistent(int, void*, unsigned long) [function] [call site] 00100
10 memcmp [call site] 00101
9 google::GetSymbolFromObjectFile(int, unsigned long, char*, int, unsigned long) [function] [call site] 00102
10 google::ReadFromOffsetExact(int, void*, unsigned long, long) [function] [call site] 00103
10 google::ReadFromOffsetExact(int, void*, unsigned long, long) [function] [call site] 00104
10 google::GetSectionHeaderByType(int, unsigned short, long, unsigned int, Elf64_Shdr*) [function] [call site] 00105
11 google::ReadFromOffset(int, void*, unsigned long, long) [function] [call site] 00106
11 google::AssertFail() [function] [call site] 00107
11 google::AssertFail() [function] [call site] 00108
10 google::ReadFromOffsetExact(int, void*, unsigned long, long) [function] [call site] 00109
10 google::FindSymbol(unsigned long, int, char*, int, unsigned long, Elf64_Shdr const*, Elf64_Shdr const*) [function] [call site] 00110
11 google::ReadFromOffset(int, void*, unsigned long, long) [function] [call site] 00111
11 google::AssertFail() [function] [call site] 00112
11 google::AssertFail() [function] [call site] 00113
11 google::ReadFromOffset(int, void*, unsigned long, long) [function] [call site] 00114
11 memchr [call site] 00115
10 google::GetSectionHeaderByType(int, unsigned short, long, unsigned int, Elf64_Shdr*) [function] [call site] 00116
10 google::ReadFromOffsetExact(int, void*, unsigned long, long) [function] [call site] 00117
10 google::FindSymbol(unsigned long, int, char*, int, unsigned long, Elf64_Shdr const*, Elf64_Shdr const*) [function] [call site] 00118
9 google::DemangleInplace(char*, int) [function] [call site] 00119
10 google::Demangle(char const*, char*, int) [function] [call site] 00120
11 google::InitState(google::State*, char const*, char*, int) [function] [call site] 00121
11 google::ParseTopLevelMangledName(google::State*) [function] [call site] 00122
12 google::ParseMangledName(google::State*) [function] [call site] 00123
13 google::ParseTwoCharToken(google::State*, char const*) [function] [call site] 00124
12 google::IsFunctionCloneSuffix(char const*) [function] [call site] 00125
13 google::IsAlpha(char) [function] [call site] 00126
13 google::IsAlpha(char) [function] [call site] 00127
13 google::IsDigit(char) [function] [call site] 00128
13 google::IsDigit(char) [function] [call site] 00129
12 google::MaybeAppend(google::State*, char const*) [function] [call site] 00130
13 google::StrLen(char const*) [function] [call site] 00131
13 google::MaybeAppendWithLength(google::State*, char const*, int) [function] [call site] 00132
14 google::Append(google::State*, char const*, int) [function] [call site] 00133
14 google::IsAlpha(char) [function] [call site] 00134
14 google::Append(google::State*, char const*, int) [function] [call site] 00135
10 strlen [call site] 00136
9 google::(anonymous namespace)::FileDescriptor::~FileDescriptor() [function] [call site] 00137
7 snprintf [call site] 00138
6 google::DumpPC(void (*)(char const*, void*), void*, void*, char const*) [function] [call site] 00139
7 snprintf [call site] 00140
4 google::LogMessage::stream() [function] [call site] 00141
2 google_myanmar_tools::ZawgyiUnicodeMarkovModel::ZawgyiUnicodeMarkovModel(unsigned char const*) [function] [call site] 00142
3 google_myanmar_tools::BigEndian::loadInt64(void const*) [function] [call site] 00143
3 google::GetReferenceableValue(long) [function] [call site] 00144
3 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00145
4 google::LogMessage::LogMessage(char const*, int, google::CheckOpString const&) [function] [call site] 00146
5 google::LogMessage::Init(char const*, int, int, void (google::LogMessage::*)()) [function] [call site] 00147
5 google::LogMessage::stream() [function] [call site] 00148
3 google_myanmar_tools::BigEndian::loadInt32(void const*) [function] [call site] 00149
3 google::GetReferenceableValue(int) [function] [call site] 00150
3 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00151
3 google_myanmar_tools::BigEndian::loadInt32(void const*) [function] [call site] 00152
3 google::GetReferenceableValue(int) [function] [call site] 00153
3 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00154
3 google::GetReferenceableValue(int) [function] [call site] 00155
3 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00156
3 google_myanmar_tools::BinaryMarkovClassifier::BinaryMarkovClassifier(unsigned char const*) [function] [call site] 00157
4 google_myanmar_tools::BigEndian::loadInt64(void const*) [function] [call site] 00158
4 google::GetReferenceableValue(long) [function] [call site] 00159
4 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00160
4 google_myanmar_tools::BigEndian::loadInt32(void const*) [function] [call site] 00161
4 google::GetReferenceableValue(int) [function] [call site] 00162
4 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00163
4 google_myanmar_tools::BigEndian::loadInt16(void const*) [function] [call site] 00164
4 google::InitVLOG3__(int**, int*, char const*, int) [function] [call site] 00165
4 google::LogMessageVoidify::LogMessageVoidify() [function] [call site] 00166
4 google::LogMessage::LogMessage(char const*, int) [function] [call site] 00167
4 google_myanmar_tools::BigEndian::loadInt16(void const*) [function] [call site] 00168
4 google_myanmar_tools::BigEndian::loadFloat(void const*) [function] [call site] 00169
4 google_myanmar_tools::BigEndian::loadInt16(void const*) [function] [call site] 00170
4 google_myanmar_tools::BigEndian::loadFloat(void const*) [function] [call site] 00171