diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h
index d0def896cf91e451cf44537b264f59ced61a59e3..8f70726a9e5fc778f4d32bc24740f560f1986d42 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 1d99214d69fe21388966a1624dfd0d208fde32c8..1f4603631a23d16d85f6dff5038e5bccb1dd2cde 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"