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:
Junio C Hamano 2024-03-21 14:55:12 -07:00
Родитель 330ed38a2d fffd981ec2
Коммит 3eba921f81
2 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -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;