midx: double-check large object write loop
commit61b0fcbb64d00d52290d433c1e754c01740b3d19
authorJeff King <peff@peff.net>
Sun, 4 Nov 2018 02:27:46 +0000 (3 22:27 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 6 Nov 2018 03:57:08 +0000 (6 12:57 +0900)
tree4056d948123038785618385a1383b719010ea010
parent517fe807d6903c629a739b23fe0e75b892096998
midx: double-check large object write loop

The write_midx_large_offsets() function takes an array of object
entries, the number of entries in the array (nr_objects), and the number
of entries with large offsets (nr_large_offset). But we never actually
use nr_objects; instead we keep walking down the array and counting down
nr_large_offset until we've seen all of the large entries.

This is correct, but we can be a bit more defensive. If there were ever
a mismatch between nr_large_offset and the actual set of large-offset
objects, we'd walk off the end of the array.

Since we know the size of the array, we can use nr_objects to make sure
we don't walk too far.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
midx.c