Share via


C6385

경고 C6385: 데이터가 잘못되었습니다. <buffer name>에 액세스하고 있습니다. 읽기 가능한 크기가 <size1>바이트임에도 불구하고 <size2>바이트를 읽을 수 있습니다. 줄: x, y

이 경고는 지정된 버퍼의 읽을 수 있는 범위가 해당 버퍼에서 읽는 데 사용되는 인덱스보다 작을 수 있음을 나타냅니다. 유효한 범위를 벗어난 데이터를 읽으려고 하면 버퍼 오버런이 발생할 수 있습니다.

예제

다음 코드에서는 이 경고를 발생시킵니다.

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

이 경고를 해결하려면 다음 코드를 사용합니다.

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