diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-03-13 09:21:34 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-03-13 09:21:34 +0300 |
commit | 36d5286f6815542761dae92fdcdce8db1556727f (patch) | |
tree | c17757243d083a95e846e0d701fafebe57513c4a /t | |
parent | 271513cd549c23d109ccc048627b053bd3691a67 (diff) | |
parent | aaae0bf787f09ba102f69c3cf85d37e6554ab9fd (diff) |
Merge branch 'ax/line-log-range-merge-fix'
The code to parse "git log -L..." command line was buggy when there
are many ranges specified with -L; overrun of the allocated buffer
has been fixed.
* ax/line-log-range-merge-fix:
line-log.c: prevent crash during union of too many ranges
Diffstat (limited to 't')
-rwxr-xr-x | t/t4211-line-log.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/t/t4211-line-log.sh b/t/t4211-line-log.sh index 9d87777b59..d0377fae5c 100755 --- a/t/t4211-line-log.sh +++ b/t/t4211-line-log.sh @@ -106,4 +106,14 @@ test_expect_success '-L with --output' ' test_line_count = 70 log ' +test_expect_success 'range_set_union' ' + test_seq 500 > c.c && + git add c.c && + git commit -m "many lines" && + test_seq 1000 > c.c && + git add c.c && + git commit -m "modify many lines" && + git log $(for x in $(test_seq 200); do echo -L $((2*x)),+1:c.c; done) +' + test_done |