Show 27 quoted lines
> Josh Steadmon <steadmon@google.com> 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.