[PATCH v2] t7450: inspect the correct path a broken code would write to
From: chenjianhu via GitGitGadget <hidden>
Date: 2025-07-31 03:49:44
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: chenjianhu <redacted>
Prior to 05e9cd64 (config: quote values containing CR character,
2025-05-19), a repository can trick "clone --recurse-submodules"
into running a post-checkout hook shipped with the project. The
test was written to make sure the trick would no longer run the
hook with the fix in the commit.
However, the test did not check for the path the hook would
create; correct the path to the expected one if the bug were
still with us.
Signed-off-by: chenjianhu <redacted>
---
modify the “foo" file path to "$PWD/bad-clone/sub/foo".
cc: "Kristoffer Haugsbakk" kristofferhaugsbakk@fastmail.com cc: Justin
Tobler jltobler@gmail.com
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2022%2Fcjhxmx%2Fcjhxmx-git-test-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2022/cjhxmx/cjhxmx-git-test-v2
Pull-Request: https://github.com/git/git/pull/2022
Range-diff vs v1:
1: c2d1d8fe884 ! 1: 6434587a075 modify the “foo" file path to "$PWD/bad-clone/sub/foo".
@@
## Metadata ##
-Author: 陈建虎 [off-list ref]
+Author: chenjianhu [off-list ref]
## Commit message ##
- modify the “foo" file path to "$PWD/bad-clone/sub/foo".
+ t7450: inspect the correct path a broken code would write to
- In the t7450-bad-git-dotfiles.sh, when post-checkout
- is executed, the actual path where the foo file
- is created should be "$PWD/bad-clone/sub/foo".
+ Prior to 05e9cd64 (config: quote values containing CR character,
+ 2025-05-19), a repository can trick "clone --recurse-submodules"
+ into running a post-checkout hook shipped with the project. The
+ test was written to make sure the trick would no longer run the
+ hook with the fix in the commit.
+
+ However, the test did not check for the path the hook would
+ create; correct the path to the expected one if the bug were
+ still with us.
Signed-off-by: chenjianhu [off-list ref]
t/t7450-bad-git-dotfiles.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/t7450-bad-git-dotfiles.sh b/t/t7450-bad-git-dotfiles.sh
index 14b5743b962..f512eed278c 100755
--- a/t/t7450-bad-git-dotfiles.sh
+++ b/t/t7450-bad-git-dotfiles.sh@@ -401,7 +401,7 @@ test_expect_success SYMLINKS,!WINDOWS,!MINGW 'submodule must not checkout into d git -C repo commit -m submodule && git -c protocol.file.allow=always clone --recurse-submodules repo bad-clone && - ! test -f "$PWD/foo" && + ! test -f "$PWD/bad-clone/sub/foo" && test -f $(printf "bad-clone/sub\r/post-checkout") '
base-commit: e813a0200a7121b97fec535f0d0b460b0a33356c -- gitgitgadget