summaryrefslogtreecommitdiff
path: root/compat/sha1-chunked.c
diff options
context:
space:
mode:
authorLibravatar Nguyễn Thái Ngọc Duy <pclouds@gmail.com>2016-07-05 19:05:54 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2016-07-12 10:14:29 -0700
commit211c61c6cf56699fc7b520a0206d23f5e4a7261b (patch)
tree43035095197759a16d0cccb92af4264d29ad4b8e /compat/sha1-chunked.c
parentGit 2.8.4 (diff)
downloadtgif-211c61c6cf56699fc7b520a0206d23f5e4a7261b.tar.xz
pack-objects: pass length to check_pack_crc() without truncation
On 32 bit systems with large file support, unsigned long is 32-bit while the two offsets in the subtraction expression (pack-objects has the exact same expression as in sha1_file.c but not shown in diff) are in 64-bit. If an in-pack object is larger than 2^32 len/datalen is truncated and we get a misleading "error: bad packed object CRC for ..." as a result. Use off_t for len and datalen. check_pack_crc() already accepts this argument as off_t and can deal with 4+ GB. Noticed-by: Christoph Michelbach <michelbach94@gmail.com> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/sha1-chunked.c')
0 files changed, 0 insertions, 0 deletions