summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-05-03 19:42:03 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-05-03 19:42:03 (GMT)
commit6f6229ef6eb2c97e4841083a1a67707594af8d57 (patch)
treea3bb886d6f51b5edfe3064c8a7f1f1912e8a8352
parent93b4c9bd6b9b3a2e140f6372d1dc890e17781972 (diff)
parent7476029a046978c3dc59b34a88d3be4c6e153613 (diff)
downloadtcl-6f6229ef6eb2c97e4841083a1a67707594af8d57.zip
tcl-6f6229ef6eb2c97e4841083a1a67707594af8d57.tar.gz
tcl-6f6229ef6eb2c97e4841083a1a67707594af8d57.tar.bz2
Fix [24b9181478]: Fix unsafe buffer lifetime
-rw-r--r--generic/tclIO.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 349e717..f916211 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -4277,6 +4277,7 @@ Write(
/* State info for channel */
char *nextNewLine = NULL;
int endEncoding, saved = 0, total = 0, flushed = 0, needNlFlush = 0;
+ char safe[BUFFER_PADDING];
if (srcLen) {
WillWrite(chanPtr);
@@ -4295,7 +4296,7 @@ Write(
while (srcLen + saved + endEncoding > 0) {
ChannelBuffer *bufPtr;
- char *dst, safe[BUFFER_PADDING];
+ char *dst;
int result, srcRead, dstLen, dstWrote, srcLimit = srcLen;
if (nextNewLine) {