diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-03-02 16:04:59 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2019-03-02 16:04:59 (GMT) |
| commit | bfaca509637e46e0ffd48c20a60b78c617c7bf44 (patch) | |
| tree | 4a8907259172a0e3fb26c1592c5f5a9c9169d90c /generic/tclCompile.c | |
| parent | cc3041cee0463eae2d11f0125f3921b66f67497a (diff) | |
| download | tcl-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.c | 4 |
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 |
