警告 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