你好
我是一个对PolySpace工具感兴趣的初学者。
在Polyspace®代码验证程序的第63页™ 《入门指南》中,代码验证者说没有错误否定。
然而,由于使用Polyspace代码验证程序对NIST Juliet C/C++测试套件的一部分进行静态分析,以下CWE ID中存在误报。
- CWE 126(缓冲区超读)
- CWE 561(死人代码)
- CWE 674(非受控递归)
- CWE 835(循环与无法访问的退出条件('无限循环'))
我已经分析了代码,但我问是因为我不明白为什么会出现误报。
-CWE 561真阳性示例(代码验证程序检测到。)
无效CWE561\u失效\u代码\u返回\u之前\u代码\u 01\u错误()
{
回来
/*漏洞:“返回”后的代码*/
打印行(“你好”);
}
- CWE 561假阴性(无法检测到代码先报)的示例
静止void升降机()
{
printline(“Helperbad()”);
}
任何地方都没有对helperBad函数的调用。