Fuzz introspector: fuzz_ttfont
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
33 80 fontTools.misc.sstruct.unpack call site: 00080 fontTools.misc.macRes.ResourceReader._readFile
24 23 fontTools.ttLib.ttFont.TTFont.__init__ call site: 00023 fontTools.ttLib.macUtils.getSFNTResIndices
18 114 fontTools.ttLib.macUtils.getSFNTResIndices call site: 00114 fontTools.ttLib.macUtils.SFNTResourceReader.__init__
10 12 fontTools.misc.configTools.AbstractConfig.__init__ call site: 00012 fontTools.misc.configTools.AbstractConfig.set
8 163 fontTools.ttLib.sfnt.readTTCHeader call site: 00163 fontTools.misc.sstruct.unpack
6 133 fontTools.ttLib.ttFont.TTFont.__init__ call site: 00133 .hasattr
5 66 fontTools.misc.sstruct.getformat call site: 00066 m.group
4 49 fontTools.misc.textTools.tobytes call site: 00049 os.linesep.encode
2 4 fontTools.ttLib.ttFont.TTFont.__init__ call site: 00004 fontTools.misc.loggingTools.deprecateArgument
1 77 fontTools.misc.sstruct.unpack call site: 00077 fontTools.misc.fixedTools.fixedToFloat
1 222 fontTools.ttLib.sfnt.WOFFFlavorData.__init__ call site: 00222 zlib.decompress

Fuzzer calltree

