C6385
更新:2007 年 11 月
警告 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];
}
}