Поделиться через


C6386

Предупреждение C6386: Переполнение буфера: при доступе к <имя буфера> доступный для записи объем равен <размер1> байт, однако записать можно только <размер2> байт: строки x, y.

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

Пример

В следующем примере кода создается это предупреждение и предупреждение C6201:

#define MAX 25

void f ( )
{
  char ar[MAX];
  //Code ...
  ar[MAX] = '\0';
}

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

#define MAX 25

void f ( )
{
   char a[MAX];
   // code...
   a[MAX - 1] = '\0';
} 

См. также

Ссылки

C6201