From 80b3f9217dcb853220e972f83ea210ede8623fe3 Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Sun, 2 Apr 2006 18:58:07 +0000 Subject: Don't try to copy str to _talkBuffer if str is pointing to _talkBuffer. Apart from being unnecessary, the result of strcpy() on overlapping memory areas is unpredictable. svn-id: r21562 --- engines/kyra/text.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'engines/kyra') diff --git a/engines/kyra/text.cpp b/engines/kyra/text.cpp index 61073b5cfc..c8c4657a36 100644 --- a/engines/kyra/text.cpp +++ b/engines/kyra/text.cpp @@ -420,8 +420,10 @@ int TextDisplayer::dropCRIntoString(char *str, int offs) { char *TextDisplayer::preprocessString(const char *str) { debugC(9, kDebugLevelMain, "TextDisplayer::preprocessString('%s')", str); - assert(strlen(str) < sizeof(_talkBuffer) - 1); - strcpy(_talkBuffer, str); + if (str != _talkBuffer) { + assert(strlen(str) < sizeof(_talkBuffer) - 1); + strcpy(_talkBuffer, str); + } char *p = _talkBuffer; while (*p) { if (*p == '\r') { -- cgit v1.2.3