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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
73 206 fontTools.ttLib.sfnt.WOFFFlavorData.__init__ call site: {node_id} fontTools.ttLib.ttFont.TTFont.saveXML
36 287 fontTools.ttLib.ttFont.tagToIdentifier call site: {node_id} fontTools.ttLib.ttFont.TTFont._tableToXML
33 74 fontTools.misc.sstruct.unpack call site: {node_id} fontTools.misc.macRes.ResourceReader._readFile
19 23 fontTools.ttLib.ttFont.TTFont.__init__ call site: {node_id} fontTools.ttLib.macUtils.getSFNTResIndices
12 113 fontTools.ttLib.macUtils.getSFNTResIndices call site: {node_id} fontTools.ttLib.macUtils.SFNTResourceReader.__init__
10 12 fontTools.misc.configTools.AbstractConfig.__init__ call site: {node_id} fontTools.misc.configTools.AbstractConfig.set
5 62 fontTools.misc.sstruct.getformat call site: {node_id} m.group
5 146 fontTools.ttLib.sfnt.readTTCHeader call site: {node_id} fontTools.misc.sstruct.unpack
4 44 fontTools.misc.textTools.tobytes call site: {node_id} os.linesep.encode
4 108 fontTools.ttLib.macUtils.getSFNTResIndices call site: {node_id} fontTools.misc.macRes.ResourceReader.countResources
4 126 fontTools.ttLib.ttFont.TTFont.__init__ call site: {node_id} .hasattr
3 283 fontTools.ttLib.ttFont._escapechar call site: {node_id} fontTools.misc.textTools.byteord

Fuzzer calltree

