警告 C6386

バッファー オーバーラン: 'buffer name' にアクセスすると、書き込み可能なサイズは 'size1' バイトですが、'size2' バイトが書き込まれる可能性があります: 行: x、y

解説

この警告は、指定されたバッファーの書き込み可能なエクステントが、書き込みに使用されるインデックスよりも小さい可能性があることを示しています。 この欠陥により、バッファー オーバーランが発生する可能性があります。

コード分析名: WRITE_OVERRUN

次のコードでは、この警告と C6201 が発生します。

#define MAX 25

void f ( )
{
  char ar[MAX];
  // code ...
  ar[MAX] = '\0';
}

両方の警告を修正するには、次のコードを使用します。

#define MAX 25

void f ( )
{
   char a[MAX];
   // code ...
   a[MAX - 1] = '\0';
}

関連項目

C6201