Fuzz introspector: fuzz_pathspec
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
39 25 pathspec._backends._utils.enumerate_patterns call site: 00025 pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db
7 7 ...fuzz_pathspec.test_raw call site: 00007 pathspec.pathspec.PathSpec.__init__
7 15 pathspec.pathspec.PathSpec.__init__ call site: 00015 pathspec.pathspec.PathSpec._make_backend
1 65 pathspec._backends.simple.pathspec.SimplePsBackend.__init__ call site: 00065 spec.match_files

Fuzzer calltree

0 ...fuzz_pathspec.TestOneInput [function] [call site] 00000
1 ...fuzz_pathspec.test_raw [function] [call site] 00001
2 atheris.FuzzedDataProvider [function] [call site] 00002
2 fdp.ConsumeIntInRange [function] [call site] 00003
2 <builtin>.range [function] [call site] 00004
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00005
2 lines.append [function] [call site] 00006
2 pathspec.pathspec.PathSpec.from_lines [function] [call site] 00007
3 <builtin>.isinstance [function] [call site] 00008
3 pathspec.util.lookup_pattern [function] [call site] 00009
3 <builtin>.callable [function] [call site] 00010
3 pathspec.util._is_iterable [function] [call site] 00011
4 <builtin>.isinstance [function] [call site] 00012
4 <builtin>.isinstance [function] [call site] 00013
3 pathspec.pathspec.PathSpec.__init__ [function] [call site] 00014
4 <builtin>.isinstance [function] [call site] 00015
4 <builtin>.list [function] [call site] 00016
4 typing.cast [function] [call site] 00017
4 pathspec.pathspec.PathSpec._make_backend [function] [call site] 00018
5 pathspec._backends.agg.make_pathspec_backend [function] [call site] 00019
6 typing.cast [function] [call site] 00020
6 pathspec._backends.hyperscan.pathspec.HyperscanPsBackend.__init__ [function] [call site] 00021
7 <builtin>.isinstance [function] [call site] 00022
7 pathspec._backends._utils.enumerate_patterns [function] [call site] 00023
8 <builtin>.enumerate [function] [call site] 00024
8 out_patterns.reverse [function] [call site] 00025
7 pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._make_db [function] [call site] 00026
8 hyperscan.Database [function] [call site] 00027
7 pathspec._backends.hyperscan.pathspec.HyperscanPsBackend._init_db [function] [call site] 00028
8 itertools.count [function] [call site] 00029
8 <builtin>.isinstance [function] [call site] 00030
8 <builtin>.isinstance [function] [call site] 00031
8 <builtin>.isinstance [function] [call site] 00032
8 regex.encode [function] [call site] 00033
8 expr_data.append [function] [call site] 00034
8 exprs.append [function] [call site] 00035
8 <builtin>.next [function] [call site] 00036
8 ids.append [function] [call site] 00037
8 db.compile [function] [call site] 00038
8 <builtin>.len [function] [call site] 00039
7 pathspec._backends.hyperscan.gitignore.HyperscanGiBackend._init_db [function] [call site] 00040
8 itertools.count [function] [call site] 00041
8 <builtin>.isinstance [function] [call site] 00042
8 <builtin>.isinstance [function] [call site] 00043
8 <builtin>.isinstance [function] [call site] 00044
8 <builtin>.isinstance [function] [call site] 00045
8 regex.decode [function] [call site] 00046
8 regex_str.endswith [function] [call site] 00047
8 <builtin>.len [function] [call site] 00048
8 use_regexes.append [function] [call site] 00049
8 use_regexes.append [function] [call site] 00050
8 regex_str.replace [function] [call site] 00051
8 use_regexes.append [function] [call site] 00052
8 use_regexes.append [function] [call site] 00053
8 <builtin>.isinstance [function] [call site] 00054
8 <builtin>.isinstance [function] [call site] 00055
8 regex.encode [function] [call site] 00056
8 expr_data.append [function] [call site] 00057
8 exprs.append [function] [call site] 00058
8 <builtin>.next [function] [call site] 00059
8 ids.append [function] [call site] 00060
8 db.compile [function] [call site] 00061
8 <builtin>.len [function] [call site] 00062
7 <builtin>.dict [function] [call site] 00063
6 pathspec._backends.simple.pathspec.SimplePsBackend.__init__ [function] [call site] 00064
7 pathspec._backends._utils.enumerate_patterns [function] [call site] 00065
2 spec.match_files [function] [call site] 00066
1 ...fuzz_pathspec.test_git [function] [call site] 00067
2 atheris.FuzzedDataProvider [function] [call site] 00068
2 fdp.ConsumeIntInRange [function] [call site] 00069
2 <builtin>.range [function] [call site] 00070
2 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00071
2 lines.append [function] [call site] 00072
2 pathspec.pathspec.PathSpec.from_lines [function] [call site] 00073
2 spec.match_files [function] [call site] 00074