author | Dennis Stosberg <dennis@stosberg.net> | |
Thu, 11 May 2006 17:36:32 +0000 (19:36 +0200) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Sat, 13 May 2006 17:43:16 +0000 (10:43 -0700) | ||
commit | 66561f5a776f2343331fff5b98adff1000622f42 | |
tree | 1c480663e03984fd23226964e54eba7a7c6a9eb9 | tree | snapshot |
parent | d1802851b0c112a065b43e3f83d631f867b7e1ce | commit | diff |
Fix git-pack-objects for 64-bit platforms
The offset of an object in the pack is recorded as a 4-byte integer
in the index file. When reading the offset from the mmap'ed index
in prepare_pack_revindex(), the address is dereferenced as a long*.
This works fine as long as the long type is four bytes wide. On
NetBSD/sparc64, however, a long is 8 bytes wide and so dereferencing
the offset produces garbage.
[jc: taking suggestion by Linus to use uint32_t]
Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
The offset of an object in the pack is recorded as a 4-byte integer
in the index file. When reading the offset from the mmap'ed index
in prepare_pack_revindex(), the address is dereferenced as a long*.
This works fine as long as the long type is four bytes wide. On
NetBSD/sparc64, however, a long is 8 bytes wide and so dereferencing
the offset produces garbage.
[jc: taking suggestion by Linus to use uint32_t]
Signed-off-by: Dennis Stosberg <dennis@stosberg.net>
Signed-off-by: Junio C Hamano <junkio@cox.net>
pack-objects.c | diff | blob | history | |
sha1_file.c | diff | blob | history |