diff options
author | Carlo Marcelo Arenas Belón <carenas@gmail.com> | 2020-05-20 16:26:27 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-05-24 09:00:11 -0700 |
commit | 4d9005ff5d1de0b4e82402320aab4ff27aa23b43 (patch) | |
tree | d76bc2579b537194f01503ca9c759817e11a0485 /t | |
parent | bisect--helper: `bisect_start` shell function partially in C (diff) | |
download | tgif-4d9005ff5d1de0b4e82402320aab4ff27aa23b43.tar.xz |
bisect--helper: avoid segfault with bad syntax in `start --term-*`
06f5608c14 (bisect--helper: `bisect_start` shell function partially in C,
2019-01-02) adds a lax parser for `git bisect start` which could result
in a segfault under a bad syntax call for start with custom terms.
Detect if there are enough arguments left in the command line to use for
--term-{old,good,new,bad} and abort with the same syntax error the original
implementation will show if not.
While at it, remove an unnecessary (and incomplete) check for unknown
arguments and make sure to add a test to avoid regressions.
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Acked-by: Christian Couder <christian.couder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t6030-bisect-porcelain.sh | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/t/t6030-bisect-porcelain.sh b/t/t6030-bisect-porcelain.sh index 55835ee4a4..1ebf530769 100755 --- a/t/t6030-bisect-porcelain.sh +++ b/t/t6030-bisect-porcelain.sh @@ -858,7 +858,9 @@ test_expect_success 'bisect cannot mix terms' ' test_expect_success 'bisect terms rejects invalid terms' ' git bisect reset && + test_must_fail git bisect start --term-good && test_must_fail git bisect start --term-good invalid..term && + test_must_fail git bisect start --term-bad && test_must_fail git bisect terms --term-bad invalid..term && test_must_fail git bisect terms --term-good bad && test_must_fail git bisect terms --term-good old && |