NPE.COND
NullPointerException は、NULL 値を逆参照しようとした場合にスローされます。この逆参照は、関数呼び出し、フィールドの読み取りまたは書き込み、または配列アクセスなどがあります。事前の NULL チェックの結果、値が NULL である可能性が確認されたローカル変数が逆参照される場合、そのローカル変数に対して NPE.COND エラーが報告されます。
例 1
15 static void printPoint(Point p) { 16 if (p == null) { 17 System.err.println("p is null"); 18 } 19 if (p.x < 0 || p.y < 0) { 20 System.out.println("Invalid point"); 21 return; 22 } 23 System.out.println(p); 24 }
16 行目のチェックで 'p' がNULL である可能性があるため、19 行目での 'p' の逆参照に対して NPE.COND が報告されています。
関連チェッカー
外部参考資料
セキュリティトレーニング
Secure Code Warrior が提供しているアプリケーションセキュリティトレーニング教材。
拡張機能
このチェッカーは、Klocwork ナレッジベースを利用して拡張できます。詳細については、Java 解析のチューニングを参照してください。