> diff --git a/commit-graph.c b/commit-graph.c
> index d2b291aca2..a33600c584 100644
> --- a/commit-graph.c
> +++ b/commit-graph.c
> @@ -841,6 +841,7 @@ void write_commit_graph(const char *obj_dir,
>       oids.nr =3D 0;
>  }
> =20
> +#define VERIFY_COMMIT_GRAPH_ERROR_HASH 2
>  static int verify_commit_graph_error;
> =20
>  static void graph_report(const char *fmt, ...)
> @@ -860,7 +861,9 @@ static void graph_report(const char *fmt, ...)
>  int verify_commit_graph(struct commit_graph *g)
>  {
>       uint32_t i, cur_fanout_pos =3D 0;
> -     struct object_id prev_oid, cur_oid;
> +     struct object_id prev_oid, cur_oid, checksum;
> +     struct hashfile *f;
> +     int devnull;
> =20
>       if (!g) {
>               graph_report("no commit-graph file loaded");
> @@ -879,6 +882,15 @@ int verify_commit_graph(struct commit_graph *g)
>       if (verify_commit_graph_error)
>               return verify_commit_graph_error;
> =20
> +     devnull =3D open("/dev/null", O_WRONLY);
> +     f =3D hashfd(devnull, NULL);
> +     hashwrite(f, g->data, g->data_len - g->hash_len);
> +     finalize_hashfile(f, checksum.hash, CSUM_CLOSE);
> +     if (hashcmp(checksum.hash, g->data + g->data_len - g->hash_len)) {
> +             graph_report(_("the commit-graph file has incorrect checksum 
> and is likely corrupt"));

This error message is translated ...

> diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh
> index 240aef6add..2680a2ebff 100755
> --- a/t/t5318-commit-graph.sh
> +++ b/t/t5318-commit-graph.sh

> @@ -388,4 +389,9 @@ test_expect_success 'detect incorrect parent for octopu=
> s merge' '
>               "invalid parent"
>  '
> =20
> +test_expect_success 'detect invalid checksum hash' '
> +     corrupt_graph_and_verify $GRAPH_BYTE_FOOTER "\00" \
> +             "incorrect checksum"

... but here in 'corrupt_graph_and_verify' you look for "incorrect
checksum" with plain 'grep' (as opposed to 'test_i18ngrep', which
won't find that string in a GETTEXT_POISON build, and ultimately
causes the test to fail.

Reply via email to