aboutsummaryrefslogtreecommitdiffstats
path: root/t/t0210-trace2-normal.sh
diff options
context:
space:
mode:
authorAdam Murray <ad@canva.com>2025-01-10 07:28:20 +0000
committerJunio C Hamano <gitster@pobox.com>2025-01-23 10:01:56 -0800
commit2fd367cf63cd5f94368340cc6fe1cd0a3fb021df (patch)
tree8543686f0704c7c216059771088b04be01778252 /t/t0210-trace2-normal.sh
parent5c21db3a0d5f4414b65e114ca21c5a1fe736f2bc (diff)
downloadgit-2fd367cf63cd5f94368340cc6fe1cd0a3fb021df.tar.gz
trace2: prevent segfault on config collection with valueless true
When TRACE2 analytics is enabled, a configuration variable set to "valueless true" causes a segfault. Steps to Reproduce GIT_TRACE2=true GIT_TRACE2_CONFIG_PARAMS=status.* git -c status.relativePaths version Expected Result git version 2.46.0 Actual Result zsh: segmentation fault GIT_TRACE2=true Add checks to prevent the segfault and instead show that the variable without value. Signed-off-by: Adam Murray <ad@canva.com> Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t0210-trace2-normal.sh')
-rwxr-xr-xt/t0210-trace2-normal.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/t/t0210-trace2-normal.sh b/t/t0210-trace2-normal.sh
index c312657a12..07b6608951 100755
--- a/t/t0210-trace2-normal.sh
+++ b/t/t0210-trace2-normal.sh
@@ -244,6 +244,15 @@ test_expect_success 'bug messages followed by BUG() are written to trace2' '
test_cmp expect actual
'
+test_expect_success 'a valueless true configuration variable is handled' '
+ test_when_finished "rm -f trace2.normal actual expect" &&
+ echo >expect &&
+ GIT_TRACE2="$(pwd)/trace2.normal" \
+ GIT_TRACE2_CONFIG_PARAMS=foo.true \
+ git -c foo.true config foo.true >actual &&
+ test_cmp expect actual
+'
+
sane_unset GIT_TRACE2_BRIEF
# Now test without environment variables and get all Trace2 settings