summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-03-02 16:04:59 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-03-02 16:04:59 (GMT)
commitbfaca509637e46e0ffd48c20a60b78c617c7bf44 (patch)
tree4a8907259172a0e3fb26c1592c5f5a9c9169d90c /generic/tclCompile.c
parentcc3041cee0463eae2d11f0125f3921b66f67497a (diff)
downloadtcl-bfaca509637e46e0ffd48c20a60b78c617c7bf44.zip
tcl-bfaca509637e46e0ffd48c20a60b78c617c7bf44.tar.gz
tcl-bfaca509637e46e0ffd48c20a60b78c617c7bf44.tar.bz2
Backport [bd94500678e837d7] from 8.7, preventing endless loops in UTF-8 conversions when handling surrogates. Only effective when compiling with -DTCL_UTF_MAX=4|6 (default: 3). Meant for benefit of Androwish.
Diffstat (limited to 'generic/tclCompile.c')
-rw-r--r--generic/tclCompile.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c
index f716195..6f90072 100644
--- a/generic/tclCompile.c
+++ b/generic/tclCompile.c
@@ -1723,7 +1723,7 @@ TclWordKnownAtCompileTime(
case TCL_TOKEN_BS:
if (tempPtr != NULL) {
- char utfBuf[TCL_UTF_MAX];
+ char utfBuf[TCL_UTF_MAX] = "";
int length = TclParseBackslash(tokenPtr->start,
tokenPtr->size, NULL, utfBuf);
@@ -2337,7 +2337,7 @@ TclCompileTokens(
{
Tcl_DString textBuffer; /* Holds concatenated chars from adjacent
* TCL_TOKEN_TEXT, TCL_TOKEN_BS tokens. */
- char buffer[TCL_UTF_MAX];
+ char buffer[TCL_UTF_MAX] = "";
int i, numObjsToConcat, length, adjust;
unsigned char *entryCodeNext = envPtr->codeNext;
#define NUM_STATIC_POS 20