Предупреждение C6385

Недопустимые данные: доступ к буферу-имени, доступный для чтения размер 1 байт, но размер2байт может быть прочитан: строки: x, y

Замечания

Объем буфера может быть меньше, чем индекс, используемый для чтения из него. Пытается считывать данные за пределами допустимого диапазона, что приводит к переполнению буфера.

Имя анализа кода: READ_OVERRUN

Пример

Следующий код создает это предупреждение:

void f(unsigned int i)
{
   char a[20];
   char j;
   if (i <= 20)  // C6385
   {
      j = a[i];
   }
}

Чтобы исправить это предупреждение, используйте следующий код:

void f(unsigned int i)
{
   char a[20];
   char j;
   if (i < 20)  // Okay
   {
      j = a[i];
   }
}

См. также

Предотвращение переполнения буфера