gpt4 book ai didi

c++ - 缓冲区溢出 :codesonar warning

转载 作者:行者123 更新时间:2023-11-30 05:04:49 25 4
gpt4 key购买 nike

int main(int argc, char *argv[])
{
std::string first_arg = argv[1];
std:: string sec_arg = argv[2];
}

缓冲区溢出帮助此代码读取超过 argv 指向的缓冲区的末尾。读取的第一个字节位于从 argv 指向的缓冲区开始处的偏移量 8 处。偏移量超过容量。argv 指向的缓冲区的容量,以字节为单位,等于 8。

最佳答案

CodeSonar 警告可能会出现缓冲区溢出,因为您的程序可以使用 <2 个参数调用。如果您在访问 argv 之前检查 argc>2,则此警告将消失:

#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;
}

关于c++ - 缓冲区溢出 :codesonar warning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48662183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com