[PATCH 13/20] commit-graph.c: prevent overflow in `load_oid_from_graph()`
- From
Taylor Blau <me@ttaylorr.com>
- Date
- Jul 12, 2023, 23:38 UTC
- Message-ID
- <0b7aabc23b10c1c3e260848dd8ac500ee7e62d8c.1689205042.git.me@ttaylorr.com>
- In-Reply-To
- <cover.1689205042.git.me@ttaylorr.com>
In a similar spirit as previous commits, ensure that we don't overflow when trying to compute an offset into the `chunk_oid_lookup` table when the `lex_index` of the item we're trying to look up exceeds `2^32-1/g->hash_len`.
Signed-off-by: Taylor Blau <me@ttaylorr.com> --- commit-graph.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/commit-graph.c b/commit-graph.c index 99af73e40a..1b70bdb07e 100644 --- a/commit-graph.c +++ b/commit-graph.c @@ -753,7 +753,7 @@ static void load_oid_from_graph(struct commit_graph *g, lex_index = pos - g->num_commits_in_base; - oidread(oid, g->chunk_oid_lookup + g->hash_len * lex_index); + oidread(oid, g->chunk_oid_lookup + st_mult(g->hash_len, lex_index)); } static struct commit_list **insert_parent_or_die(struct repository *r,
-- 2.41.0.347.g7b976b8871f