summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2024-01-29 15:26:48 (GMT)
committersebres <sebres@users.sourceforge.net>2024-01-29 15:26:48 (GMT)
commitba6c1f99779d4cb54edb10aeb0d559ea18b4c1c6 (patch)
tree8f85bf18f3421579c02f60799d1835d4364d5e37 /generic/tclIO.c
parentc41dda6a3787df275cb5360d6aad18abce39c630 (diff)
parent6d5e3297cb73a8ebe1c913da584efc1bee9d6e04 (diff)
downloadtcl-ba6c1f99779d4cb54edb10aeb0d559ea18b4c1c6.zip
tcl-ba6c1f99779d4cb54edb10aeb0d559ea18b4c1c6.tar.gz
tcl-ba6c1f99779d4cb54edb10aeb0d559ea18b4c1c6.tar.bz2
merge 8.6
Diffstat (limited to 'generic/tclIO.c')
-rw-r--r--generic/tclIO.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 3b36457..7e7d88c 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -6322,8 +6322,9 @@ ReadChars(
int factor = *factorPtr;
int dstLimit = TCL_UTF_MAX - 1 + toRead * factor / UTF_EXPANSION_FACTOR;
+ if (dstLimit <= 0) dstLimit = INT_MAX; /* avoid overflow */
(void) TclGetStringFromObj(objPtr, &numBytes);
- Tcl_AppendToObj(objPtr, NULL, dstLimit);
+ TclAppendUtfToUtf(objPtr, NULL, dstLimit);
if (toRead == srcLen) {
unsigned int size;