C++ 缓冲区溢出:codesonar警告
缓冲区溢出帮助 此代码读取超过argv指向的缓冲区的结尾。 读取的第一个字节位于argv指向的缓冲区开头的偏移量8处。 偏移量超过了容量。C++ 缓冲区溢出:codesonar警告,c++,C++,缓冲区溢出帮助 此代码读取超过argv指向的缓冲区的结尾。 读取的第一个字节位于argv指向的缓冲区开头的偏移量8处。 偏移量超过了容量。 argv指向的缓冲区容量(以字节为单位)等于8。CodeSonar警告可能存在缓冲区溢出,因为在访问argv之前,您的程序可能会被2调用,然后此警告将消失: int main(int argc, char *argv[]) { std::string first_arg = argv[1]; std:: string sec_arg = ar
argv指向的缓冲区容量(以字节为单位)等于8。CodeSonar警告可能存在缓冲区溢出,因为在访问argv之前,您的程序可能会被2调用,然后此警告将消失:
int main(int argc, char *argv[])
{
std::string first_arg = argv[1];
std:: string sec_arg = argv[2];
}
#包括
int main(int argc,char*argv[])
{
如果(argc>2)
{
std::string first_arg=argv[1];
std::string secu_arg=argv[2];
}
返回0;
}
显示用于调用程序的命令行。您可能需要检查您是否实际拥有argc>=3
code Sonar正在检查如果您的程序没有传递任何参数,并且如预期的那样存在问题,会发生什么情况。如果你不知道该产品的用途或用途,那么你购买它可能毫无意义(没有标价,但根据一个网站的说法,“小项目的起价是4000美元”),除非花钱是你的爱好。
#include <string>
int main(int argc, char *argv[])
{
if (argc>2)
{
std::string first_arg = argv[1];
std::string sec_arg = argv[2];
}
return 0;
}