Я получаю предупреждение C ++ C6386 по следующему коду:
int m_wordNumber = getRandomNumber();
//get word size
size_t m_wordSize = strlen(m_wordsArray[m_wordNumber]);
//create word arrays
char* m_chosenWord = new char[m_wordSize];
char* m_blankArray = new char[m_wordSize];
int m_incorrectGuessCounter = 0;
generateArray(m_blankArray, m_wordSize);
//copy word to new array
strcpy_s(m_chosenWord, m_wordSize + 1, m_wordsArray[m_wordNumber]);
//create temp array and output word
char * m_tempWordHolder = nullptr;
std::cout << m_chosenWord << std::endl;
Строка, которая выдает предупреждение, это строка strcpy_s, все, что она пытается сделать, это скопировать строку из массива символов в другой массив символов.
Любая помощь будет принята с благодарностью, спасибо.
предупреждение выглядит следующим образом:
Предупреждение C6386 Переполнение буфера при записи в 'm_chosenWord ': размер записи составляет m_wordSize * 1' байтов, но можно записать 7 байтов