Fortify が null ポインターの逆参照について警告している次のコード ブロックがあります (コードの強調表示されたセクションで警告が発生します)。
これは偽陽性ですか?警告が発生している場所が null かどうかを確認しています。
更新: コードをもう少し追加しました。displayAttribute が null でないことを事前に確認しています。IsNotNull() が拡張メソッドであるためでしょうか?
警告は、displayAttribute
それ自体ではnull
ない可能性があるということName
です。その場合、Name
プロパティへのアクセスによりNullReferenceException
. displayAttribute
警告のすぐ下で明示的にチェックされていることを考えるnull
と、警告は有効であるようです
編集
拡張メソッドを使用して、属性が ではないことを検証しているようですnull
。このように拡張メソッドを使用するのはかなり直感に反するようです。分析エンジンは、これがここで何をしているのかを推測できないため、私に同意しているようです。
はい、ここで警告を無視できますが、なぜそうするのですか? displayAttribute != null
開発者と分析エンジンの両方がコードが実際に何をしているかをより簡単に推測できるように 、通常のチェックだけを行ってみませんか?