Subject: Re: [PATCH v2 00/12] Stop relying on SHA1 fallback for `the_hash_algo`

From: Patrick Steinhardt <[email-masked]>
Date: Mon, 29 Apr 2024 08:05:46 +0200

On Sat, Apr 27, 2024 at 03:09:43PM -0700, Junio C Hamano wrote:
> Patrick Steinhardt <[email-masked]> writes:
> 
> [cc: added Josh as the commit-graph fuzzer was his creation].
> 
> > this is the second version of my patch series that causes us to stop
> > relying on the SHA1 default hash.
> 
> With this topic merged, 'seen' fails "fuzz smoke test"; I think this
> 
>     https://github.com/git/git/actions/runs/8807729398/job/24175445340
> 
> is the first merge of this topic into 'seen' where "fuzz smoke test"
> started failing.
> 
> With the merge of the topic from 'seen' reverted tentatively,
> 
>     https://github.com/git/git/actions/runs/8862811497/job/24336185541
> 
> the same test seems happy.

Indeed, thanks for the heads up! Another test gap that we have in the
GitLab CI setup. I'll add a separate patch series to plug this gap and
add the job to GitLab CI, too.

The fix for the failure is easy:

    diff --git a/oss-fuzz/fuzz-commit-graph.c b/oss-fuzz/fuzz-commit-graph.c
    index 2992079dd9..94ecbb9242 100644
    --- a/oss-fuzz/fuzz-commit-graph.c
    +++ b/oss-fuzz/fuzz-commit-graph.c
    @@ -18,6 +18,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
         * touching the disk to keep the individual fuzz-test cases as fast as
         * possible.
         */
    +	repo_set_hash_algo(the_repository, GIT_HASH_SHA1);
        the_repository->settings.commit_graph_generation_version = 2;
        the_repository->settings.commit_graph_read_changed_paths = 1;
        g = parse_commit_graph(&the_repository->settings, (void *)data, size);

I'll send a v3.

Thanks!

Patrick