Subject: Re: [PATCH v3] git tag --contains: avoid stack overflow

From: Andreas Schwab <[email-masked]>
Date: Sat, 20 Sep 2014 20:18:59 +0200

Stepan Kasal <[email-masked]> writes:

> diff --git a/t/t7004-tag.sh b/t/t7004-tag.sh
> index 143a8ea..a911df0 100755
> --- a/t/t7004-tag.sh
> +++ b/t/t7004-tag.sh
> @@ -1423,4 +1423,30 @@ EOF
>  	test_cmp expect actual
>  '
>  
> +run_with_limited_stack () {
> +	(ulimit -s 64 && "$@")
> +}

That is way too small.

https://build.opensuse.org/package/live_build_log/openSUSE:Factory:PowerPC/git/standard/ppc64le

[  492s] not ok 136 - --contains works in a deep repo
[  492s] ok 11 - log using absolute path names
[  492s] #      
[  492s] #              >expect &&
[  492s] #              i=1 &&
[  492s] #              while test $i -lt 4000
[  492s] #              do
[  492s] #                      echo "commit refs/heads/master
[  492s] #      committer A U Thor <[email-masked]> $((1000000000 + $i * 100)) +0200
[  492s] #      data <<EOF
[  492s] #      commit #$i
[  492s] #      EOF"
[  492s] #                      test $i = 1 && echo "from refs/heads/master^0"
[  492s] #                      i=$(($i + 1))
[  492s] #              done | git fast-import &&
[  492s] #              git checkout master &&
[  492s] #              git tag far-far-away HEAD^ &&
[  492s] #              run_with_limited_stack git tag --contains HEAD >actual &&
[  492s] #              test_cmp expect actual
[  492s] #      
[  492s] # failed 1 among 136 test(s)
[  492s] 1..136
[  492s] Makefile:44: recipe for target 't7004-tag.sh' failed
[  492s] make[2]: *** [t7004-tag.sh] Error 1

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."