summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-05-03 19:36:22 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-05-03 19:36:22 (GMT)
commit7476029a046978c3dc59b34a88d3be4c6e153613 (patch)
treefd0d4bb25e72fcbd16be094e52d9ddf02164eb9e /generic/tclIO.c
parente06feb86b1f483c70be8661a4914e980c91bef11 (diff)
downloadtcl-7476029a046978c3dc59b34a88d3be4c6e153613.zip
tcl-7476029a046978c3dc59b34a88d3be4c6e153613.tar.gz
tcl-7476029a046978c3dc59b34a88d3be4c6e153613.tar.bz2
Fix [24b9181478]: Fix unsafe buffer lifetime
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 4d3df65..807fce1 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -3813,6 +3813,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);
@@ -3831,7 +3832,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) {