From 355ce624c0d79439fafb96eadcbc19380e8a4e9f Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Wed, 31 Jul 2019 19:39:12 +0000 Subject: (cherry-pick from core-8-branch): Replace memcpy() calls with memmove() to avoid undefined behavior when source and destination overlap --- generic/tclUtf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/generic/tclUtf.c b/generic/tclUtf.c index 34fcdb5..7d3db57 100644 --- a/generic/tclUtf.c +++ b/generic/tclUtf.c @@ -857,7 +857,7 @@ Tcl_UtfToUpper( */ if (bytes < UtfCount(upChar)) { - memcpy(dst, src, (size_t) bytes); + memmove(dst, src, (size_t) bytes); dst += bytes; } else { dst += Tcl_UniCharToUtf(upChar, dst); @@ -910,7 +910,7 @@ Tcl_UtfToLower( */ if (bytes < UtfCount(lowChar)) { - memcpy(dst, src, (size_t) bytes); + memmove(dst, src, (size_t) bytes); dst += bytes; } else { dst += Tcl_UniCharToUtf(lowChar, dst); @@ -960,7 +960,7 @@ Tcl_UtfToTitle( titleChar = Tcl_UniCharToTitle(ch); if (bytes < UtfCount(titleChar)) { - memcpy(dst, src, (size_t) bytes); + memmove(dst, src, (size_t) bytes); dst += bytes; } else { dst += Tcl_UniCharToUtf(titleChar, dst); @@ -976,7 +976,7 @@ Tcl_UtfToTitle( } if (bytes < UtfCount(lowChar)) { - memcpy(dst, src, (size_t) bytes); + memmove(dst, src, (size_t) bytes); dst += bytes; } else { dst += Tcl_UniCharToUtf(lowChar, dst); -- cgit v0.12