Skip to content

Commit

Permalink
verify-pack: check integrity in a saner order.
Browse files Browse the repository at this point in the history
Check internal integrity to report corrupt pack or idx, and
then check cross-integrity between idx and pack.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Junio C Hamano committed Apr 27, 2006
1 parent 5981e09 commit 55e1805
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions pack-check.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ static int verify_packfile(struct packed_git *p)
pack_base = p->pack_base;
SHA1_Update(&ctx, pack_base, pack_size - 20);
SHA1_Final(sha1, &ctx);
if (memcmp(sha1, index_base + index_size - 40, 20))
return error("Packfile %s SHA1 mismatch with idx",
p->pack_name);
if (memcmp(sha1, pack_base + pack_size - 20, 20))
return error("Packfile %s SHA1 mismatch with itself",
p->pack_name);
if (memcmp(sha1, index_base + index_size - 40, 20))
return error("Packfile %s SHA1 mismatch with idx",
p->pack_name);

/* Make sure everything reachable from idx is valid. Since we
* have verified that nr_objects matches between idx and pack,
Expand Down

0 comments on commit 55e1805

Please sign in to comment.