On Mon, Mar 28, 2022 at 12:15:53PM -0700, Josh Steadmon wrote: > > Looking around, I think I probably inadvertently broke this in > > ab14d0676c (commit-graph: pass a 'struct repository *' in more places, > > 2020-09-09). But prior to ab14d0676c, neither of those settings existed, > > so parsing the commit graph was a pure function of the commit graph's > > contents alone, and didn't rely on the existence of a repository. > > Yeah, I have not done a great job keeping the fuzzers up to date with > commit-graph changes :(. I think that puts you and I in the same boat, since the original breakage from ab14d0676c blames back to me. I'm sorry that I didn't notice that my change had broken the fuzzing code at the time, and I appreciate you working on fixing it! > > We could pretend as if `commitGraph.generationVersion` is always "2" and > > `commitGraph.readChangedPaths` is always "true", and I think that would > > still give us good-enough coverage. > > It might also be worthwhile for the fuzzer to test each interesting > combination of settings, using the same arbitrary input. Definitely. I don't think it hurts to just focus on getting the common case ("2", "true") working again. And if libFuzzer makes it easy-ish to test more of the possible input space, I'm all for it. Thanks, Taylor