0 ...fuzz_ttfont.TestOneInput [function] [call site] 00000
1 <builtin>.open [function] [call site] 00001
1 fontTools.ttLib.ttFont.TTFont.__init__ [function] [call site] 00003
2 <builtin>.locals [function] [call site] 00004
2 fontTools.misc.loggingTools.deprecateArgument [function] [call site] 00005
3 warnings.warn [function] [call site] 00006
2 <builtin>.setattr [function] [call site] 00007
2 <builtin>.isinstance [function] [call site] 00008
2 fontTools.misc.configTools.AbstractConfig.__init__ [function] [call site] 00010
3 <builtin>.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 <builtin>.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 <builtin>.isinstance [function] [call site] 00018
4 <builtin>.str [function] [call site] 00019
4 log.debug [function] [call site] 00020
4 option.parse [function] [call site] 00021
4 option.validate [function] [call site] 00022
2 <builtin>.hasattr [function] [call site] 00023
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 <builtin>.hasattr [function] [call site] 00027
4 fontTools.misc.macRes.ResourceReader.openResourceFork [function] [call site] 00028
5 <builtin>.hasattr [function] [call site] 00029
5 io.BytesIO.__fspath__ [function] [call site] 00030
5 io.StringIO.__fspath__ [function] [call site] 00031
5 <builtin>.open [function] [call site] 00032
5 resfork.read [function] [call site] 00033
5 io.BytesIO [function] [call site] 00034
4 fontTools.misc.macRes.ResourceReader._readFile [function] [call site] 00035
5 fontTools.misc.macRes.ResourceReader._readHeaderAndMap [function] [call site] 00036
6 io.StringIO.seek [function] [call site] 00037
6 io.BytesIO.seek [function] [call site] 00038
6 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00039
7 io.StringIO.seek [function] [call site] 00040
7 io.BytesIO.seek [function] [call site] 00041
7 io.StringIO.tell [function] [call site] 00042
7 io.BytesIO.tell [function] [call site] 00043
7 io.StringIO.read [function] [call site] 00044
7 io.BytesIO.read [function] [call site] 00045
7 <builtin>.len [function] [call site] 00046
6 fontTools.misc.sstruct.unpack [function] [call site] 00047
7 fontTools.misc.textTools.tobytes [function] [call site] 00048
8 <builtin>.isinstance [function] [call site] 00049
8 os.linesep.encode [function] [call site] 00050
8 collections.abc.MutableMapping.encode [function] [call site] 00051
8 types.SimpleNamespace.encode [function] [call site] 00052
8 collections.abc.Sequence.data.encode [function] [call site] 00053
8 <builtin>.bytes [function] [call site] 00054
7 fontTools.misc.sstruct.getformat [function] [call site] 00055
8 fontTools.misc.textTools.tostr [function] [call site] 00056
9 <builtin>.isinstance [function] [call site] 00057
9 os.linesep.decode [function] [call site] 00058
8 _emptyRE.match [function] [call site] 00060
8 _extraRE.match [function] [call site] 00061
8 _elementRE.match [function] [call site] 00063
8 <builtin>.int [function] [call site] 00068
8 <builtin>.int [function] [call site] 00070
7 <builtin>.isinstance [function] [call site] 00072
7 struct.unpack [function] [call site] 00073
7 <builtin>.len [function] [call site] 00074
7 <builtin>.range [function] [call site] 00075
7 names.keys [function] [call site] 00076
7 <builtin>.list [function] [call site] 00077
7 fontTools.misc.fixedTools.fixedToFloat [function] [call site] 00078
7 <builtin>.isinstance [function] [call site] 00079
7 fontTools.misc.textTools.tostr [function] [call site] 00080
6 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00081
6 fontTools.misc.sstruct.unpack [function] [call site] 00082
5 fontTools.misc.macRes.ResourceReader._readTypeList [function] [call site] 00083
6 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00084
6 struct.unpack [function] [call site] 00085
6 <builtin>.range [function] [call site] 00086
6 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00087
6 fontTools.misc.sstruct.unpack [function] [call site] 00088
6 fontTools.misc.textTools.tostr [function] [call site] 00089
6 fontTools.misc.macRes.ResourceReader._readReferenceList [function] [call site] 00090
7 <builtin>.range [function] [call site] 00091
7 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00092
7 fontTools.misc.macRes.Resource.__init__ [function] [call site] 00093
7 fontTools.misc.macRes.Resource.decompile [function] [call site] 00094
8 fontTools.misc.sstruct.unpack [function] [call site] 00095
8 fontTools.misc.textTools.bytesjoin [function] [call site] 00096
9 fontTools.misc.textTools.tobytes [function] [call site] 00097
9 fontTools.misc.textTools.tobytes [function] [call site] 00098
8 struct.unpack [function] [call site] 00099
8 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00100
8 struct.unpack [function] [call site] 00101
8 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00102
8 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00103
8 struct.unpack [function] [call site] 00104
8 fontTools.misc.macRes.ResourceReader._read [function] [call site] 00105
8 struct.unpack [function] [call site] 00106
8 fontTools.misc.textTools.tostr [function] [call site] 00107
7 resources.append [function] [call site] 00108
4 fontTools.misc.macRes.ResourceReader.openDataFork [function] [call site] 00109
5 <builtin>.open [function] [call site] 00110
5 datafork.read [function] [call site] 00111
5 io.BytesIO [function] [call site] 00112
4 fontTools.misc.macRes.ResourceReader._readFile [function] [call site] 00113
3 fontTools.misc.macRes.ResourceReader.getIndices [function] [call site] 00114
4 fontTools.misc.macRes.ResourceReader.countResources [function] [call site] 00115
5 <builtin>.len [function] [call site] 00116
4 <builtin>.range [function] [call site] 00117
4 <builtin>.list [function] [call site] 00118
3 fontTools.misc.macRes.ResourceReader.close [function] [call site] 00119
4 io.StringIO.close [function] [call site] 00120
4 io.BytesIO.close [function] [call site] 00121
2 fontTools.ttLib.macUtils.SFNTResourceReader.__init__ [function] [call site] 00122
3 fontTools.misc.macRes.ResourceReader.__init__ [function] [call site] 00123
3 <builtin>.isinstance [function] [call site] 00124
3 fontTools.misc.macRes.ResourceReader.getNamedResource [function] [call site] 00125
4 fontTools.misc.textTools.tostr [function] [call site] 00126
4 collections.abc.MutableMapping.get [function] [call site] 00127
3 fontTools.misc.macRes.ResourceReader.getIndResource [function] [call site] 00128
3 fontTools.misc.macRes.ResourceReader.close [function] [call site] 00129
3 <builtin>.super [function] [call site] 00130
2 <builtin>.open [function] [call site] 00131
2 fontTools.ttLib.macUtils.SFNTResourceReader.__init__ [function] [call site] 00132
2 <builtin>.open [function] [call site] 00133
2 <builtin>.hasattr [function] [call site] 00134
2 io.BytesIO.seekable [function] [call site] 00135
2 io.StringIO.seekable [function] [call site] 00136
2 <builtin>.hasattr [function] [call site] 00137
2 io.StringIO.seek [function] [call site] 00138
2 io.BytesIO.seek [function] [call site] 00139
2 io.StringIO.seek [function] [call site] 00140
2 io.BytesIO.seek [function] [call site] 00141
2 io.StringIO.read [function] [call site] 00142
2 io.BytesIO.read [function] [call site] 00143
2 io.BytesIO [function] [call site] 00144
2 <builtin>.hasattr [function] [call site] 00145
2 io.StringIO.close [function] [call site] 00146
2 io.BytesIO.close [function] [call site] 00147
2 fontTools.ttLib.sfnt.SFNTReader.__init__ [function] [call site] 00148
3 io.StringIO.seek [function] [call site] 00149
3 io.BytesIO.seek [function] [call site] 00150
3 io.StringIO.read [function] [call site] 00151
3 io.BytesIO.read [function] [call site] 00152
3 io.StringIO.seek [function] [call site] 00153
3 io.BytesIO.seek [function] [call site] 00154
3 fontTools.ttLib.sfnt.readTTCHeader [function] [call site] 00155
4 io.StringIO.seek [function] [call site] 00156
4 io.BytesIO.seek [function] [call site] 00157
4 io.StringIO.read [function] [call site] 00158
4 io.BytesIO.read [function] [call site] 00159
4 <builtin>.len [function] [call site] 00160
4 types.SimpleNamespace [function] [call site] 00161
4 fontTools.misc.sstruct.unpack [function] [call site] 00162
4 struct.unpack [function] [call site] 00163
4 io.StringIO.read [function] [call site] 00164
4 io.BytesIO.read [function] [call site] 00165
3 io.StringIO.seek [function] [call site] 00166
3 io.BytesIO.seek [function] [call site] 00167
3 io.StringIO.read [function] [call site] 00168
3 io.BytesIO.read [function] [call site] 00169
3 <builtin>.len [function] [call site] 00170
3 fontTools.misc.sstruct.unpack [function] [call site] 00171
3 io.StringIO.read [function] [call site] 00172
3 io.BytesIO.read [function] [call site] 00173
3 <builtin>.len [function] [call site] 00174
3 fontTools.misc.sstruct.unpack [function] [call site] 00175
3 io.StringIO.read [function] [call site] 00176
3 io.BytesIO.read [function] [call site] 00177
3 <builtin>.len [function] [call site] 00178
3 fontTools.misc.sstruct.unpack [function] [call site] 00179
3 <builtin>.range [function] [call site] 00180
3 fontTools.ttLib.sfnt.WOFFDirectoryEntry.__init__ [function] [call site] 00181
4 <builtin>.super [function] [call site] 00182
4 <builtin>.hasattr [function] [call site] 00183
3 fontTools.ttLib.sfnt.DirectoryEntry.__init__ [function] [call site] 00184
3 fontTools.ttLib.sfnt.DirectoryEntry.__init__ [function] [call site] 00185
3 fontTools.ttLib.woff2.WOFF2DirectoryEntry.fromFile [function] [call site] 00186
4 io.StringIO.tell [function] [call site] 00187
4 io.BytesIO.tell [function] [call site] 00188
4 io.StringIO.read [function] [call site] 00189
4 io.BytesIO.read [function] [call site] 00190
4 fontTools.ttLib.woff2.WOFF2DirectoryEntry.fromString [function] [call site] 00191
5 <builtin>.len [function] [call site] 00192
5 fontTools.misc.sstruct.unpack2 [function] [call site] 00193
6 fontTools.misc.sstruct.calcsize [function] [call site] 00194
7 fontTools.misc.sstruct.getformat [function] [call site] 00195
7 struct.calcsize [function] [call site] 00196
6 fontTools.misc.sstruct.unpack [function] [call site] 00197
5 <builtin>.len [function] [call site] 00198
5 fontTools.misc.sstruct.unpack2 [function] [call site] 00199
5 fontTools.ttLib.woff2.unpackBase128 [function] [call site] 00200
6 <builtin>.len [function] [call site] 00201
6 fontTools.misc.textTools.byteord [function] [call site] 00202
7 <builtin>.isinstance [function] [call site] 00203
7 <builtin>.ord [function] [call site] 00204
6 <builtin>.range [function] [call site] 00205
6 <builtin>.len [function] [call site] 00206
6 fontTools.misc.textTools.byteord [function] [call site] 00207
5 fontTools.ttLib.woff2.unpackBase128 [function] [call site] 00208
4 <builtin>.len [function] [call site] 00209
4 <builtin>.len [function] [call site] 00210
4 io.StringIO.seek [function] [call site] 00211
4 io.BytesIO.seek [function] [call site] 00212
3 tables.items [function] [call site] 00213
3 <builtin>.sorted [function] [call site] 00214
3 collections.OrderedDict [function] [call site] 00215
3 fontTools.ttLib.sfnt.WOFFFlavorData.__init__ [function] [call site] 00216
4 io.StringIO.seek [function] [call site] 00217
4 io.BytesIO.seek [function] [call site] 00218
4 io.StringIO.read [function] [call site] 00219
4 io.BytesIO.read [function] [call site] 00220
4 <builtin>.len [function] [call site] 00221
4 fontTools.ttLib.sfnt.WOFFFlavorData._decompress [function] [call site] 00222
5 zlib.decompress [function] [call site] 00223
4 fontTools.ttLib.woff2.WOFF2FlavorData._decompress [function] [call site] 00224
5 brotlicffi.decompress [function] [call site] 00225
5 brotli.decompress [function] [call site] 00226
4 <builtin>.len [function] [call site] 00227
4 io.StringIO.seek [function] [call site] 00228
4 io.BytesIO.seek [function] [call site] 00229
4 io.StringIO.read [function] [call site] 00230
4 io.BytesIO.read [function] [call site] 00231
4 <builtin>.len [function] [call site] 00232