Josh Steadmon <steadmon@xxxxxxxxxx> writes: > diff --git a/fuzz-commit-graph.c b/fuzz-commit-graph.c > index e7cf6d5b0f..e53a2635f6 100644 > --- a/fuzz-commit-graph.c > +++ b/fuzz-commit-graph.c > @@ -11,7 +11,13 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) > struct commit_graph *g; > > initialize_the_repository(); > - g = parse_commit_graph(the_repository, (void *)data, size); > + /* > + * Manually initialize commit-graph settings, to avoid the need to run > + * in an actual repository. > + */ > + the_repository->settings.commit_graph_generation_version = 2; > + the_repository->settings.commit_graph_read_changed_paths = 1; > + g = parse_commit_graph_settings(&the_repository->settings, (void *)data, size); > repo_clear(the_repository); > free_commit_graph(g); The comment doesn't explain why we need to avoid an actual repository. Maybe better: Initialize the commit-graph settings that would normally be read from the repository's gitdir. Other than that, this patch looks good to me. Isolating a part of the commit graph mechanism that can be fuzzed without access to the disk is, I think, a good idea, and this patch is a good way to do it.