OSDN Git Service

index-pack: correct "offset" type in unpack_entry_data()
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Wed, 13 Jul 2016 15:44:02 +0000 (17:44 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 13 Jul 2016 16:15:08 +0000 (09:15 -0700)
unpack_entry_data() receives an off_t value from unpack_raw_entry(),
which could be larger than unsigned long on 32-bit systems with large
file support. Correct the type so truncation does not happen. This
only affects bad object reporting though.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/index-pack.c

index e2d8ae4..1008d7f 100644 (file)
@@ -430,7 +430,7 @@ static int is_delta_type(enum object_type type)
        return (type == OBJ_REF_DELTA || type == OBJ_OFS_DELTA);
 }
 
-static void *unpack_entry_data(unsigned long offset, unsigned long size,
+static void *unpack_entry_data(off_t offset, unsigned long size,
                               enum object_type type, unsigned char *sha1)
 {
        static char fixed_buf[8192];