Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzzer details

Fuzzer: FuzzIxml

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 58 14.4%
gold [1:9] 0 0.0%
yellow [10:29] 1 0.24%
greenyellow [30:49] 5 1.24%
lawngreen 50+ 338 84.0%
All colors 402 100

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
36 36 1 :

['ixmlNode_removeChild']

36 36 ixmlNode_appendChild call site: 00267 /src/pupnp/ixml/src/node.c:668
23 23 2 :

['free', 'ixmlElement_free']

23 23 ixmlDocument_createElementEx call site: 00242 /src/pupnp/ixml/src/document.c:135
23 23 1 :

['ixmlAttr_free']

23 23 ixmlDocument_createAttributeEx call site: 00302 /src/pupnp/ixml/src/document.c:287
23 23 1 :

['ixmlCDATASection_free']

23 23 ixmlDocument_createCDATASectionEx call site: 00292 /src/pupnp/ixml/src/document.c:391
23 23 1 :

['ixmlAttr_free']

23 23 ixmlElement_setAttributeNode call site: 00307 /src/pupnp/ixml/src/element.c:245
23 23 1 :

['ixmlElement_free']

23 23 Parser_processElementName call site: 00261 /src/pupnp/ixml/src/ixmlparser.c:2434
23 23 1 :

['ixmlAttr_free']

23 23 Parser_processAttributeName call site: 00306 /src/pupnp/ixml/src/ixmlparser.c:2262
2 2 1 :

['realloc']

2 2 ixml_membuf_set_size call site: 00140 /src/pupnp/ixml/src/ixmlmembuf.c:88
2 2 1 :

['strcmp']

2 2 Parser_getNameSpace call site: 00225 /src/pupnp/ixml/src/ixmlparser.c:1675
0 23 1 :

['ixmlDocument_free']

0 23 ixmlDocument_createDocumentEx call site: 00038 /src/pupnp/ixml/src/document.c:184
0 22 1 :

['Parser_free']

0 22 Parser_LoadDocument call site: 00012 /src/pupnp/ixml/src/ixmlparser.c:2804
0 20 1 :

['ixmlNode_free']

0 20 ixmlDocument_createTextNodeEx call site: 00284 /src/pupnp/ixml/src/document.c:238

Runtime coverage analysis

Covered functions
96
Functions that are reachable but not covered
26
Reachable functions
122
Percentage of reachable functions covered
78.69%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
fuzzer/FuzzIxml.c 2
ixml/src/ixml.c 6
ixml/src/ixmlparser.c 52
ixml/src/ixmlmembuf.c 8
ixml/src/node.c 19
ixml/src/document.c 7
ixml/src/ixmldebug.c 1
ixml/src/element.c 3
ixml/src/attr.c 2

Analyses and suggestions