C and C++


LANG.ARITH.FDIVZERO : 浮動小数点のゼロ除算

要旨

分母が0になる浮動小数点の割り算を実行しようとしています。

プロパティ

クラス名 Float Division By Zero
日本語クラス名 浮動小数点のゼロ除算
クラス分類 信頼性 (reliability)
ニーモニック LANG.ARITH.FDIVZERO
カテゴリー
MisraC2023 MisraC2023:1.3 There shall be no occurrence of undefined or critical unspecified behaviour
  MisraC2023:D.4.1 Run-time failures shall be minimized
Misra2012 Misra2012:1.3 There shall be no occurrence of undefined or critical unspecified behaviour
  Misra2012:D.4.1 Run-time failures shall be minimized
MisraC++2023 MisraC++2023:4.1.3 There shall be no occurrence of undefined or critical unspecified behaviour
CWE CWE:369 Divide By Zero
TS17961 TS17961:5.25-diverr 5.25. Integer division errors
CERT-C CERT-C:INT33-C Ensure that division and remainder operations do not result in divide-by-zero errors
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで有効になっています。チェックを無効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += discard class="Float Division By Zero"

float fdivzero(void){
    float c = 5.0;
    float d;
    d = c*c - 20.0;
    return d/(d-c);    /* 'Float Division by Zero' warning issued here */
}

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。