Fuzz introspector: xmltest
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
20 20 1 :

['tinyxml2::StrPair::CollapseWhitespace()']

20 20 tinyxml2::StrPair::GetStr() call site: 00000 /src/tinyxml2/tinyxml2.cpp:380
0 29 1 :

['tinyxml2::XMLNode::DeleteChild(tinyxml2::XMLNode*)']

0 29 tinyxml2::XMLDocument::DeleteNode(tinyxml2::XMLNode*) call site: 00000 /src/tinyxml2/tinyxml2.cpp:2305
0 5 1 :

['tinyxml2::XMLNode::Unlink(tinyxml2::XMLNode*)']

0 5 tinyxml2::XMLNode::InsertChildPreamble(tinyxml2::XMLNode*)const call site: 00000 /src/tinyxml2/tinyxml2.cpp:1184
0 0 None 2 6 tinyxml2::XMLUtil::GetCharacterRef(charconst*,char*,int*) call site: 00000 /src/tinyxml2/tinyxml2.cpp:535
0 0 None 0 627 tinyxml2::XMLNode::ParseDeep(char*,tinyxml2::StrPair*,int*) call site: 00000 /src/tinyxml2/tinyxml2.cpp:1146
0 0 None 0 38 tinyxml2::XMLText::ParseDeep(char*,tinyxml2::StrPair*,int*) call site: 00000 /src/tinyxml2/tinyxml2.cpp:1220
0 0 None 0 0 tinyxml2::StrPair::TransferTo(tinyxml2::StrPair*) call site: 00000 /src/tinyxml2/tinyxml2.cpp:168
0 0 None 0 0 tinyxml2::XMLNode::Value()const call site: 00000 /src/tinyxml2/tinyxml2.cpp:828
0 0 None 0 0 tinyxml2::XMLNode::Unlink(tinyxml2::XMLNode*) call site: 00000 /src/tinyxml2/tinyxml2.cpp:878
0 0 None 0 0 tinyxml2::XMLNode::InsertEndChild(tinyxml2::XMLNode*) call site: 00000 /src/tinyxml2/tinyxml2.cpp:906
0 0 None 0 0 tinyxml2::XMLNode::DeleteNode(tinyxml2::XMLNode*) call site: 00000 /src/tinyxml2/tinyxml2.cpp:1166
0 0 None 0 0 tinyxml2::XMLElement::Attribute(charconst*,charconst*)const call site: 00000 /src/tinyxml2/tinyxml2.cpp:1609

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 tinyxml2::XMLDocument::XMLDocument(bool, tinyxml2::Whitespace) [function] [call site] 00001
2 tinyxml2::XMLNode::XMLNode(tinyxml2::XMLDocument*) [function] [call site] 00002
3 tinyxml2::StrPair::StrPair() [function] [call site] 00003
2 tinyxml2::StrPair::StrPair() [function] [call site] 00004
2 tinyxml2::DynArray ::DynArray() [function] [call site] 00005
2 tinyxml2::MemPoolT<120>::MemPoolT() [function] [call site] 00006
3 tinyxml2::MemPool::MemPool() [function] [call site] 00007
2 tinyxml2::MemPoolT<80>::MemPoolT() [function] [call site] 00008
2 tinyxml2::MemPoolT<112>::MemPoolT() [function] [call site] 00009
2 tinyxml2::MemPoolT<104>::MemPoolT() [function] [call site] 00010
2 tinyxml2::MemPoolT<112>::~MemPoolT() [function] [call site] 00011
3 tinyxml2::MemPoolT<112>::Clear() [function] [call site] 00012
4 tinyxml2::DynArray ::Block*, 10>::Empty() const [function] [call site] 00013
4 tinyxml2::DynArray ::Block*, 10>::Pop() [function] [call site] 00014
3 tinyxml2::DynArray ::Block*, 10>::~DynArray() [function] [call site] 00015
3 __clang_call_terminate [call site] 00016
4 __cxa_begin_catch [call site] 00017
2 tinyxml2::StrPair::~StrPair() [function] [call site] 00018
3 tinyxml2::StrPair::Reset() [function] [call site] 00019
3 __clang_call_terminate [call site] 00020
1 tinyxml2::XMLDocument::Parse(char const*, unsigned long) [function] [call site] 00021
2 tinyxml2::XMLDocument::Clear() [function] [call site] 00022
3 tinyxml2::XMLNode::DeleteChildren() [function] [call site] 00023
4 tinyxml2::XMLNode::DeleteChild(tinyxml2::XMLNode*) [function] [call site] 00024
5 tinyxml2::XMLNode::Unlink(tinyxml2::XMLNode*) [function] [call site] 00025
5 tinyxml2::XMLNode::DeleteNode(tinyxml2::XMLNode*) [function] [call site] 00026
6 tinyxml2::XMLDocument::MarkInUse(tinyxml2::XMLNode const*) [function] [call site] 00027
7 tinyxml2::DynArray ::Size() const [function] [call site] 00028
7 tinyxml2::DynArray ::operator[](int) [function] [call site] 00029
7 tinyxml2::DynArray ::SwapRemove(int) [function] [call site] 00030
3 tinyxml2::DynArray ::Size() const [function] [call site] 00031
3 tinyxml2::DynArray ::operator[](int) [function] [call site] 00032
3 tinyxml2::XMLDocument::DeleteNode(tinyxml2::XMLNode*) [function] [call site] 00033
4 tinyxml2::XMLNode::DeleteChild(tinyxml2::XMLNode*) [function] [call site] 00034
4 tinyxml2::XMLNode::DeleteNode(tinyxml2::XMLNode*) [function] [call site] 00035
3 tinyxml2::XMLDocument::ClearError() [function] [call site] 00036
4 tinyxml2::StrPair::Reset() [function] [call site] 00037
2 tinyxml2::XMLDocument::SetError(tinyxml2::XMLError, int, char const*, ...) [function] [call site] 00038
3 tinyxml2::StrPair::Reset() [function] [call site] 00039
3 tinyxml2::XMLDocument::ErrorIDToName(tinyxml2::XMLError) [function] [call site] 00040
3 snprintf [call site] 00041
3 strlen [call site] 00042
3 snprintf [call site] 00043
3 strlen [call site] 00044
3 vsnprintf [call site] 00045
3 tinyxml2::StrPair::SetStr(char const*, int) [function] [call site] 00046
4 tinyxml2::StrPair::Reset() [function] [call site] 00047
4 strlen [call site] 00048
2 strlen [call site] 00049
2 tinyxml2::XMLDocument::Parse() [function] [call site] 00050
3 tinyxml2::XMLUtil::SkipWhiteSpace(char*, int*) [function] [call site] 00051
4 tinyxml2::XMLUtil::SkipWhiteSpace(char const*, int*) [function] [call site] 00052
5 tinyxml2::XMLUtil::IsWhiteSpace(char) [function] [call site] 00053
6 tinyxml2::XMLUtil::IsUTF8Continuation(char) [function] [call site] 00054
6 isspace [call site] 00055
3 tinyxml2::XMLUtil::ReadBOM(char const*, bool*) [function] [call site] 00056
3 tinyxml2::XMLDocument::SetError(tinyxml2::XMLError, int, char const*, ...) [function] [call site] 00057
2 tinyxml2::XMLDocument::Error() const [function] [call site] 00058
2 tinyxml2::XMLNode::DeleteChildren() [function] [call site] 00059
2 tinyxml2::MemPoolT<120>::Clear() [function] [call site] 00060
2 tinyxml2::MemPoolT<80>::Clear() [function] [call site] 00061
2 tinyxml2::MemPoolT<112>::Clear() [function] [call site] 00062
2 tinyxml2::MemPoolT<104>::Clear() [function] [call site] 00063
1 tinyxml2::XMLDocument::~XMLDocument() [function] [call site] 00064
2 tinyxml2::XMLDocument::Clear() [function] [call site] 00065
2 tinyxml2::MemPoolT<104>::~MemPoolT() [function] [call site] 00066
2 tinyxml2::StrPair::~StrPair() [function] [call site] 00067
2 __clang_call_terminate [call site] 00068