From: Christoph Michelbach Date: Tue, 05 Jul 2016 18:11:33 GMT Subject: Re: [PATCH 0/5] Number truncation with 4+ GB files on 32-bit systems Message-ID: <1467742293.3047.3.camel@gmail.com> In-Reply-To: <20160705170558.10906-1-pclouds@gmail.com> Thank you very much! -- With kind regards Christoph Michelbach On Tue, 2016-07-05 at 19:05 +0200, Nguyễn Thái Ngọc Duy wrote: > Since I now could reproduce the problem that Christoph showed, I > decided to send the good patches out. To sum up, we use "unsigned > long" in some places related to file size. On 32-bit systems, it's > limited to 32 bits even though the system can handle files larger > than > that (off_t is 64-bit). This fixes it. > > clang -Wshorten-64-to-32 is very helpful to spot these problems. I > have a couple more patches to clean all these warnings, but some need > more code study to see what is the right way to do. > > Most of the rest seems harmless, except for the local variable "size" > in builtin/pack-objects.c:write_one(). I might send 6/5 for that one. > > Nguyễn Thái Ngọc Duy (5): >   pack-objects: pass length to check_pack_crc() without truncation >   sha1_file.c: use type off_t* for object_info->disk_sizep >   index-pack: correct "len" type in unpack_data() >   index-pack: report correct bad object offsets even if they are > large >   index-pack: correct "offset" type in unpack_entry_data() > >  builtin/cat-file.c     |  4 ++-- >  builtin/index-pack.c   | 23 ++++++++++++----------- >  builtin/pack-objects.c |  2 +- >  cache.h                |  2 +- >  sha1_file.c            |  2 +- >  5 files changed, 17 insertions(+), 16 deletions(-) >