CS.NRE.CHECK.MUST
null について適切にチェックされたオブジェクト参照値は、明示的に、またはそれを null についてチェックせずに逆参照する可能性がある関数を呼び出すことによって、逆参照されます。
脆弱性とリスク
null オブジェクト参照の逆参照は、一部のオペレーティングシステムでのアプリケーションのクラッシュや実行時例外のスローを引き起こす実行時の重大な問題です。
例 1
コピー
public class A {
public void foo() {
A a = new A();
if (a == null)
a.foo();
}
}
変数 'a' では、Klocwork は 5 行目で指摘レポート (CS.NRE.CHECK.MUST) を生成します。変数 'a' は 4 行目で null 値と比較されるため、5 行目で逆参照されるときに、null であることが想定される可能性があります。
外部参考資料
セキュリティトレーニング
Secure Code Warrior が提供しているアプリケーションセキュリティトレーニング教材。