diff options
author | Carlos Martín Nieto <carlosmn@github.com> | 2022-05-03 14:09:40 +0200 |
---|---|---|
committer | Carlos Martín Nieto <carlosmn@github.com> | 2022-05-03 14:09:40 +0200 |
commit | a3f9617bcf8154cee6ffbf873580788791135a03 (patch) | |
tree | 9fc3568ea14e74592742aaa4a1c8bd72da9a9251 | |
parent | bdab22384cc61d315005a65456a9f9563bb27c8f (diff) | |
download | libgit2-a3f9617bcf8154cee6ffbf873580788791135a03.tar.gz |
midx: do not verify the checksum on load
This is something we only want to do during explicit verification rather than on
every load.
Verifying does not seem like a big deal when we're running with test workloads
but once your `multi-pack-index` reaches gigabytes, we spend more time hashing
this than doing any work.
-rw-r--r-- | src/libgit2/midx.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/src/libgit2/midx.c b/src/libgit2/midx.c index d4e53c421..c2e643fb5 100644 --- a/src/libgit2/midx.c +++ b/src/libgit2/midx.c @@ -179,7 +179,6 @@ int git_midx_parse( uint32_t i; off64_t last_chunk_offset, chunk_offset, trailer_offset; size_t checksum_size; - unsigned char checksum[GIT_HASH_SHA1_SIZE]; int error; struct git_midx_chunk chunk_packfile_names = {0}, chunk_oid_fanout = {0}, @@ -217,11 +216,6 @@ int git_midx_parse( return midx_error("wrong index size"); memcpy(idx->checksum, data + trailer_offset, checksum_size); - if (git_hash_buf(checksum, data, (size_t)trailer_offset, GIT_HASH_ALGORITHM_SHA1) < 0) - return midx_error("could not calculate signature"); - if (memcmp(checksum, idx->checksum, checksum_size) != 0) - return midx_error("index signature mismatch"); - chunk_hdr = data + sizeof(struct git_midx_header); last_chunk = NULL; for (i = 0; i < hdr->chunks; ++i, chunk_hdr += 12) { |