CS.NRE.GEN.CALL.MIGHT

An object reference value from local assignment of a null-constant or from a call to a function that will return null might be passed to a function that might 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 void abc() {}
     public void foo(A a) {
      if (flag2)
        return;
      a.abc();
     }
  
     public void var() {
     A a = null;
     if (flag)
       foo(a);
    }
 
    private bool flag;
    private bool flag2;
 }

Klocwork produces an issue report (CS.NRE.GEN.CALL.MIGHT) at line 12 for variable 'a'. Variable 'a' is explicitly assigned to null value at line 10. It may be passed as argument 1 to function 'foo' at line 12, which may dereference it.

Security training

Application security training materials provided by Secure Code Warrior.