Fuzz introspector: fuzz_zxdoc
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
14 14 1 :

['gMemError(char const*)']

14 90 GString::resize(int) call site: 00000 /src/xpdf-4.04/goo/GString.cc:115
14 14 1 :

['gMemError(char const*)']

14 33 gmallocn(int,int) call site: 00000 /src/xpdf-4.04/goo/gmem.cc:211
0 0 None 28 28 gmalloc(int) call site: 00000 /src/xpdf-4.04/goo/gmem.cc:142
0 0 None 4 10 GHash::~GHash() call site: 00000 /src/xpdf-4.04/goo/GHash.cc:58
0 0 None 0 0 GHash::getNext(GHashIter**,GString**,void**) call site: 00000 /src/xpdf-4.04/goo/GHash.cc:272
0 0 None 0 0 GString::resize(int) call site: 00000 /src/xpdf-4.04/goo/GString.cc:122
0 0 None 0 0 gmalloc(int) call site: 00000 /src/xpdf-4.04/goo/gmem.cc:145
0 0 None 0 0 gmalloc(int) call site: 00000 /src/xpdf-4.04/goo/gmem.cc:148
0 0 None 0 0 gmallocn(int,int) call site: 00000 /src/xpdf-4.04/goo/gmem.cc:207

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 ZxDoc::ZxDoc() [function] [call site] 00001
2 ZxNode::ZxNode() [function] [call site] 00002
1 ZxDoc::loadMem(char const*, unsigned int) [function] [call site] 00003
2 ZxDoc::ZxDoc() [function] [call site] 00004
2 ZxDoc::parse(char const*, unsigned int) [function] [call site] 00005
3 ZxDoc::parseSpace() [function] [call site] 00006
3 ZxDoc::parseXMLDecl(ZxNode*) [function] [call site] 00007
4 ZxDoc::match(char const*) [function] [call site] 00008
5 strlen [call site] 00009
5 strncmp [call site] 00010
4 ZxDoc::parseSpace() [function] [call site] 00011
4 ZxDoc::match(char const*) [function] [call site] 00012
4 ZxDoc::parseSpace() [function] [call site] 00013
4 ZxDoc::match(char const*) [function] [call site] 00014
4 ZxDoc::parseSpace() [function] [call site] 00015
4 ZxDoc::parseQuotedString() [function] [call site] 00016
5 GString::GString(char const*, int) [function] [call site] 00017
6 GString::resize(int) [function] [call site] 00018
7 gMemError(char const*) [function] [call site] 00019
8 __cxa_allocate_exception [call site] 00020
8 GMemException::GMemException() [function] [call site] 00021
7 size(int) [function] [call site] 00022
8 gMemError(char const*) [function] [call site] 00023
7 size(int) [function] [call site] 00024
7 size(int) [function] [call site] 00025
5 GString::GString() [function] [call site] 00026
6 GString::resize(int) [function] [call site] 00027
4 GString::GString(char const*) [function] [call site] 00028
5 strlen [call site] 00029
5 GString::resize(int) [function] [call site] 00030
4 ZxDoc::parseSpace() [function] [call site] 00031
4 ZxDoc::match(char const*) [function] [call site] 00032
4 ZxDoc::parseSpace() [function] [call site] 00033
4 ZxDoc::match(char const*) [function] [call site] 00034
4 ZxDoc::parseSpace() [function] [call site] 00035
4 ZxDoc::parseQuotedString() [function] [call site] 00036
4 ZxDoc::parseSpace() [function] [call site] 00037
4 ZxDoc::match(char const*) [function] [call site] 00038
4 ZxDoc::parseSpace() [function] [call site] 00039
4 ZxDoc::match(char const*) [function] [call site] 00040
4 ZxDoc::parseSpace() [function] [call site] 00041
4 ZxDoc::parseQuotedString() [function] [call site] 00042
4 GString::cmp(char const*) [function] [call site] 00043
4 GString::~GString() [function] [call site] 00044
4 ZxDoc::parseSpace() [function] [call site] 00045
4 ZxDoc::match(char const*) [function] [call site] 00046
4 ZxXMLDecl::ZxXMLDecl(GString*, GString*, bool) [function] [call site] 00047
5 ZxNode::ZxNode() [function] [call site] 00048
3 ZxDoc::parseMisc(ZxNode*) [function] [call site] 00049
4 ZxDoc::match(char const*) [function] [call site] 00050
4 ZxDoc::parseComment(ZxNode*) [function] [call site] 00051
5 strncmp [call site] 00052
5 GString::GString(char const*, int) [function] [call site] 00053
5 ZxComment::ZxComment(GString*) [function] [call site] 00054
6 ZxNode::ZxNode() [function] [call site] 00055
4 ZxDoc::match(char const*) [function] [call site] 00056
4 ZxDoc::parsePI(ZxNode*) [function] [call site] 00057
5 ZxDoc::parseName() [function] [call site] 00058
6 GString::GString() [function] [call site] 00059
6 GString::append(char) [function] [call site] 00060
7 gMemError(char const*) [function] [call site] 00061
7 GString::resize(int) [function] [call site] 00062
6 GString::append(char) [function] [call site] 00063
5 ZxDoc::parseSpace() [function] [call site] 00064
5 strncmp [call site] 00065
5 GString::GString(char const*, int) [function] [call site] 00066
5 ZxPI::ZxPI(GString*, GString*) [function] [call site] 00067
6 ZxNode::ZxNode() [function] [call site] 00068
5 GString::GString(char const*, int) [function] [call site] 00069
5 ZxPI::ZxPI(GString*, GString*) [function] [call site] 00070
3 ZxDoc::parseDocTypeDecl(ZxNode*) [function] [call site] 00071
4 ZxDoc::match(char const*) [function] [call site] 00072
4 ZxDoc::parseSpace() [function] [call site] 00073
4 ZxDoc::parseName() [function] [call site] 00074
4 ZxDoc::parseSpace() [function] [call site] 00075
4 ZxDocTypeDecl::ZxDocTypeDecl(GString*) [function] [call site] 00076
5 ZxNode::ZxNode() [function] [call site] 00077
3 ZxDoc::parseMisc(ZxNode*) [function] [call site] 00078
3 ZxDoc::match(char const*) [function] [call site] 00079
3 ZxDoc::parseElement(ZxNode*) [function] [call site] 00080
4 ZxDoc::parseName() [function] [call site] 00081
4 ZxElement::ZxElement(GString*) [function] [call site] 00082
5 ZxNode::ZxNode() [function] [call site] 00083
5 GHash::GHash(int) [function] [call site] 00084
6 gmallocn(int, int) [function] [call site] 00085
7 gMemError(char const*) [function] [call site] 00086
7 gmalloc(int) [function] [call site] 00087
8 gMemError(char const*) [function] [call site] 00088
8 gMemError(char const*) [function] [call site] 00089
5 ZxNode::~ZxNode() [function] [call site] 00090
6 ZxNode::~ZxNode() [function] [call site] 00091
4 ZxDoc::parseSpace() [function] [call site] 00092
4 ZxDoc::parseAttr() [function] [call site] 00093
5 ZxDoc::parseName() [function] [call site] 00094
5 ZxDoc::parseSpace() [function] [call site] 00095
5 ZxDoc::match(char const*) [function] [call site] 00096
5 GString::~GString() [function] [call site] 00097
5 ZxDoc::parseSpace() [function] [call site] 00098
5 GString::~GString() [function] [call site] 00099
5 GString::GString() [function] [call site] 00100
5 ZxDoc::appendUTF8(GString*, unsigned int) [function] [call site] 00101
6 GString::append(char) [function] [call site] 00102
6 GString::append(char) [function] [call site] 00103
6 GString::append(char) [function] [call site] 00104
6 GString::append(char) [function] [call site] 00105
6 GString::append(char) [function] [call site] 00106
6 GString::append(char) [function] [call site] 00107
6 GString::append(char) [function] [call site] 00108
6 GString::append(char) [function] [call site] 00109
6 GString::append(char) [function] [call site] 00110
6 GString::append(char) [function] [call site] 00111
6 GString::append(char) [function] [call site] 00112
6 GString::append(char) [function] [call site] 00113
6 GString::append(char) [function] [call site] 00114
6 GString::append(char) [function] [call site] 00115
6 GString::append(char) [function] [call site] 00116
6 GString::append(char) [function] [call site] 00117
6 GString::append(char) [function] [call site] 00118
6 GString::append(char) [function] [call site] 00119
6 GString::append(char) [function] [call site] 00120
6 GString::append(char) [function] [call site] 00121
6 GString::append(char) [function] [call site] 00122
5 ZxDoc::appendUTF8(GString*, unsigned int) [function] [call site] 00123
5 strncmp [call site] 00124
5 GString::append(char) [function] [call site] 00125
5 strncmp [call site] 00126
5 GString::append(char) [function] [call site] 00127
5 strncmp [call site] 00128
5 GString::append(char) [function] [call site] 00129
5 strncmp [call site] 00130
5 GString::append(char) [function] [call site] 00131
5 strncmp [call site] 00132
5 GString::append(char) [function] [call site] 00133
5 GString::append(char const*, int) [function] [call site] 00134
6 gMemError(char const*) [function] [call site] 00135
6 GString::resize(int) [function] [call site] 00136
5 GString::append(char const*, int) [function] [call site] 00137
5 ZxAttr::ZxAttr(GString*, GString*) [function] [call site] 00138
4 ZxElement::addAttr(ZxAttr*) [function] [call site] 00139
5 ZxAttr::getName() [function] [call site] 00140
5 GHash::add(GString*, void*) [function] [call site] 00141
6 GHash::expand() [function] [call site] 00142
7 gmallocn(int, int) [function] [call site] 00143
7 GHash::hash(GString*) [function] [call site] 00144
8 GString::getCString() [function] [call site] 00145
7 gfree(void*) [function] [call site] 00146
6 GHash::hash(GString*) [function] [call site] 00147
4 ZxDoc::parseSpace() [function] [call site] 00148
4 ZxDoc::match(char const*) [function] [call site] 00149
4 ZxDoc::match(char const*) [function] [call site] 00150
4 ZxDoc::parseContent(ZxElement*) [function] [call site] 00151
5 GString::GString(char const*) [function] [call site] 00152
5 ZxElement::getType() [function] [call site] 00153
5 GString::getCString() [function] [call site] 00154
5 ZxDoc::match(char const*) [function] [call site] 00155
5 GString::getLength() [function] [call site] 00156
5 ZxDoc::parseSpace() [function] [call site] 00157
5 ZxDoc::match(char const*) [function] [call site] 00158
5 ZxDoc::match(char const*) [function] [call site] 00159
5 ZxDoc::parsePI(ZxNode*) [function] [call site] 00160
5 ZxDoc::match(char const*) [function] [call site] 00161
5 ZxDoc::parseCDSect(ZxNode*) [function] [call site] 00162
6 strncmp [call site] 00163
6 GString::GString(char const*, int) [function] [call site] 00164
6 ZxCharData::ZxCharData(GString*, bool) [function] [call site] 00165
7 ZxNode::ZxNode() [function] [call site] 00166
6 GString::GString(char const*, int) [function] [call site] 00167
6 ZxCharData::ZxCharData(GString*, bool) [function] [call site] 00168
5 ZxDoc::match(char const*) [function] [call site] 00169
5 ZxDoc::parseComment(ZxNode*) [function] [call site] 00170
5 ZxDoc::match(char const*) [function] [call site] 00171
5 ZxDoc::parseElement(ZxNode*) [function] [call site] 00172
6 ZxNode::addChild(ZxNode*) [function] [call site] 00173
5 ZxDoc::parseCharData(ZxElement*) [function] [call site] 00174
6 GString::GString() [function] [call site] 00175
6 ZxDoc::appendUTF8(GString*, unsigned int) [function] [call site] 00176
6 ZxDoc::appendUTF8(GString*, unsigned int) [function] [call site] 00177
6 strncmp [call site] 00178
6 GString::append(char) [function] [call site] 00179
6 strncmp [call site] 00180
6 GString::append(char) [function] [call site] 00181
6 strncmp [call site] 00182
6 GString::append(char) [function] [call site] 00183
6 strncmp [call site] 00184
6 GString::append(char) [function] [call site] 00185
6 strncmp [call site] 00186
6 GString::append(char) [function] [call site] 00187
6 GString::append(char const*, int) [function] [call site] 00188
6 GString::append(char const*, int) [function] [call site] 00189
6 ZxCharData::ZxCharData(GString*, bool) [function] [call site] 00190
5 GString::~GString() [function] [call site] 00191
3 ZxDoc::parseMisc(ZxNode*) [function] [call site] 00192
2 ZxDoc::~ZxDoc() [function] [call site] 00193
3 ZxDoc::~ZxDoc() [function] [call site] 00194
4 ZxNode::~ZxNode() [function] [call site] 00195
1 ZxDoc::~ZxDoc() [function] [call site] 00196
1 ZxDoc::~ZxDoc() [function] [call site] 00197