summaryrefslogtreecommitdiff
path: root/pack-check.c
diff options
context:
space:
mode:
authorDavid Turner <dturner@twopensource.com>2015-11-30 22:47:42 (GMT)
committerJeff King <peff@peff.net>2015-12-01 23:19:35 (GMT)
commit8c24d832cdcc1602fb5c7e7295447f8043879bf7 (patch)
tree50777861810c9eb603e02e382a19c7050524ef06 /pack-check.c
parent908a6e4156dff47d4877478383fd4b79592010e2 (diff)
downloadgit-8c24d832cdcc1602fb5c7e7295447f8043879bf7.zip
git-8c24d832cdcc1602fb5c7e7295447f8043879bf7.tar.gz
git-8c24d832cdcc1602fb5c7e7295447f8043879bf7.tar.bz2
verify_pack: do not ignore return value of verification function
In verify_pack, a caller-supplied verification function is called. The function returns an int. If that return value is non-zero, verify_pack should fail. The only caller of verify_pack is in builtin/fsck.c, whose verify_fn returns a meaningful error code (which was then ignored). Now, fsck might return a different error code (with more detail). This would happen in the unlikely event that a commit or tree that is a valid git object but not a valid instance of its type gets into a pack. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Jeff King <peff@peff.net>
Diffstat (limited to 'pack-check.c')
-rw-r--r--pack-check.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/pack-check.c b/pack-check.c
index 63a595c..433bd86 100644
--- a/pack-check.c
+++ b/pack-check.c
@@ -126,7 +126,7 @@ static int verify_packfile(struct packed_git *p,
sha1_to_hex(entries[i].sha1), p->pack_name);
else if (fn) {
int eaten = 0;
- fn(entries[i].sha1, type, size, data, &eaten);
+ err |= fn(entries[i].sha1, type, size, data, &eaten);
if (eaten)
data = NULL;
}