aboutsummaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorPietro Cerutti <gahr@FreeBSD.org>2021-09-10 07:00:27 +0000
committerPietro Cerutti <gahr@FreeBSD.org>2021-09-10 07:03:41 +0000
commit1bf09e93cdc274fdf6d2b8ed84d0d6b0efa5503b (patch)
treec76406bf2494826f12942eb2ad6317c00a25430a /lang
parent38cfe76e2c8ed376d88b8f8e5d130a80a0d48369 (diff)
downloadports-1bf09e93cdc274fdf6d2b8ed84d0d6b0efa5503b.tar.gz
ports-1bf09e93cdc274fdf6d2b8ed84d0d6b0efa5503b.zip
lang/tcl8[56]: fix unsafe buffer lifetime, bump PORTREVISION
PR: 258392 Reported by: dim Obtained from: https://core.tcl-lang.org/tcl/info/24b9181478
Diffstat (limited to 'lang')
-rw-r--r--lang/tcl85/Makefile2
-rw-r--r--lang/tcl85/files/patch-generic_tclIO.c21
-rw-r--r--lang/tcl86/Makefile2
-rw-r--r--lang/tcl86/files/patch-generic_tclIO.c21
4 files changed, 44 insertions, 2 deletions
diff --git a/lang/tcl85/Makefile b/lang/tcl85/Makefile
index de5477eead68..8619601be0ba 100644
--- a/lang/tcl85/Makefile
+++ b/lang/tcl85/Makefile
@@ -2,7 +2,7 @@
PORTNAME= tcl
PORTVERSION= 8.5.19
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= lang
MASTER_SITES= TCLTK/tcl8_5 \
SF/tcl/Tcl/${PORTVERSION}
diff --git a/lang/tcl85/files/patch-generic_tclIO.c b/lang/tcl85/files/patch-generic_tclIO.c
new file mode 100644
index 000000000000..86e683a58fae
--- /dev/null
+++ b/lang/tcl85/files/patch-generic_tclIO.c
@@ -0,0 +1,21 @@
+https://core.tcl-lang.org/tcl/info/24b9181478
+
+--- ../generic/tclIO.c.orig 2020-12-11 17:46:22 UTC
++++ ../generic/tclIO.c
+@@ -3765,6 +3765,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);
+@@ -3783,7 +3784,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) {
diff --git a/lang/tcl86/Makefile b/lang/tcl86/Makefile
index ec631a425df9..aec0324bafc7 100644
--- a/lang/tcl86/Makefile
+++ b/lang/tcl86/Makefile
@@ -2,7 +2,7 @@
PORTNAME= tcl
DISTVERSION= ${TCL_VERSION}${TCL_RC}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= lang
MASTER_SITES= SF/tcl/Tcl/${TCL_VERSION}
PKGNAMESUFFIX= ${SHORT_TCL_VER}
diff --git a/lang/tcl86/files/patch-generic_tclIO.c b/lang/tcl86/files/patch-generic_tclIO.c
new file mode 100644
index 000000000000..a64bf3945b26
--- /dev/null
+++ b/lang/tcl86/files/patch-generic_tclIO.c
@@ -0,0 +1,21 @@
+https://core.tcl-lang.org/tcl/info/24b9181478
+
+--- generic/tclIO.c.orig 2020-12-11 17:46:22 UTC
++++ 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) {