diff options
author | brian m. carlson <sandals@crustytoothpaste.net> | 2013-07-04 17:20:34 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-07-04 21:48:45 -0700 |
commit | e82bd6cc70db28dab8d0434e4033013adcd0abfa (patch) | |
tree | 73528ed434954b799e4bf4cd2631fba2326d990e /t/t3900-i18n-commit.sh | |
parent | 28110d4bfc613d875231d3d7788500d876136ffc (diff) | |
download | git-e82bd6cc70db28dab8d0434e4033013adcd0abfa.tar.gz |
commit: reject overlong UTF-8 sequences
The commit code accepts pseudo-UTF-8 sequences that encode a character with more
bytes than necessary. Reject such sequences, since they are not valid UTF-8.
Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t3900-i18n-commit.sh')
-rwxr-xr-x | t/t3900-i18n-commit.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/t/t3900-i18n-commit.sh b/t/t3900-i18n-commit.sh index 687669f28d..051ea9d3c2 100755 --- a/t/t3900-i18n-commit.sh +++ b/t/t3900-i18n-commit.sh @@ -48,6 +48,16 @@ test_expect_success 'UTF-8 invalid characters refused' ' grep "did not conform" "$HOME"/stderr ' +test_expect_success 'UTF-8 overlong sequences rejected' ' + test_when_finished "rm -f $HOME/stderr $HOME/invalid" && + rm -f "$HOME/stderr" "$HOME/invalid" && + echo "UTF-8 overlong" >F && + printf "\340\202\251ommit message\n\nThis is not a space:\300\240\n" \ + >"$HOME/invalid" && + git commit -a -F "$HOME/invalid" 2>"$HOME"/stderr && + grep "did not conform" "$HOME"/stderr +' + for H in ISO8859-1 eucJP ISO-2022-JP do test_expect_success "$H setup" ' |