diff mbox series

[16/20] commit-graph.c: prevent overflow in `load_tree_for_commit()`

Message ID 32c046e684acd27df254b8e500e0b64ec76b197d.1689205042.git.me@ttaylorr.com (mailing list archive)
State Accepted
Commit 51c31a6408c1eae3ad6c2f78ec136c1b415cad72
Headers show
Series guard object lookups against 32-bit overflow | expand

Commit Message

Taylor Blau July 12, 2023, 11:38 p.m. UTC
In a similar spirit as previous commits, ensure that we don't overflow
when computing an offset into the commit_data chunk when the (relative)
graph position exceeds 2^32-1/GRAPH_DATA_WIDTH.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
---
 commit-graph.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/commit-graph.c b/commit-graph.c
index ca1d997516..35f700273b 100644
--- a/commit-graph.c
+++ b/commit-graph.c
@@ -979,7 +979,7 @@  static struct tree *load_tree_for_commit(struct repository *r,
 		g = g->base_graph;
 
 	commit_data = g->chunk_commit_data +
-			GRAPH_DATA_WIDTH * (graph_pos - g->num_commits_in_base);
+			st_mult(GRAPH_DATA_WIDTH, graph_pos - g->num_commits_in_base);
 
 	oidread(&oid, commit_data);
 	set_commit_tree(c, lookup_tree(r, &oid));