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 325 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 , std::__1::allocator >*) [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)::FileDescriptor::get() [function] [call site] 00069
10 google::(anonymous namespace)::LineReader::LineReader(int, char*, int) [function] [call site] 00070
10 google::(anonymous namespace)::LineReader::ReadLine(char const**, char const**) [function] [call site] 00071
11 google::(anonymous namespace)::LineReader::BufferIsEmpty() [function] [call site] 00072
11 google::ReadPersistent(int, void*, unsigned long) [function] [call site] 00073
12 google::AssertFail() [function] [call site] 00074
12 google::AssertFail() [function] [call site] 00075
12 read [call site] 00076
12 google::AssertFail() [function] [call site] 00077
11 google::AssertFail() [function] [call site] 00078
11 google::(anonymous namespace)::LineReader::HasCompleteLine() [function] [call site] 00079
12 google::(anonymous namespace)::LineReader::BufferIsEmpty() [function] [call site] 00080
11 google::ReadPersistent(int, void*, unsigned long) [function] [call site] 00081
11 google::(anonymous namespace)::LineReader::FindLineFeed() [function] [call site] 00082
12 memchr [call site] 00083
10 google::GetHex(char const*, char const*, unsigned long*) [function] [call site] 00084
11 google::AssertFail() [function] [call site] 00085
10 google::GetHex(char const*, char const*, unsigned long*) [function] [call site] 00086
10 google::GetHex(char const*, char const*, unsigned long*) [function] [call site] 00087
10 open [call site] 00088
10 strncpy [call site] 00089
10 google::(anonymous namespace)::FileDescriptor::~FileDescriptor() [function] [call site] 00090
11 close [call site] 00091
9 google::SafeAppendString(char const*, char*, int) [function] [call site] 00092
9 google::SafeAppendHexNumber(unsigned long, char*, int) [function] [call site] 00093
10 google::itoa_r(long, char*, unsigned long, int, unsigned long) [function] [call site] 00094
9 google::SafeAppendString(char const*, char*, int) [function] [call site] 00095
9 google::(anonymous namespace)::FileDescriptor::FileDescriptor(int) [function] [call site] 00096
9 google::(anonymous namespace)::FileDescriptor::get() [function] [call site] 00097
9 google::(anonymous namespace)::FileDescriptor::get() [function] [call site] 00098
9 google::(anonymous namespace)::FileDescriptor::get() [function] [call site] 00099
9 google::DemangleInplace(char*, int) [function] [call site] 00100
10 google::Demangle(char const*, char*, int) [function] [call site] 00101
11 google::InitState(google::State*, char const*, char*, int) [function] [call site] 00102
11 google::ParseTopLevelMangledName(google::State*) [function] [call site] 00103
12 google::ParseMangledName(google::State*) [function] [call site] 00104
13 google::ParseTwoCharToken(google::State*, char const*) [function] [call site] 00105
12 google::IsFunctionCloneSuffix(char const*) [function] [call site] 00106
13 google::IsAlpha(char) [function] [call site] 00107
13 google::IsAlpha(char) [function] [call site] 00108
13 google::IsDigit(char) [function] [call site] 00109
13 google::IsDigit(char) [function] [call site] 00110
12 google::MaybeAppend(google::State*, char const*) [function] [call site] 00111
13 google::StrLen(char const*) [function] [call site] 00112
13 google::MaybeAppendWithLength(google::State*, char const*, int) [function] [call site] 00113
14 google::Append(google::State*, char const*, int) [function] [call site] 00114
14 google::IsAlpha(char) [function] [call site] 00115
14 google::Append(google::State*, char const*, int) [function] [call site] 00116
10 strlen [call site] 00117
9 google::(anonymous namespace)::FileDescriptor::~FileDescriptor() [function] [call site] 00118
7 snprintf [call site] 00119
6 google::DumpPC(void (*)(char const*, void*), void*, void*, char const*) [function] [call site] 00120
7 snprintf [call site] 00121
4 google::LogMessage::stream() [function] [call site] 00122
2 google_myanmar_tools::ZawgyiUnicodeMarkovModel::ZawgyiUnicodeMarkovModel(unsigned char const*) [function] [call site] 00123
3 google_myanmar_tools::BigEndian::loadInt64(void const*) [function] [call site] 00124
3 google::GetReferenceableValue(long) [function] [call site] 00125
3 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00126
4 google::LogMessage::LogMessage(char const*, int, google::CheckOpString const&) [function] [call site] 00127
5 google::LogMessage::Init(char const*, int, int, void (google::LogMessage::*)()) [function] [call site] 00128
5 google::LogMessage::stream() [function] [call site] 00129
3 google_myanmar_tools::BigEndian::loadInt32(void const*) [function] [call site] 00130
3 google::GetReferenceableValue(int) [function] [call site] 00131
3 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00132
3 google_myanmar_tools::BigEndian::loadInt32(void const*) [function] [call site] 00133
3 google::GetReferenceableValue(int) [function] [call site] 00134
3 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00135
3 google::GetReferenceableValue(int) [function] [call site] 00136
3 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00137
3 google_myanmar_tools::BinaryMarkovClassifier::BinaryMarkovClassifier(unsigned char const*) [function] [call site] 00138
4 google_myanmar_tools::BigEndian::loadInt64(void const*) [function] [call site] 00139
4 google::GetReferenceableValue(long) [function] [call site] 00140
4 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00141
4 google_myanmar_tools::BigEndian::loadInt32(void const*) [function] [call site] 00142
4 google::GetReferenceableValue(int) [function] [call site] 00143
4 google::LogMessageFatal::LogMessageFatal(char const*, int, google::CheckOpString const&) [function] [call site] 00144
4 google_myanmar_tools::BigEndian::loadInt16(void const*) [function] [call site] 00145
4 google::InitVLOG3__(int**, int*, char const*, int) [function] [call site] 00146
4 google::LogMessageVoidify::LogMessageVoidify() [function] [call site] 00147
4 google::LogMessage::LogMessage(char const*, int) [function] [call site] 00148
4 google_myanmar_tools::BigEndian::loadInt16(void const*) [function] [call site] 00149
4 google_myanmar_tools::BigEndian::loadFloat(void const*) [function] [call site] 00150
4 google_myanmar_tools::BigEndian::loadInt16(void const*) [function] [call site] 00151
4 google_myanmar_tools::BigEndian::loadFloat(void const*) [function] [call site] 00152