summaryrefslogtreecommitdiffstats
path: root/tests/encoding.test
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2017-05-31 12:05:45 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2017-05-31 12:05:45 (GMT)
commita88091c1bf14f254449273a9f864d8f09009fe67 (patch)
tree5ccc8a1c3afd4e8dbab5c173ddd11a1af8d2aec7 /tests/encoding.test
parent91189c426903448dfa31ba4983c5d3035cb351a5 (diff)
downloadtcl-a88091c1bf14f254449273a9f864d8f09009fe67.zip
tcl-a88091c1bf14f254449273a9f864d8f09009fe67.tar.gz
tcl-a88091c1bf14f254449273a9f864d8f09009fe67.tar.bz2
Fix [67aa9a207037ae67f9014b544c3db34fa732f2dc|67aa9a2070]: Security: Invalid UTF-8 can inject unexpected characters
Diffstat (limited to 'tests/encoding.test')
-rw-r--r--tests/encoding.test25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/encoding.test b/tests/encoding.test
index 0374e2d..1d8bae5 100644
--- a/tests/encoding.test
+++ b/tests/encoding.test
@@ -448,6 +448,31 @@ test encoding-24.3 {EscapeFreeProc on open channels} {stdio} {
list $count [viewable $line]
} [list 3 "\u4e4e\u4e5e\u4e5f (\\u4e4e\\u4e5e\\u4e5f)"]
+test encoding-24.4 {Parse valid or invalid utf-8} {
+ string length [encoding convertfrom utf-8 "\xc0\x80"]
+} 1
+test encoding-24.5 {Parse valid or invalid utf-8} {
+ string length [encoding convertfrom utf-8 "\xc0\x81"]
+} 2
+test encoding-24.6 {Parse valid or invalid utf-8} {
+ string length [encoding convertfrom utf-8 "\xc1\xbf"]
+} 2
+test encoding-24.7 {Parse valid or invalid utf-8} {
+ string length [encoding convertfrom utf-8 "\xc2\x80"]
+} 1
+test encoding-24.8 {Parse valid or invalid utf-8} {
+ string length [encoding convertfrom utf-8 "\xe0\x80\x80"]
+} 3
+test encoding-24.9 {Parse valid or invalid utf-8} {
+ string length [encoding convertfrom utf-8 "\xe0\x9f\xbf"]
+} 3
+test encoding-24.10 {Parse valid or invalid utf-8} {
+ string length [encoding convertfrom utf-8 "\xe0\xa0\x80"]
+} 1
+test encoding-24.10 {Parse valid or invalid utf-8} {
+ string length [encoding convertfrom utf-8 "\xef\xbf\xbf"]
+} 1
+
file delete [file join [temporaryDirectory] iso2022.txt]
#