]> git.99rst.org Git - git.git/commit
sparse-checkout: fix OOM error with mixed patterns
authorDerrick Stolee <redacted>
Thu, 16 Dec 2021 16:13:41 +0000 (16:13 +0000)
committerJunio C Hamano <redacted>
Thu, 30 Dec 2021 22:39:57 +0000 (14:39 -0800)
commit391c3a1020127c9dbf6995effe2f84d3443292d8
treed0ccf897951457c90fc6db281cb98bbcf37c288f
parenta481d4378cc503ac5646d44533a05fcac569a93f
sparse-checkout: fix OOM error with mixed patterns

Add a test to t1091-sparse-checkout-builtin.sh that would result in an
infinite loop and out-of-memory error before this change. The issue
relies on having non-cone-mode patterns while trying to modify the
patterns in cone-mode.

The fix is simple, allowing us to break from the loop when the input
path does not contain a slash, as the "dir" pattern we added does not.

This is only a fix to the critical out-of-memory error. A better
response to such a strange state will follow in a later change.

Reported-by: Calbabreaker <redacted>
Helped-by: Taylor Blau <redacted>
Reviewed-by: Elijah Newren <redacted>
Signed-off-by: Derrick Stolee <redacted>
Signed-off-by: Junio C Hamano <redacted>
builtin/sparse-checkout.c
t/t1091-sparse-checkout-builtin.sh
git clone https://git.99rst.org/PROJECT