From 2f333f997ba42c44fd76cefeeb1912e2548532b3 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Sun, 10 Nov 2013 09:57:42 +0100 Subject: CGE: Ensure string copy don't overrun. Fix CID 1003674 to 1003678 --- engines/cge/text.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'engines/cge/text.cpp') diff --git a/engines/cge/text.cpp b/engines/cge/text.cpp index 27bb0608fd..08ff005e1e 100644 --- a/engines/cge/text.cpp +++ b/engines/cge/text.cpp @@ -69,7 +69,7 @@ int16 Text::count() { for (line = tf.readLine(); !tf.eos(); line = tf.readLine()) { char *s; assert(line.size() <= 513); - strcpy(tmpStr, line.c_str()); + Common::strlcpy(tmpStr, line.c_str(), sizeof(tmpStr)); if ((s = strtok(tmpStr, " =,;/\t\n")) == NULL) continue; if (!Common::isDigit(*s)) @@ -101,8 +101,7 @@ void Text::load() { for (idx = 0, line = tf.readLine(); !tf.eos(); line = tf.readLine()) { int n = line.size(); char *s; - assert(n <= 513); - strcpy(tmpStr, line.c_str()); + Common::strlcpy(tmpStr, line.c_str(), sizeof(tmpStr)); if ((s = strtok(tmpStr, " =,;/\t\n")) == NULL) continue; if (!Common::isDigit(*s)) -- cgit v1.2.3