зеркало из https://github.com/microsoft/git.git
Merge branch 'ps/reftable-block-search-fix'
The reftable code has its own custom binary search function whose comparison callback has an unusual interface, which caused the binary search to degenerate into a linear search, which has been corrected. * ps/reftable-block-search-fix: reftable/block: fix binary search over restart counter reftable/record: fix memory leak when decoding object records
This commit is contained in:
Коммит
3eba921f81
|
@ -301,7 +301,7 @@ static int restart_key_less(size_t idx, void *args)
|
|||
|
||||
result = strbuf_cmp(&a->key, &rkey);
|
||||
strbuf_release(&rkey);
|
||||
return result;
|
||||
return result < 0;
|
||||
}
|
||||
|
||||
void block_iter_copy_from(struct block_iter *dest, struct block_iter *src)
|
||||
|
|
|
@ -588,6 +588,8 @@ static int reftable_obj_record_decode(void *rec, struct strbuf key,
|
|||
uint64_t last;
|
||||
int j;
|
||||
|
||||
reftable_obj_record_release(r);
|
||||
|
||||
REFTABLE_ALLOC_ARRAY(r->hash_prefix, key.len);
|
||||
memcpy(r->hash_prefix, key.buf, key.len);
|
||||
r->hash_prefix_len = key.len;
|
||||
|
|
Загрузка…
Ссылка в новой задаче