diff options
| author | Taylor Blau <me@ttaylorr.com> | 2023-07-12 19:37:49 -0400 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2023-07-14 09:32:03 -0700 |
| commit | d67609bdded151d78522911629c9e7da7fd06640 (patch) | |
| tree | dd8789ffb281f83b3625b78dc7835740b9bb506a | |
| parent | 2bc764c1d4d1bc12ba7d95ceebb0da54ba381be5 (diff) | |
| download | git-d67609bdded151d78522911629c9e7da7fd06640.tar.gz | |
midx.c: prevent overflow in `fill_included_packs_batch()`
In a similar spirit as in previous commits, avoid an integer overflow
when computing the expected size of a MIDX.
(Note that this is also OK as-is, since `p->pack_size` is an `off_t`, so
this computation should already be done as 64-bit integers. But again,
let's use `st_mult()` to make this fact clear).
Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
| -rw-r--r-- | midx.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1994,8 +1994,8 @@ static int fill_included_packs_batch(struct repository *r, if (open_pack_index(p) || !p->num_objects) continue; - expected_size = (size_t)(p->pack_size - * pack_info[i].referenced_objects); + expected_size = st_mult(p->pack_size, + pack_info[i].referenced_objects); expected_size /= p->num_objects; if (expected_size >= batch_size) |
