CS.NRE.CONST.CALL
一个 null 对象引用常量值传递给可取消引用该值并无需检查 null 的一个函数。
漏洞与风险
取消引用 null 对象引用是一个严重的运行时问题,该问题将导致一些操作系统的应用程序崩溃,并引发另一些操作系统出现运行时异常。
示例 1
复制
class Param {
public int par1() {
return 0;
}
}
class NPD3 {
public void foo() {
foo2(null);
}
public void foo2(Param param) {
if (flag)
return;
param.par1();
}
private bool flag;
}
Klocwork 针对第 8 行生成问题报告 (CS.NRE.CONST.CALL)。常量 null 指针值作为参数 1 传递给了第 8 行的函数“foo2”,该函数可取消引用该值。