pack-bitmap: don't perform unaligned memory access

The preceding bitmap entries have a 1-byte XOR-offset and 1-byte flags,
so their size is not a multiple of 4. Thus the name-hash cache is only
guaranteed to be 2-byte aligned and so we must use get_be32 rather than
indexing the array directly.

Signed-off-by: James Clarke <jrtc27@jrtc27.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
James Clarke 2017-06-26 16:16:12 +01:00 committed by Junio C Hamano
parent 840ed14198
commit da41c942b3

View file

@ -627,7 +627,7 @@ static void show_objects_for_type(
sha1 = nth_packed_object_sha1(bitmap_git.pack, entry->nr);
if (bitmap_git.hashes)
hash = ntohl(bitmap_git.hashes[entry->nr]);
hash = get_be32(bitmap_git.hashes + entry->nr);
show_reach(sha1, object_type, 0, hash, bitmap_git.pack, entry->offset);
}