From b237ba0a8eaa5001283ac8448872021723b90aff Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Fri, 20 Feb 2015 16:25:47 +0000 Subject: 34587: ensure multibyte characters don't overflow. They could start incorporating tokens, with bad karma. Add test. --- Test/D07multibyte.ztst | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'Test') diff --git a/Test/D07multibyte.ztst b/Test/D07multibyte.ztst index 2cb995346..33e76bee7 100644 --- a/Test/D07multibyte.ztst +++ b/Test/D07multibyte.ztst @@ -448,20 +448,30 @@ 0:read passes through invalid multibyte characters >0xC5 - word=abcま + word=abcま word[-1]= print $word - word=abcま + word=abcま word[-2]= print $word - word=abcま + word=abcま word[4]=d print $word - word=abcま + word=abcま word[3]=not_c - print $word + print $word 0:assignment with negative indices >abc >abま >abcd >abnot_cま + + # The following doesn't necessarily need UTF-8, but this gives + # us the full effect --- if we parse this wrongly the \xe9 + # in combination with the tokenized input afterwards looks like a + # valid UTF-8 character. But it isn't. + print $'$\xe9#``' >test_bad_param + (setopt nonomatch + . ./test_bad_param) +127:Invalid parameter name with following tokenized input +?./test_bad_param:1: command not found: $\M-i# -- cgit 1.4.1