From fbdc68b6a22a1be2c7923c6a2ab13214d3655aba Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Sat, 22 Sep 2018 16:51:43 +0000 Subject: Handle the (unlikely) case that Tcl_DStringSetLength() results in a re-allocation of the buffer --- generic/tclStubInit.c | 1 + win/tclWin32Dll.c | 1 + 2 files changed, 2 insertions(+) diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index cb33288..66ad753 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -276,6 +276,7 @@ Tcl_WinTCharToUtf( memmove(r+2, r+1, p-r+size-1); memcpy(r++, "\xC0\x80", 2); Tcl_DStringSetLength(dsPtr, ++size + 1); + r = p = (char *)Tcl_DStringValue(dsPtr); } ++r; } diff --git a/win/tclWin32Dll.c b/win/tclWin32Dll.c index 2216a66..13a3dec 100644 --- a/win/tclWin32Dll.c +++ b/win/tclWin32Dll.c @@ -524,6 +524,7 @@ Tcl_WinTCharToUtf( memmove(r+2, r+1, p-r+size-1); memcpy(r++, "\xC0\x80", 2); Tcl_DStringSetLength(dsPtr, ++size + 1); + r = p = (char *)Tcl_DStringValue(dsPtr); } ++r; } -- cgit v0.12