diff options
-rw-r--r-- | commit-graph.c | 16 | ||||
-rwxr-xr-x | t/t5318-commit-graph.sh | 3 |
2 files changed, 5 insertions, 14 deletions
diff --git a/commit-graph.c b/commit-graph.c index acac9bf6e1..c2adffe810 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -299,16 +299,6 @@ static int graph_read_oid_fanout(const unsigned char *chunk_start, return 0; } -static int graph_read_oid_lookup(const unsigned char *chunk_start, - size_t chunk_size, void *data) -{ - struct commit_graph *g = data; - g->chunk_oid_lookup = chunk_start; - if (chunk_size / g->hash_len != g->num_commits) - return error(_("commit-graph OID lookup chunk is the wrong size")); - return 0; -} - static int graph_read_commit_data(const unsigned char *chunk_start, size_t chunk_size, void *data) { @@ -435,8 +425,10 @@ struct commit_graph *parse_commit_graph(struct repo_settings *s, error(_("commit-graph required OID fanout chunk missing or corrupted")); goto free_and_return; } - if (read_chunk(cf, GRAPH_CHUNKID_OIDLOOKUP, graph_read_oid_lookup, graph)) { - error(_("commit-graph required OID lookup chunk missing or corrupted")); + if (pair_chunk_expect(cf, GRAPH_CHUNKID_OIDLOOKUP, + &graph->chunk_oid_lookup, graph->hash_len, + graph->num_commits)) { + error(_("commit-graph OID lookup chunk is the wrong size")); goto free_and_return; } if (read_chunk(cf, GRAPH_CHUNKID_DATA, graph_read_commit_data, graph)) { diff --git a/t/t5318-commit-graph.sh b/t/t5318-commit-graph.sh index 7fe7c72a87..fc7305be8f 100755 --- a/t/t5318-commit-graph.sh +++ b/t/t5318-commit-graph.sh @@ -545,7 +545,7 @@ test_expect_success 'detect missing OID fanout chunk' ' test_expect_success 'detect missing OID lookup chunk' ' corrupt_graph_and_verify $GRAPH_BYTE_OID_LOOKUP_ID "\0" \ - "commit-graph required OID lookup chunk missing or corrupted" + "commit-graph OID lookup chunk is the wrong size" ' test_expect_success 'detect missing commit data chunk' ' @@ -851,7 +851,6 @@ test_expect_success 'reader notices fanout/lookup table mismatch' ' check_corrupt_chunk OIDF 1020 "FFFFFFFF" && cat >expect.err <<-\EOF && error: commit-graph OID lookup chunk is the wrong size - error: commit-graph required OID lookup chunk missing or corrupted EOF test_cmp expect.err err ' |