C6385

警告 C6385: 無効なデータです: <バッファー名> へアクセスしています。読み取り可能なサイズは <サイズ1> バイトですが、<サイズ2> バイトを読み取る可能性があります: 行: 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];
   }
}