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