C and C++ Binaries


BADFUNC.LONGJMP : longjmpの使用

要旨

longjmp() を使用しています。この使用は到達の必要はありません。

プロパティ

クラス名 Use of longjmp
日本語クラス名 longjmpの使用
クラス分類 スタイル (style)
ニーモニック BADFUNC.LONGJMP
カテゴリー
MisraC2023 MisraC2023:21.4 The standard header file <setjmp.h> shall not be used
Misra2012 Misra2012:21.4 The standard header file <setjmp.h> shall not be used
Misra2004 Misra2004:20.7 The setjmp macro and the longjmp function shall not be used
AUTOSARC++14 AUTOSARC++14:M17-0-5 The setjmp macro and the longjmp function shall not be used.
MisraC++2008 MisraC++2008:17-0-5 The setjmp macro and the longjmp function shall not be used.
MisraC++2023 MisraC++2023:21.10.2 The standard header file <csetjmp> shall not be used
CWE CWE:242 Use of Inherently Dangerous Function
  CWE:676 Use of Potentially Dangerous Function
  CWE:691 Insufficient Control Flow Management
  CWE:710 Improper Adherence to Coding Standards
CERT-C CERT-C:ENV32-C All exit handlers must return normally
  CERT-C:MSC22-C Use the setjmp(), longjmp() facility securely
CERT-CPP CERT-CPP:ERR52-CPP Do not use setjmp() or longjmp()
JSF++ JSF++:20 The setjmp macro and the longjmp function shall not be used.
POW10 POW10:1 Restrict to simple control flow constructs.
JPL JPL:11 Do not use goto, setjmp or longjmp.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Use of longjmp"

longjmp() の呼び出しは必ずこのワーニングを引き起こします。

#include <setjmp.h>
...
longjmp(myenv, 1); /* warning issued here */

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

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

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