Fuzz introspector: xml_parse_fuzzer_UTF-16
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
489 489 1 :

['entityValueInitProcessor']

489 489 externalParEntInitProcessor call site: 00000 /src/expat/expat/lib/xmlparse.c:4493
272 286 2 :

['accountingReportStats', 'accountingReportDiff']

272 286 accountingDiffTolerated call site: 00000 /src/expat/expat/lib/xmlparse.c:7913
162 4090 15 :

['memcmp', 'poolClear', 'reportDefault', 'lookup', 'freeBindings', 'doCdataSection', 'reportProcessingInstruction', 'XmlUtf8Encode', 'reportComment', 'poolStoreString', 'accountingOnAbort', 'getContext', 'processInternalEntity', 'storeAtts', 'accountingDiffTolerated']

162 4804 doContent call site: 00000 /src/expat/expat/lib/xmlparse.c:3078
162 4090 15 :

['memcmp', 'poolClear', 'reportDefault', 'lookup', 'freeBindings', 'doCdataSection', 'reportProcessingInstruction', 'XmlUtf8Encode', 'reportComment', 'poolStoreString', 'accountingOnAbort', 'getContext', 'processInternalEntity', 'storeAtts', 'accountingDiffTolerated']

162 4804 doContent call site: 00000 /src/expat/expat/lib/xmlparse.c:3139
50 50 1 :

['generate_hash_secret_salt']

50 310 startParsing call site: 00059 /src/expat/expat/lib/xmlparse.c:1044
8 8 2 :

['__errno_location', 'strtoul']

8 8 getDebugLevel call site: 00021 /src/expat/expat/lib/xmlparse.c:8526
6 6 1 :

['reportDefault']

6 6 epilogProcessor call site: 00000 /src/expat/expat/lib/xmlparse.c:5764
6 6 1 :

['reportDefault']

6 6 doIgnoreSection call site: 00000 /src/expat/expat/lib/xmlparse.c:4273
6 6 1 :

['reportDefault']

6 6 reportProcessingInstruction call site: 00000 /src/expat/expat/lib/xmlparse.c:6423
6 6 1 :

['reportDefault']

6 6 reportComment call site: 00000 /src/expat/expat/lib/xmlparse.c:6448
2 2 1 :

['XmlSizeOfUnknownEncoding']

2 2 handleUnknownEncoding call site: 00000 /src/expat/expat/lib/xmlparse.c:4438
0 1493 1 :

['doProlog']

