我有一个似乎存在缓冲区溢出风险的 strcpy 命令示例,但 PVS-Studio 不会发出警告。在我的示例中,strcpy 用于将命令行参数复制到缓冲区中,而不检查命令行参数的大小。如果参数超过缓冲区的大小,这可能会导致缓冲区溢出。
代码示例:
char carg1[13];
int main(int argc, char* argv[])
{
// Get name from the 1st command line arg
strcpy(carg1, argv[1]);
…
}
在处理 carg1 之前不检查 argv[1] 的大小。这不应该引起警告吗?