C6386
警告 C6386: バッファー オーバーランです: <バッファー名> へアクセスしています。書き込み可能なサイズは <サイズ1> バイトですが、<サイズ2> バイトを書き込む可能性があります: 行: x, y
この警告は、指定したバッファーの書き込み可能範囲が、バッファーの書き込みに使用されるインデックスよりも小さいことを示します。これにより、バッファー オーバーランが発生する場合があります。
使用例
この警告と C6201 が同時に発生するコード例を次に示します。
#define MAX 25
void f ( )
{
char ar[MAX];
//Code ...
ar[MAX] = '\0';
}
この 2 つの警告を解決するには、次のコードを使用します。
#define MAX 25
void f ( )
{
char a[MAX];
// code...
a[MAX - 1] = '\0';
}