On 2022.06.07 13:02, Jonathan Tan wrote: > 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. Done in V3, thanks for taking a look!