警告 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';
}