Share via


警告 C6385

無効なデータ: バッファー名へのアクセス、読み取り可能なサイズは size1 バイトですが、size2 バイトが読み取られる可能性があります: 行: xy

解説

バッファーの読み取り可能な範囲は、バッファーからの読み取りに使用されるインデックスよりも小さくなる場合があります。 有効範囲外のデータを読み取ろうとすると、バッファー オーバーランが発生します。

コード分析名: READ_OVERRUN

この警告が発生するコード例を次に示します。

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

この警告を解決するには、次のコードを使用します。

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

関連項目

バッファー オーバーランの回避