0 ...fuzz_ttfont_save.TestOneInput [function] [call site] 00000
1 fontTools.ttLib.ttFont.TTFont.__init__ [function] [call site] 00003
2 fontTools.misc.loggingTools.deprecateArgument [function] [call site] 00005
3 warnings.warn [function] [call site] 00006
2 .isinstance [function] [call site] 00008
2 fontTools.misc.configTools.AbstractConfig.__init__ [function] [call site] 00010
3 .isinstance [function] [call site] 00011
3 values_dict.items [function] [call site] 00012
3 fontTools.misc.configTools.AbstractConfig.set [function] [call site] 00013
4 fontTools.misc.configTools.AbstractConfig._resolve_option [function] [call site] 00014
5 .isinstance [function] [call site] 00015
5 typing.MutableMapping.options.is_registered [function] [call site] 00016
5 fontTools.misc.configTools.Options.is_registered [function] [call site] 00017
5 .isinstance [function] [call site] 00018
4 log.debug [function] [call site] 00020
4 option.parse [function] [call site] 00021
4 option.validate [function] [call site] 00022
2 fontTools.ttLib.macUtils.getSFNTResIndices [function] [call site] 00024
3 fontTools.misc.macRes.ResourceReader.__init__ [function] [call site] 00025
4 collections.OrderedDict [function] [call site] 00026
4 fontTools.misc.macRes.ResourceReader.openResourceFork [function] [call site] 00028
5 io.BytesIO.__fspath__ [function] [call site] 00030
5 resfork.read [function] [call site] 00032
5 io.BytesIO [function] [call site] 00033
4 fontTools.misc.macRes.ResourceReader._readFile [function] [call site] 00034
5 fontTools.misc.macRes.ResourceReader._readHeaderAndMap [function] [call site] 00035
6 io.BytesIO.seek [function] [call site] 00036
6 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00037
7 io.BytesIO.seek [function] [call site] 00038
7 io.BytesIO.tell [function] [call site] 00039
7 io.BytesIO.read [function] [call site] 00040
6 fontTools.misc.sstruct.unpack [function] [call site] 00042
7 fontTools.misc.textTools.tobytes [function] [call site] 00043
8 .isinstance [function] [call site] 00044
8 os.linesep.encode [function] [call site] 00045
8 types.SimpleNamespace.encode [function] [call site] 00046
8 collections.abc.Sequence.data.encode [function] [call site] 00047
8 collections.abc.MutableMapping.encode [function] [call site] 00048
7 fontTools.misc.sstruct.getformat [function] [call site] 00050
8 fontTools.misc.textTools.tostr [function] [call site] 00051
9 .isinstance [function] [call site] 00052
9 os.linesep.decode [function] [call site] 00053
8 _emptyRE.match [function] [call site] 00055
8 _extraRE.match [function] [call site] 00056
8 _elementRE.match [function] [call site] 00058
8 names.append [function] [call site] 00061
7 .isinstance [function] [call site] 00068
7 struct.unpack [function] [call site] 00069
7 fontTools.misc.fixedTools.fixedToFloat [function] [call site] 00072
7 .isinstance [function] [call site] 00073
7 fontTools.misc.textTools.tostr [function] [call site] 00074
6 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00075
6 fontTools.misc.sstruct.unpack [function] [call site] 00076
5 fontTools.misc.macRes.ResourceReader._readTypeList [function] [call site] 00077
6 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00078
6 struct.unpack [function] [call site] 00079
6 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00081
6 fontTools.misc.sstruct.unpack [function] [call site] 00082
6 fontTools.misc.textTools.tostr [function] [call site] 00083
6 fontTools.misc.macRes.ResourceReader._readReferenceList [function] [call site] 00084
7 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00086
7 fontTools.misc.macRes.Resource.__init__ [function] [call site] 00087
7 fontTools.misc.macRes.Resource.decompile [function] [call site] 00088
8 fontTools.misc.sstruct.unpack [function] [call site] 00089
8 fontTools.misc.textTools.bytesjoin [function] [call site] 00090
9 fontTools.misc.textTools.tobytes [function] [call site] 00091
9 fontTools.misc.textTools.tobytes [function] [call site] 00092
8 struct.unpack [function] [call site] 00093
8 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00094
8 struct.unpack [function] [call site] 00095
8 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00096
8 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00097
8 struct.unpack [function] [call site] 00098
8 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00099
8 struct.unpack [function] [call site] 00100
8 fontTools.misc.textTools.tostr [function] [call site] 00101
7 resources.append [function] [call site] 00102
4 fontTools.misc.macRes.ResourceReader.openDataFork [function] [call site] 00103
5 datafork.read [function] [call site] 00105
5 io.BytesIO [function] [call site] 00106
4 fontTools.misc.macRes.ResourceReader._readFile [function] [call site] 00107
3 fontTools.misc.macRes.ResourceReader.getIndices [function] [call site] 00108
4 fontTools.misc.macRes.ResourceReader.countResources [function] [call site] 00109
3 fontTools.misc.macRes.ResourceReader.close [function] [call site] 00113
4 io.BytesIO.close [function] [call site] 00114
2 fontTools.ttLib.macUtils.SFNTResourceReader.__init__ [function] [call site] 00115
3 fontTools.misc.macRes.ResourceReader.__init__ [function] [call site] 00116
3 .isinstance [function] [call site] 00117
3 fontTools.misc.macRes.ResourceReader.getNamedResource [function] [call site] 00118
4 fontTools.misc.textTools.tostr [function] [call site] 00119
4 collections.abc.MutableMapping.get [function] [call site] 00120
3 fontTools.misc.macRes.ResourceReader.getIndResource [function] [call site] 00121
3 fontTools.misc.macRes.ResourceReader.close [function] [call site] 00122
2 fontTools.ttLib.macUtils.SFNTResourceReader.__init__ [function] [call site] 00125
2 io.BytesIO.seekable [function] [call site] 00128
2 io.BytesIO.seek [function] [call site] 00130
2 io.BytesIO.seek [function] [call site] 00131
2 io.BytesIO.read [function] [call site] 00132
2 io.BytesIO [function] [call site] 00133
2 io.BytesIO.close [function] [call site] 00135
2 fontTools.ttLib.sfnt.SFNTReader.__init__ [function] [call site] 00136
3 io.BytesIO.seek [function] [call site] 00137
3 io.BytesIO.read [function] [call site] 00138
3 io.BytesIO.seek [function] [call site] 00139
3 fontTools.ttLib.sfnt.readTTCHeader [function] [call site] 00140
4 io.BytesIO.seek [function] [call site] 00141
4 io.BytesIO.read [function] [call site] 00142
4 types.SimpleNamespace [function] [call site] 00144
4 fontTools.misc.sstruct.unpack [function] [call site] 00145
4 struct.unpack [function] [call site] 00146
4 io.BytesIO.read [function] [call site] 00147
3 io.BytesIO.seek [function] [call site] 00148
3 io.BytesIO.read [function] [call site] 00149
3 fontTools.misc.sstruct.unpack [function] [call site] 00151
3 io.BytesIO.read [function] [call site] 00152
3 fontTools.misc.sstruct.unpack [function] [call site] 00154
3 io.BytesIO.read [function] [call site] 00155
3 fontTools.misc.sstruct.unpack [function] [call site] 00157
3 fontTools.ttLib.sfnt.DirectoryEntry.__init__ [function] [call site] 00159
3 fontTools.ttLib.sfnt.WOFFDirectoryEntry.__init__ [function] [call site] 00160
3 fontTools.ttLib.sfnt.DirectoryEntry.__init__ [function] [call site] 00163
3 fontTools.ttLib.woff2.WOFF2DirectoryEntry.fromFile [function] [call site] 00164
4 io.BytesIO.tell [function] [call site] 00165
4 io.BytesIO.read [function] [call site] 00166
4 fontTools.ttLib.woff2.WOFF2DirectoryEntry.fromString [function] [call site] 00167
5 fontTools.misc.sstruct.unpack2 [function] [call site] 00169
6 fontTools.misc.sstruct.calcsize [function] [call site] 00170
7 fontTools.misc.sstruct.getformat [function] [call site] 00171
7 struct.calcsize [function] [call site] 00172
6 fontTools.misc.sstruct.unpack [function] [call site] 00173
5 fontTools.misc.sstruct.unpack2 [function] [call site] 00175
5 fontTools.ttLib.woff2.unpackBase128 [function] [call site] 00176
6 fontTools.misc.textTools.byteord [function] [call site] 00178
6 fontTools.misc.textTools.byteord [function] [call site] 00183
5 fontTools.ttLib.woff2.unpackBase128 [function] [call site] 00184
4 io.BytesIO.seek [function] [call site] 00187
3 fontTools.ttLib.sfnt.DirectoryEntry.fromFile [function] [call site] 00188
4 io.BytesIO.read [function] [call site] 00189
4 fontTools.misc.sstruct.unpack [function] [call site] 00190
3 tables.items [function] [call site] 00191
3 collections.OrderedDict [function] [call site] 00193
3 fontTools.ttLib.sfnt.WOFFFlavorData.__init__ [function] [call site] 00194
4 io.BytesIO.seek [function] [call site] 00195
4 io.BytesIO.read [function] [call site] 00196
4 fontTools.ttLib.woff2.WOFF2FlavorData._decompress [function] [call site] 00198
5 brotlicffi.decompress [function] [call site] 00199
5 brotli.decompress [function] [call site] 00200
4 fontTools.ttLib.sfnt.WOFFFlavorData._decompress [function] [call site] 00201
5 zlib.decompress [function] [call site] 00202
4 io.BytesIO.seek [function] [call site] 00204
4 io.BytesIO.read [function] [call site] 00205
1 fontTools.ttLib.ttFont.TTFont.saveXML [function] [call site] 00207
2 fontTools.misc.xmlWriter.XMLWriter.__init__ [function] [call site] 00208
3 encoding.lower [function] [call site] 00209
3 io.BytesIO.write [function] [call site] 00212
3 sys.stdout.write [function] [call site] 00213
3 io.BytesIO.write [function] [call site] 00214
3 sys.stdout.write [function] [call site] 00215
3 fontTools.misc.textTools.tobytes [function] [call site] 00216
3 fontTools.misc.textTools.tostr [function] [call site] 00217
3 fontTools.misc.textTools.tobytes [function] [call site] 00218
3 fontTools.misc.textTools.tostr [function] [call site] 00219
3 fontTools.misc.textTools.tobytes [function] [call site] 00220
3 fontTools.misc.textTools.tostr [function] [call site] 00221
3 fontTools.misc.xmlWriter.XMLWriter._writeraw [function] [call site] 00222
4 io.BytesIO.write [function] [call site] 00223
4 sys.stdout.write [function] [call site] 00224
4 fontTools.misc.textTools.tobytes [function] [call site] 00225
4 fontTools.misc.textTools.tostr [function] [call site] 00226
4 os.linesep.strip [function] [call site] 00227
4 io.BytesIO.write [function] [call site] 00228
4 sys.stdout.write [function] [call site] 00229
3 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00230
4 io.BytesIO.write [function] [call site] 00231
4 sys.stdout.write [function] [call site] 00232
2 fontTools.ttLib.ttFont.TTFont._saveXML [function] [call site] 00233
3 fontTools.misc.loggingTools.deprecateArgument [function] [call site] 00234
3 fontTools.ttLib.ttFont.TTFont.keys [function] [call site] 00235
4 fontTools.ttLib.sfnt.SFNTReader.keys [function] [call site] 00237
5 collections.OrderedDict.keys [function] [call site] 00238
4 keys.append [function] [call site] 00240
4 keys.remove [function] [call site] 00241
4 fontTools.ttLib.ttFont.sortedTagList [function] [call site] 00242
5 tagList.remove [function] [call site] 00244
5 tagList.append [function] [call site] 00245
5 orderedTables.append [function] [call site] 00246
5 tagList.remove [function] [call site] 00247
5 orderedTables.extend [function] [call site] 00248
3 tables.remove [function] [call site] 00250
3 version.split [function] [call site] 00252
3 fontTools.misc.xmlWriter.XMLWriter.begintag [function] [call site] 00253
4 fontTools.misc.xmlWriter.XMLWriter.stringifyattrs [function] [call site] 00254
5 kwargs.items [function] [call site] 00255
5 .isinstance [function] [call site] 00258
5 fontTools.misc.xmlWriter.escapeattr [function] [call site] 00260
6 fontTools.misc.xmlWriter.escape [function] [call site] 00261
7 fontTools.misc.textTools.tostr [function] [call site] 00262
7 os.linesep.replace [function] [call site] 00263
7 os.linesep.replace [function] [call site] 00264
7 os.linesep.replace [function] [call site] 00265
7 os.linesep.replace [function] [call site] 00266
6 data.replace [function] [call site] 00267
4 fontTools.misc.xmlWriter.XMLWriter._writeraw [function] [call site] 00268
4 fontTools.misc.xmlWriter.XMLWriter.indent [function] [call site] 00269
3 fontTools.misc.textTools.tostr [function] [call site] 00270
3 fontTools.misc.textTools.tostr [function] [call site] 00272
3 fontTools.misc.xmlWriter.XMLWriter.begintag [function] [call site] 00274
3 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00275
3 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00276
3 os.path.splitext [function] [call site] 00277
3 fontTools.ttLib.ttFont.tagToIdentifier [function] [call site] 00279
4 fontTools.ttLib.ttFont._escapechar [function] [call site] 00282
5 fontTools.misc.textTools.byteord [function] [call site] 00285
3 fontTools.misc.xmlWriter.XMLWriter.__init__ [function] [call site] 00288
3 fontTools.misc.xmlWriter.XMLWriter.begintag [function] [call site] 00289
3 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00290
3 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00291
3 fontTools.ttLib.ttFont.tagToXML [function] [call site] 00292
4 tag.strip [function] [call site] 00294
4 fontTools.ttLib.ttFont.tagToIdentifier [function] [call site] 00295
3 os.path.basename [function] [call site] 00296
3 fontTools.misc.xmlWriter.XMLWriter.simpletag [function] [call site] 00297
4 fontTools.misc.xmlWriter.XMLWriter.stringifyattrs [function] [call site] 00298
4 fontTools.misc.xmlWriter.XMLWriter._writeraw [function] [call site] 00299
3 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00300
3 fontTools.ttLib.ttFont.TTFont._tableToXML [function] [call site] 00301
4 fontTools.misc.loggingTools.deprecateArgument [function] [call site] 00302
4 fontTools.ttLib.ttFont.tagToXML [function] [call site] 00304
4 fontTools.misc.xmlWriter.XMLWriter.begintag [function] [call site] 00307
4 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00308
4 table.toXML [function] [call site] 00309
4 table.toXML [function] [call site] 00310
4 fontTools.misc.xmlWriter.XMLWriter.endtag [function] [call site] 00311
5 fontTools.misc.xmlWriter.XMLWriter.dedent [function] [call site] 00312
5 fontTools.misc.xmlWriter.XMLWriter._writeraw [function] [call site] 00313
4 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00314
4 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00315
3 fontTools.misc.xmlWriter.XMLWriter.endtag [function] [call site] 00316
3 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00317
3 fontTools.misc.xmlWriter.XMLWriter.close [function] [call site] 00318
4 io.BytesIO.close [function] [call site] 00319
4 sys.stdout.close [function] [call site] 00320
3 fontTools.misc.xmlWriter.XMLWriter.endtag [function] [call site] 00321
3 fontTools.misc.xmlWriter.XMLWriter.newline [function] [call site] 00322
2 fontTools.misc.xmlWriter.XMLWriter.close [function] [call site] 00323