Merge pull request #3984 from pks-t/pks/pack-find-offset-race

pack: fix race in pack_entry_find_offset
This commit is contained in:
Carlos Martín Nieto 2016-11-02 13:05:35 +01:00 committed by GitHub
commit d2451fedfa

View File

@ -1268,8 +1268,8 @@ static int pack_entry_find_offset(
const git_oid *short_oid, const git_oid *short_oid,
size_t len) size_t len)
{ {
const uint32_t *level1_ofs = p->index_map.data; const uint32_t *level1_ofs;
const unsigned char *index = p->index_map.data; const unsigned char *index;
unsigned hi, lo, stride; unsigned hi, lo, stride;
int pos, found = 0; int pos, found = 0;
git_off_t offset; git_off_t offset;
@ -1283,11 +1283,11 @@ static int pack_entry_find_offset(
if ((error = pack_index_open(p)) < 0) if ((error = pack_index_open(p)) < 0)
return error; return error;
assert(p->index_map.data); assert(p->index_map.data);
index = p->index_map.data;
level1_ofs = p->index_map.data;
} }
index = p->index_map.data;
level1_ofs = p->index_map.data;
if (p->index_version > 1) { if (p->index_version > 1) {
level1_ofs += 2; level1_ofs += 2;
index += 8; index += 8;