Fuzz introspector: fuzz_repo
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
34 22 git.util.is_cygwin_git call site: 00022 git.util._is_cygwin_git
14 101 git.config.GitConfigParser.__init__ call site: 00101 git.config.get_config_path
6 73 git.repo.fun.is_git_dir call site: 00073 os.path.join
6 143 git.repo.base.Repo.__init__ call site: 00143 git.repo.fun.find_worktree_git_dir
5 162 git.db.GitCmdObjectDB.__init__ call site: 00162 git.db.GitCmdObjectDB.__init__
3 94 git.repo.base.Repo._get_config_path call site: 00094 git.types.assert_never
3 137 git.repo.fun.find_submodule_git_dir call site: 00137 os.path.dirname
2 82 git.repo.base.Repo.__init__ call site: 00082 git.repo.base.Repo._get_config_path
2 126 git.repo.base.Repo.__init__ call site: 00126 configparser.RawConfigParser.get
1 0 EP call site: 00000 atheris.FuzzedDataProvider
1 5 git.util.expand_path call site: 00005 p.resolve
1 11 git.repo.base.Repo.init call site: 00011 os.makedirs

Fuzzer calltree

0 ...gitpython.fuzzing.fuzz-targets.fuzz_repo.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 tempfile.TemporaryDirectory [function] [call site] 00002
1 git.repo.base.Repo.init [function] [call site] 00003
2 git.util.expand_path [function] [call site] 00004
3 <builtin>.isinstance [function] [call site] 00005
3 p.resolve [function] [call site] 00006
3 os.path.expanduser [function] [call site] 00007
3 os.path.expandvars [function] [call site] 00008
3 os.path.abspath [function] [call site] 00009
3 os.path.normpath [function] [call site] 00010
2 os.path.exists [function] [call site] 00011
2 os.makedirs [function] [call site] 00012
2 git.cmd.Git.__init__ [function] [call site] 00013
3 <builtin>.super [function] [call site] 00014
3 git.util.expand_path [function] [call site] 00015
2 git.repo.base.Repo.__init__ [function] [call site] 00017
3 os.getenv [function] [call site] 00018
3 os.getcwd [function] [call site] 00019
3 git.cmd.Git.is_cygwin [function] [call site] 00020
4 git.util.is_cygwin_git [function] [call site] 00021
5 _logger.debug [function] [call site] 00022
5 <builtin>.str [function] [call site] 00023
5 git.util._is_cygwin_git [function] [call site] 00024
6 _is_cygwin_cache.get [function] [call site] 00025
6 os.path.dirname [function] [call site] 00026
6 git.util.py_where [function] [call site] 00027
7 git.util._get_exe_extensions [function] [call site] 00028
8 os.environ.get [function] [call site] 00029
8 PATHEXT.split [function] [call site] 00031
8 <builtin>.tuple [function] [call site] 00032
7 <builtin>.str [function] [call site] 00033
7 folder.strip [function] [call site] 00034
7 os.path.join [function] [call site] 00035
7 git.util.py_where.is_exec [function] [call site] 00036
8 os.path.isfile [function] [call site] 00037
8 os.access [function] [call site] 00038
8 fpath.upper [function] [call site] 00039
8 <builtin>.any [function] [call site] 00040
7 progs.append [function] [call site] 00041
6 os.path.dirname [function] [call site] 00042
6 os.path.join [function] [call site] 00043
6 pathlib.Path [function] [call site] 00044
6 os.access [function] [call site] 00045
6 _logger.debug [function] [call site] 00046
6 subprocess.Popen [function] [call site] 00047
6 process.communicate [function] [call site] 00048
6 _logger.debug [function] [call site] 00049
3 <builtin>.str [function] [call site] 00050
3 git.util.cygpath [function] [call site] 00051
4 <builtin>.str [function] [call site] 00052
4 path.startswith [function] [call site] 00053
4 regex.match [function] [call site] 00054
4 match.groups [function] [call site] 00055
4 git.util.cygpath [function] [call site] 00056
3 os.getcwd [function] [call site] 00057
3 <builtin>.isinstance [function] [call site] 00058
3 <builtin>.str [function] [call site] 00059
3 re.search [function] [call site] 00060
3 warnings.warn [function] [call site] 00061
3 git.util.expand_path [function] [call site] 00062
3 os.path.exists [function] [call site] 00063
3 git.repo.fun.is_git_dir [function] [call site] 00064
4 os.path.isdir [function] [call site] 00065
4 os.path.join [function] [call site] 00066
4 os.path.isdir [function] [call site] 00067
4 os.path.isdir [function] [call site] 00068
4 os.path.join [function] [call site] 00069
4 os.path.join [function] [call site] 00070
4 os.path.isfile [function] [call site] 00071
4 os.path.islink [function] [call site] 00072
4 os.readlink [function] [call site] 00073
4 os.path.join [function] [call site] 00074
4 os.path.isfile [function] [call site] 00075
4 os.path.join [function] [call site] 00076
4 os.path.isfile [function] [call site] 00077
4 os.path.join [function] [call site] 00078
4 os.path.isfile [function] [call site] 00079
3 os.path.dirname [function] [call site] 00080
3 os.environ.get [function] [call site] 00081
3 git.repo.base.Repo._config_reader [function] [call site] 00082
4 typing.cast [function] [call site] 00083
4 git.repo.base.Repo._get_config_path [function] [call site] 00084
5 os.environ.get [function] [call site] 00085
5 os.environ.get [function] [call site] 00086
5 os.path.join [function] [call site] 00087
5 os.path.join [function] [call site] 00088
5 os.path.expanduser [function] [call site] 00089
5 os.path.normpath [function] [call site] 00090
5 os.path.expanduser [function] [call site] 00091
5 os.path.normpath [function] [call site] 00092
5 os.path.join [function] [call site] 00093
5 os.path.normpath [function] [call site] 00094
5 git.types.assert_never [function] [call site] 00095
5 <builtin>.ValueError [function] [call site] 00096
4 typing.cast [function] [call site] 00097
4 git.repo.base.Repo._get_config_path [function] [call site] 00098
4 git.config.GitConfigParser.__init__ [function] [call site] 00099
5 configparser.RawConfigParser.__init__ [function] [call site] 00100
5 <builtin>.hasattr [function] [call site] 00101
5 configparser.RawConfigParser._dict [function] [call site] 00102
5 typing.cast [function] [call site] 00103
5 git.config.get_config_path [function] [call site] 00104
6 os.environ.get [function] [call site] 00105
6 os.environ.get [function] [call site] 00106
6 os.path.join [function] [call site] 00107
6 os.path.join [function] [call site] 00108
6 os.path.expanduser [function] [call site] 00109
6 os.path.normpath [function] [call site] 00110
6 os.path.expanduser [function] [call site] 00111
6 os.path.normpath [function] [call site] 00112
6 git.types.assert_never [function] [call site] 00113
6 <builtin>.ValueError [function] [call site] 00114
5 git.config.get_config_path [function] [call site] 00115
5 git.config.GitConfigParser._acquire_lock [function] [call site] 00116
6 <builtin>.isinstance [function] [call site] 00117
6 <builtin>.isinstance [function] [call site] 00118
6 git.util.LockFile.__init__ [function] [call site] 00119
6 git.util.LockFile._obtain_lock [function] [call site] 00120
7 git.util.LockFile._obtain_lock_or_raise [function] [call site] 00121
8 git.util.LockFile._has_lock [function] [call site] 00122
8 git.util.LockFile._lock_file_path [function] [call site] 00123
8 os.path.isfile [function] [call site] 00124
8 <builtin>.open [function] [call site] 00125
3 configparser.RawConfigParser.has_option [function] [call site] 00126
3 configparser.RawConfigParser.get [function] [call site] 00127
3 os.getenv [function] [call site] 00128
3 os.path.join [function] [call site] 00129
3 git.repo.fun.find_submodule_git_dir [function] [call site] 00130
4 git.repo.fun.is_git_dir [function] [call site] 00131
4 <builtin>.open [function] [call site] 00132
4 content.startswith [function] [call site] 00134
4 git.cmd.Git.is_cygwin [function] [call site] 00135
4 git.util.cygpath [function] [call site] 00136
4 os.path.isabs [function] [call site] 00137
4 os.path.dirname [function] [call site] 00138
4 os.path.join [function] [call site] 00139
4 os.path.normpath [function] [call site] 00140
4 git.repo.fun.find_submodule_git_dir [function] [call site] 00141
3 os.path.normpath [function] [call site] 00142
3 git.repo.fun.find_submodule_git_dir [function] [call site] 00143
3 git.repo.fun.find_worktree_git_dir [function] [call site] 00144
4 stat.S_ISREG [function] [call site] 00146
4 pathlib.Path [function] [call site] 00147
4 pathlib.Path.read_text [function] [call site] 00148
4 line.strip [function] [call site] 00149
3 git.util.expand_path [function] [call site] 00150
3 os.path.split [function] [call site] 00151
3 git.repo.base.Repo.config_reader [function] [call site] 00152
4 git.repo.base.Repo._config_reader [function] [call site] 00153
3 configparser.RawConfigParser.getboolean [function] [call site] 00154
3 pathlib.Path [function] [call site] 00155
3 pathlib.Path.read_text [function] [call site] 00156
3 os.path.join [function] [call site] 00157
3 git.cmd.Git.__init__ [function] [call site] 00158
3 os.path.join [function] [call site] 00159
3 <builtin>.issubclass [function] [call site] 00160
3 git.db.GitCmdObjectDB.__init__ [function] [call site] 00161
4 <builtin>.super [function] [call site] 00162
3 git.db.GitCmdObjectDB.__init__ [function] [call site] 00163
1 os.path.join [function] [call site] 00164
1 fdp.ConsumeIntInRange [function] [call site] 00165
1 <builtin>.min [function] [call site] 00166
1 <builtin>.range [function] [call site] 00167
1 <builtin>.open [function] [call site] 00168
1 fdp.ConsumeIntInRange [function] [call site] 00169
1 fdp.ConsumeBytes [function] [call site] 00170
1 repo.index.add [function] [call site] 00172
1 fdp.ConsumeIntInRange [function] [call site] 00173
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00174
1 repo.index.commit [function] [call site] 00175
1 io.BytesIO [function] [call site] 00176
1 git.objects.tree.Tree._deserialize [function] [call site] 00177
2 stream.read [function] [call site] 00178
2 git.objects.fun.tree_entries_from_data [function] [call site] 00179
3 <builtin>.ord [function] [call site] 00180
3 <builtin>.ord [function] [call site] 00181
3 <builtin>.len [function] [call site] 00182
3 git.compat.safe_decode [function] [call site] 00183
4 <builtin>.isinstance [function] [call site] 00184
4 <builtin>.isinstance [function] [call site] 00185
3 out.append [function] [call site] 00187