EN JP CN

CS.NRE.GEN.MIGHT

CS.NRE.GEN.MIGHT

null 定数のローカル割り当て、または null を返す関数の呼び出しによってオブジェクト参照値は、明示的に、またはそれを null についてチェックせずに逆参照する関数を呼び出すことによって、逆参照される場合があります。

脆弱性とリスク

null オブジェクト参照の逆参照は、一部のオペレーティングシステムでのアプリケーションのクラッシュや実行時例外のスローを引き起こす実行時の重大な問題です。

例 1

1                  public class A {
2                      public void foo() {
3                          A c = null;
4                          if (flag)
5                              c.foo();
6                      }
7  
8                      private bool flag;
9                  }

null ソース:明示的な assignmentNull 逆参照:変数 'c' では、explicitKlocwork は 5 行目で指摘レポート (CS.NRE.GEN.CALL.MIGHT) を生成します。フラグが 0 より大きい場合、6 行目で 'c' は逆参照されます。