summaryrefslogtreecommitdiff
path: root/t/t4013/diff.diff_initial..side
diff options
context:
space:
mode:
authorTamir Duberstein <tamird@gmail.com>2026-06-12 17:49:12 -0400
committerJunio C Hamano <gitster@pobox.com>2026-06-12 15:56:44 -0700
commit5bd39784cda151203aa6d97e24c21bf7fddc11de (patch)
treed97c78c4964a07b0aae715a83d78b45c1f5a5aea /t/t4013/diff.diff_initial..side
parent600fe743028cbfb640855f659e9851522214bc0b (diff)
commit-reach: reject cycles in contains walk
The memoized contains traversal used by git tag assumes that commit ancestry is acyclic. Replacement refs can violate that assumption, causing it to keep pushing an already active commit until memory is exhausted. Mark commits while they are active and die if the traversal encounters an active commit. Other failures in this walk already die through parse_commit_or_die(); using a second reachability walk would only add a separate policy for malformed history. Suggested-by: Kristofer Karlsson <krka@spotify.com> Signed-off-by: Tamir Duberstein <tamird@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t4013/diff.diff_initial..side')
0 files changed, 0 insertions, 0 deletions