C6385

Aviso C6385: dados inválidos: acessando o < nome do buffer >, o tamanho da legível é <size1> bytes, mas <size2> bytes podem ser lidos: linhas: x, y

Este aviso indica que a extensão legível do buffer especificado pode ser menor do que o índice usado para lê-lo.Tentativa de ler dados fora do intervalo válido leva a uma saturação de buffer.

Exemplo

O código a seguir gera este aviso:

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

Para corrigir esse aviso, use o código a seguir:

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