0 1506 processInternalEntity call site: 00000 /src/expat/expat/lib/xmlparse.c:5850

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 XML_ParserCreate [function] [call site] 00001
2 XML_ParserCreate_MM [function] [call site] 00002
3 parserCreate [function] [call site] 00003
4 dtdCreate [function] [call site] 00004
5 hashTableInit [function] [call site] 00007
5 hashTableInit [function] [call site] 00008
5 hashTableInit [function] [call site] 00009
5 hashTableInit [function] [call site] 00010
5 hashTableInit [function] [call site] 00011
4 parserInit [function] [call site] 00014
5 XmlPrologStateInit [function] [call site] 00015
5 copyString [function] [call site] 00016
5 XmlInitEncoding [function] [call site] 00017
6 getEncodingIndex [function] [call site] 00018
5 getDebugLevel [function] [call site] 00020
6 getenv [call site] 00021
6 __errno_location [call site] 00022
6 strtoul [call site] 00023
6 __errno_location [call site] 00024
6 __errno_location [call site] 00025
5 getDebugLevel [function] [call site] 00026
4 XML_ParserFree [function] [call site] 00027
5 destroyBindings [function] [call site] 00028
5 destroyBindings [function] [call site] 00029
5 destroyBindings [function] [call site] 00030
5 poolDestroy [function] [call site] 00031
5 poolDestroy [function] [call site] 00032
5 dtdDestroy [function] [call site] 00033
6 hashTableIterInit [function] [call site] 00034
6 hashTableIterNext [function] [call site] 00035
6 hashTableDestroy [function] [call site] 00036
6 hashTableDestroy [function] [call site] 00037
6 hashTableDestroy [function] [call site] 00038
6 hashTableDestroy [function] [call site] 00039
6 hashTableDestroy [function] [call site] 00040
6 poolDestroy [function] [call site] 00041
6 poolDestroy [function] [call site] 00042
4 XmlGetUtf8InternalEncodingNS [function] [call site] 00043
4 XmlGetUtf8InternalEncoding [function] [call site] 00044
1 __assert_fail [call site] 00045
1 ParseOneInput [function] [call site] 00046
2 sip_tokey [function] [call site] 00047
2 siphash24 [function] [call site] 00048
3 sip24_init [function] [call site] 00049
2 XML_SetHashSalt [function] [call site] 00050
3 XML_SetHashSalt [function] [call site] 00051
2 XML_SetUserData [function] [call site] 00052
2 XML_SetElementHandler [function] [call site] 00053
2 XML_SetCharacterDataHandler [function] [call site] 00055
2 may_stop_character_handler [function] [call site] 00056
3 XML_StopParser [function] [call site] 00057
2 XML_Parse [function] [call site] 00058
3 startParsing [function] [call site] 00059
4 generate_hash_secret_salt [function] [call site] 00060
5 writeRandomBytes_getrandom_nonblock [function] [call site] 00061
6 getrandom [call site] 00062
6 __errno_location [call site] 00063
5 ENTROPY_DEBUG [function] [call site] 00064
6 getDebugLevel [function] [call site] 00065
6 fprintf [call site] 00066
5 writeRandomBytes_dev_urandom [function] [call site] 00067
6 open [call site] 00068
6 read [call site] 00069
6 __errno_location [call site] 00070
6 close [call site] 00071
5 ENTROPY_DEBUG [function] [call site] 00072
5 gather_time_entropy [function] [call site] 00073
6 gettimeofday [call site] 00074
6 __assert_fail [call site] 00075
5 getpid [call site] 00076
5 ENTROPY_DEBUG [function] [call site] 00077
4 setContext [function] [call site] 00078
5 poolGrow [function] [call site] 00079
6 poolBytesToAllocateFor [function] [call site] 00080
6 poolBytesToAllocateFor [function] [call site] 00081
5 lookup [function] [call site] 00082
6 hash [function] [call site] 00083
7 copy_salt_to_sipkey [function] [call site] 00084
8 get_hash_secret_salt [function] [call site] 00085
9 get_hash_secret_salt [function] [call site] 00086
7 sip24_init [function] [call site] 00087
7 sip24_update [function] [call site] 00089
8 sip_round [function] [call site] 00090
7 sip24_final [function] [call site] 00091
5 poolCopyString [function] [call site] 00099
5 addBinding [function] [call site] 00103
6 is_rfc3986_uri_char [function] [call site] 00104
3 XML_GetBuffer [function] [call site] 00106
3 __assert_fail [call site] 00107
3 XML_ParseBuffer [function] [call site] 00108
4 startParsing [function] [call site] 00109
4 callProcessor [function] [call site] 00110
2 XML_Parse [function] [call site] 00111
2 XML_GetErrorCode [function] [call site] 00112
2 XML_GetCurrentLineNumber [function] [call site] 00113
2 XML_ParserReset [function] [call site] 00114
3 moveToFreeBindingList [function] [call site] 00115
3 moveToFreeBindingList [function] [call site] 00116
3 poolClear [function] [call site] 00117
3 poolClear [function] [call site] 00118
3 parserInit [function] [call site] 00119
3 dtdReset [function] [call site] 00120
4 hashTableIterInit [function] [call site] 00121
4 hashTableIterNext [function] [call site] 00122
4 hashTableClear [function] [call site] 00123
4 hashTableClear [function] [call site] 00124
4 hashTableClear [function] [call site] 00125
4 hashTableClear [function] [call site] 00126
4 hashTableClear [function] [call site] 00127
4 poolClear [function] [call site] 00128
4 poolClear [function] [call site] 00129
1 XML_ParserCreateNS [function] [call site] 00130
2 XML_ParserCreate_MM [function] [call site] 00131
1 __assert_fail [call site] 00132
1 ParseOneInput [function] [call site] 00133
1 XML_ParserFree [function] [call site] 00134
1 XML_ExternalEntityParserCreate [function] [call site] 00135
2 parserCreate [function] [call site] 00136
2 parserCreate [function] [call site] 00137
2 dtdCopy [function] [call site] 00138
3 hashTableIterInit [function] [call site] 00139
3 hashTableIterNext [function] [call site] 00140
3 poolCopyString [function] [call site] 00141
3 hashTableIterInit [function] [call site] 00143
3 hashTableIterNext [function] [call site] 00144
3 poolCopyString [function] [call site] 00146
3 hashTableIterInit [function] [call site] 00149
3 hashTableIterNext [function] [call site] 00150
3 poolCopyString [function] [call site] 00151
3 poolCopyString [function] [call site] 00156
3 copyEntityTable [function] [call site] 00157
4 hashTableIterInit [function] [call site] 00158
4 hashTableIterNext [function] [call site] 00159
4 poolCopyString [function] [call site] 00160
4 poolCopyString [function] [call site] 00162
4 poolCopyString [function] [call site] 00163
4 poolCopyString [function] [call site] 00164
4 poolCopyStringN [function] [call site] 00165
4 poolCopyString [function] [call site] 00168
3 copyEntityTable [function] [call site] 00169
2 setContext [function] [call site] 00170
2 XML_ParserFree [function] [call site] 00171
2 XmlPrologStateInitExternalEntity [function] [call site] 00172
1 __assert_fail [call site] 00173
1 ParseOneInput [function] [call site] 00174
1 XML_ParserFree [function] [call site] 00175
1 XML_ExternalEntityParserCreate [function] [call site] 00176
1 __assert_fail [call site] 00177
1 ParseOneInput [function] [call site] 00178
1 XML_ParserFree [function] [call site] 00179
1 XML_ParserFree [function] [call site] 00180