count-objects: do not use xsize_t when counting object size
authorJeff King <peff@peff.net>
Wed, 15 Oct 2014 22:40:58 +0000 (18:40 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 16 Oct 2014 17:10:41 +0000 (10:10 -0700)
The point of xsize_t is to safely cast an off_t into a size_t
(because we are about to mmap). But in count-objects, we are
summing the sizes in an off_t. Using xsize_t means that
count-objects could fail on a 32-bit system with a 4G
object (not likely, as other parts of git would fail, but
we should at least be correct here).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/count-objects.c
index a7f70cb858e6574562957b739b8a3d42f0353b40..316a805a8346350330595acae3f9df6c691955f9 100644 (file)
@@ -53,7 +53,7 @@ static void count_objects(DIR *d, char *path, int len, int verbose,
                        if (lstat(path, &st) || !S_ISREG(st.st_mode))
                                bad = 1;
                        else
-                               (*loose_size) += xsize_t(on_disk_bytes(st));
+                               (*loose_size) += on_disk_bytes(st);
                }
                if (bad) {
                        if (verbose) {