diff --git a/Templates/TestDriver.cxx.in b/Templates/TestDriver.cxx.in index ffa69995b..3e0afa50a 100644 --- a/Templates/TestDriver.cxx.in +++ b/Templates/TestDriver.cxx.in @@ -33,19 +33,21 @@ static functionMapEntry cmakeGeneratedFunctionMapEntries[] = { static char* lowercase(const char *string) { char *new_string, *p; + size_t stringSize = 0; #ifdef __cplusplus - new_string = static_cast(malloc(sizeof(char) * - static_cast(strlen(string) + 1))); + stringSize = static_cast(strlen(string) + 1); + new_string = static_cast(malloc(sizeof(char) * stringSize)); #else - new_string = (char *)(malloc(sizeof(char) * (size_t)(strlen(string) + 1))); + stringSize = (size_t)(strlen(string) + 1); + new_string = (char *)(malloc(sizeof(char) * stringSize)); #endif if (!new_string) { return 0; } - strcpy(new_string, string); + strncpy(new_string, string, stringSize); p = new_string; while (*p != 0) {