CS.NRE.GEN.MIGHT
null 常量局部赋值过程中的对象引用值,或通过调用将返回 null 的函数生成的对象引用值,可能显式取消引用,或通过调用将取消引用该值而无需检查 null 的函数来取消引用。
漏洞与风险
取消引用 null 对象引用是一个严重的运行时问题,该问题将导致一些操作系统的应用程序崩溃,并引发另一些操作系统出现运行时异常。
示例 1
复制
public class A {
public void foo() {
A c = null;
if (flag)
c.foo();
}
private bool flag;
}
Null 源:显式赋值 Null 取消引用:显式 Klocwork 在第 3 行为变量“c”生成了一个问题报告 (CS.NRE.GEN.MIGHT)。如果标记大于 0,c 将在第 5 行取消引用。