diff options
| author | apnadkarni <apnmbx-wits@yahoo.com> | 2024-08-09 13:28:46 (GMT) |
|---|---|---|
| committer | apnadkarni <apnmbx-wits@yahoo.com> | 2024-08-09 13:28:46 (GMT) |
| commit | 31d7c1db336a786deded7f23367893ebcb486f11 (patch) | |
| tree | 4ebb801522739bb24040e5fcac010d400cd56ff0 /generic/tclEncoding.c | |
| parent | ff1faad46be53c2889bf574c20096f4b27df310a (diff) | |
| parent | 5a9ec4cb38cbc7d3a97ea154cffabaffa7da323a (diff) | |
| download | tcl-31d7c1db336a786deded7f23367893ebcb486f11.zip tcl-31d7c1db336a786deded7f23367893ebcb486f11.tar.gz tcl-31d7c1db336a786deded7f23367893ebcb486f11.tar.bz2 | |
Merge trunk
Diffstat (limited to 'generic/tclEncoding.c')
| -rw-r--r-- | generic/tclEncoding.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c index 624705d..ee80ba4 100644 --- a/generic/tclEncoding.c +++ b/generic/tclEncoding.c @@ -3983,6 +3983,15 @@ EscapeFromUtfProc( break; } len = TclUtfToUniChar(src, &ch); + if (ch > 0xFFFF) { + /* Bug 201c7a3aa6 crash - tables are 256x256 (64K) */ + if (PROFILE_STRICT(flags)) { + result = TCL_CONVERT_SYNTAX; + break; + } + /* Will be encoded as encoding specific replacement below */ + ch = UNICODE_REPLACE_CHAR; + } word = tableFromUnicode[(ch >> 8)][ch & 0xFF]; if ((word == 0) && (ch != 0)) { |
