C and C++ Binaries


BADFUNC.EXIT : exitの使用

要旨

処理系定義および未定義動作となる exit() を使用しています。

プロパティ

クラス名 Use of exit
日本語クラス名 exitの使用
クラス分類 スタイル (style)
ニーモニック BADFUNC.EXIT
カテゴリー
MisraC2023 MisraC2023:21.8 The Standard Library termination functions of <stdlib.h> shall not be used
Misra2012 Misra2012:21.8 The Standard Library termination functions of <stdlib.h> shall not be used
Misra2004 Misra2004:20.11 The library functions abort, exit, getenv and system from library <stdlib.h> shall not be used
AUTOSARC++14 AUTOSARC++14:A15-5-2 Program shall not be abruptly terminated. In particular, an implicit or explicit invocation of std::abort(), std::quick_exit(), std::_Exit(), std::terminate() shall not be done.
  AUTOSARC++14:M18-0-3 The library functions abort, exit, getenv and system from library <cstdlib> shall not be used.
MisraC++2008 MisraC++2008:18-0-3 The library functions abort, exit, getenv and system from library <cstdlib> shall not be used.
MisraC++2023 MisraC++2023:18.5.2 Program-terminating functions should not be used
CWE CWE:676 Use of Potentially Dangerous Function
  CWE:758 Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
CERT-C CERT-C:ENV32-C All exit handlers must return normally
CERT-CPP CERT-CPP:ERR50-CPP Do not abruptly terminate the program
JSF++ JSF++:24 The library functions abort, exit, getenv and system from library <stdlib.h> shall not be used.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Use of exit"

void do_error_check(int errorcode){
  if (errorcode) {
    exit(errorcode); /* 'Use of exit' warning issued here */
  }
}

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

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

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