JAVA.COMPARE.NAN
NaN と比較しようとしない
脆弱性とリスク
NaN からの戻り値を検証しても、期待どおりの結果が得られないことがあります。
軽減と防止
isNan() や Double.isNaN などの別の方法を検証に使用してください。
脆弱コード例
コピー
package com.klocwork;
public class JAVA_COMPARE_NAN_POSITIVE {
public static void test(String args[]) {
double d = 1;
if (d == Double.NaN) {
return;
}
}
}
修正コード例
コピー
package com.klocwork;
public class JAVA_COMPARE_NAN_NEGATIVE {
public static void test(String args[]) {
double d = 1;
if (Double.isNaN(d)) {
return;
}
}
}