相关疑难解决方法(0)

为什么Cppcheck没有找到这个明显的数组越界错误?

我安装了Cppcheck工具,用于我的C++项目的静态代码分析,并感觉它表现不佳.例如,任何人都可以告诉我为什么 Cppcheck无法在以下代码中找到数组越界错误?

void f(int c) { 
    char *p = new char[10]; 
    p[c] = 42; 
} 

void g() { 
    f(100); 
} 
Run Code Online (Sandbox Code Playgroud)

有一个在线演示,可以使用Cppcheck方便地检查此代码.所有它提到的是第4行的内存泄漏,没有潜在缓冲区溢出的迹象.

c++ code-analysis static-code-analysis cppcheck

7
推荐指数
2
解决办法
3717
查看次数