CS.NRE.FUNC.MIGHT
An object reference value from a call to a function that might return null might be dereferenced either explicitly or through a call to a function that can dereference it, without checking for null.
Vulnerability and risk
Dereferencing a null object reference is a critical runtime problem that will crash the application on some operating systems and throw a runtime exception on others.
Example 1
Copy
public class A {
public A foo() {
if (flag)
return null;
return new A();
}
public void var() {
A a = foo();
if (flag)
a.foo();
}
private bool flag;
}
Klocwork produces an issue report (CS.NRE.FUNC.MIGHT) at line 11 for variable 'a'. If Variable 'a' is assigned to a value which might be null and which comes from a call to function 'foo' at line 9, it may still be null when it is dereferenced at line 11.
External guidance
Security training
Application security training materials provided by Secure Code Warrior.