Browse Source

read_index(): fix reading extension size on BE 64-bit archs

On big endian platforms with 8-byte unsigned long, the code reads the
size of the index extension section (which is a 4-byte network byte
order integer) incorrectly.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nathaniel W Filardo 15 years ago committed by Junio C Hamano
parent
commit
07cc8ecac0
  1. 2
      read-cache.c

2
read-cache.c

@ -1016,7 +1016,7 @@ int read_index_from(struct index_state *istate, const char *path) @@ -1016,7 +1016,7 @@ int read_index_from(struct index_state *istate, const char *path)
* extension name (4-byte) and section length
* in 4-byte network byte order.
*/
unsigned long extsize;
uint32_t extsize;
memcpy(&extsize, (char *)mmap + src_offset + 4, 4);
extsize = ntohl(extsize);
if (read_index_extension(istate,

Loading…
Cancel
Save