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


C6386

Обновлен: Ноябрь 2007

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