mirror of
https://github.com/git/git
synced 2024-11-05 01:58:18 +00:00
pack-revindex.c: guard against out-of-bounds pack lookups
The function midx_key_to_pack_pos() is a helper function used by midx_to_pack_pos() and midx_pair_to_pack_pos() to translate a (pack, offset) tuple into a position into the MIDX pseudo-pack order. Ensure that the pack ID given to midx_pair_to_pack_pos() is bounded by the number of packs within the MIDX to prevent, for instance, uninitialized memory from being used as a pack ID. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
ed4a1d6ae1
commit
e162aed591
1 changed files with 3 additions and 0 deletions
|
@ -527,6 +527,9 @@ static int midx_key_to_pack_pos(struct multi_pack_index *m,
|
|||
{
|
||||
uint32_t *found;
|
||||
|
||||
if (key->pack >= m->num_packs)
|
||||
BUG("MIDX pack lookup out of bounds (%"PRIu32" >= %"PRIu32")",
|
||||
key->pack, m->num_packs);
|
||||
/*
|
||||
* The preferred pack sorts first, so determine its identifier by
|
||||
* looking at the first object in pseudo-pack order.
|
||||
|
|
Loading…
Reference in a new issue