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';
}