C and C++ Binaries


BADFUNC.FENV_H : <fenv.h> 例外処理関数の使用

要旨

<fenv.h> で定義されている、以下の例外処理関数を使用しています。
feclearexcept(), fegetexceptflag(), feraiseexcept(), fesetexceptflag(), fetestexcept(), fegetround(), fesetround(), fegetenv(), feholdexcept(), fesetenv(), feupdateenv()
これらの関数を使用すると未定義動作となる可能性があります。

プロパティ

クラス名 Use of <fenv.h> Exception Handling Function
日本語クラス名 <fenv.h> 例外処理関数の使用
クラス分類 スタイル (style)
ニーモニック BADFUNC.FENV_H
カテゴリー
MisraC2023 MisraC2023:21.12 The standard header file <fenv.h> shall not be used
Misra2012 Misra2012:21.12 The standard header file <fenv.h> shall not be used
AUTOSARC++14 AUTOSARC++14:A1-1-1 All code shall conform to ISO/IEC 14882:2014 - Programming Language C++ and shall not use deprecated features.
MisraC++2023 MisraC++2023:4.1.2 Deprecated features should not be used
CWE CWE:676 Use of Potentially Dangerous Function
CERT-C CERT-C:MSC23-C Beware of vendor-specific library and language differences
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Use of <fenv.h> Exception Handling Function"

#include <fenv.h>

int do_fp_getenv(fenv_t *fenv)
{
  return fegetenv(fenv); /* 'Use of <fenv.h> Exception Handling Function'
                          * warning issued here */} 
 }

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

このクラスは一般テンプレート設定ファイルで BAD_FUNCTION_* ルールセットによって実装されています。

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