Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- pack-check.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/pack-check.c b/pack-check.c index 0c19b6e..e33ea79 100644 --- a/pack-check.c +++ b/pack-check.c @@ -79,6 +79,8 @@ static int verify_packfile(struct packed_git *p, err = error("%s SHA1 does not match its index", p->pack_name); unuse_pack(w_curs); + if (err) + return err; /* Make sure everything reachable from idx is valid. Since we * have verified that nr_objects matches between idx and pack, @@ -106,11 +108,13 @@ static int verify_packfile(struct packed_git *p, off_t offset = entries[i].offset; off_t len = entries[i+1].offset - offset; unsigned int nr = entries[i].nr; - if (check_pack_crc(p, w_curs, offset, len, nr)) + if (check_pack_crc(p, w_curs, offset, len, nr)) { err = error("index CRC mismatch for object %s " "from %s at offset %"PRIuMAX"", sha1_to_hex(entries[i].sha1), p->pack_name, (uintmax_t)offset); + break; + } } data = unpack_entry(p, entries[i].offset, &type, &size); if (!data) { -- 1.7.4.74.g639db -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html