summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <carlosmn@github.com>2016-11-02 13:05:35 +0100
committerGitHub <noreply@github.com>2016-11-02 13:05:35 +0100
commitd2451fedfa26708d99662e40b511645d4e7dcbf4 (patch)
tree6ccd0831d4afb4ec6445116f84a5a1f220500e41
parent19001ca7ba175500978386729b49435dfcde3d67 (diff)
parent0cf15e39f3d435c6f8d8f52daed2b98c375266a8 (diff)
downloadlibgit2-d2451fedfa26708d99662e40b511645d4e7dcbf4.tar.gz
Merge pull request #3984 from pks-t/pks/pack-find-offset-race
pack: fix race in pack_entry_find_offset
-rw-r--r--src/pack.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/pack.c b/src/pack.c
index 310f00fa3..2ee0c60e4 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -1268,8 +1268,8 @@ static int pack_entry_find_offset(
const git_oid *short_oid,
size_t len)
{
- const uint32_t *level1_ofs = p->index_map.data;
- const unsigned char *index = p->index_map.data;
+ const uint32_t *level1_ofs;
+ const unsigned char *index;
unsigned hi, lo, stride;
int pos, found = 0;
git_off_t offset;
@@ -1283,11 +1283,11 @@ static int pack_entry_find_offset(
if ((error = pack_index_open(p)) < 0)
return error;
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) {
level1_ofs += 2;
index += 8;