summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Moss <moss@lindenlab.com>2009-10-08 14:14:13 +0000
committerAdam Moss <moss@lindenlab.com>2009-10-08 14:14:13 +0000
commit9665d7a71bcd5cd79889b2b4908beaf66b76341d (patch)
tree4696e0c368c439fc0547d6dc92a3fb9746eabca6
parentbb533f4d1123ff20d177ee4a3c7f69405da18bf5 (diff)
DEV-41081 - better than using the msvc kludge for suppressing warnings about memcpy, don't actually use memcpy - use our own safe 'copy' method. also stripNonprintable() is probably a little faster now...
-rw-r--r--indra/llcommon/llstring.h7
-rw-r--r--indra/llcommon/tests/llstring_test.cpp3
2 files changed, 4 insertions, 6 deletions
diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h
index d0def896cf..8f70726a9e 100644
--- a/indra/llcommon/llstring.h
+++ b/indra/llcommon/llstring.h
@@ -991,14 +991,15 @@ void LLStringUtilBase<T>::stripNonprintable(std::basic_string<T>& string)
{
return;
}
- char* c_string = new char[string.size() + 1];
+ size_t src_size = string.size();
+ char* c_string = new char[src_size + 1];
if(c_string == NULL)
{
return;
}
- strcpy(c_string, string.c_str()); /*Flawfinder: ignore*/
+ copy(c_string, string.c_str(), src_size+1);
char* write_head = &c_string[0];
- for (size_type i = 0; i < string.size(); i++)
+ for (size_type i = 0; i < src_size; i++)
{
char* read_head = &string[i];
write_head = &c_string[j];
diff --git a/indra/llcommon/tests/llstring_test.cpp b/indra/llcommon/tests/llstring_test.cpp
index 1d99214d69..1f4603631a 100644
--- a/indra/llcommon/tests/llstring_test.cpp
+++ b/indra/llcommon/tests/llstring_test.cpp
@@ -32,9 +32,6 @@
* $/LicenseInfo$
*/
-// win32 kludge-o-rama
-#define _CRT_SECURE_NO_WARNINGS
-
#include "../test/lltut.h"
#include "../llstring.h"