ルール ID | ヘッダー |
---|
AUTOSAR-A15_5_2-b | cstdlib ライブラリの関数 abort()、quick_exit()、_Exit() は使用してはならない |
AUTOSAR-A15_5_3-b | デストラクタ、割り当て解除、スワップから例外をスローしてはならない |
AUTOSAR-A15_5_3-c | デストラクタの中から throw を行ってはいけない |
AUTOSAR-A15_5_3-d | 他では処理されていないすべての例外をキャッチする例外ハンドラを少なくとも 1 つ用意するべきである |
AUTOSAR-A15_5_3-e | 空のスロー (throw;) は catch ハンドラの複合文でだけ使用する |
AUTOSAR-A15_5_3-f | プログラムの起動フェーズの後、終了フェーズの前にだけ例外をスローする |
AUTOSAR-A15_5_3-g | 明示的にスローされる例外はその場所に至るすべての呼び出しパスに互換性のある型のハンドラがなければならない |
AUTOSAR-A15_5_3-h | 関数の宣言に例外指定がある場合、関数は指定された型の例外だけをスローできる |
AUTOSAR-A15_5_3-i | グローバルまたは名前空間のスコープで呼び出される関数は、処理されない例外をスローしてはならない |
AUTOSAR-A15_5_3-j | 例外を常にキャッチする |
AUTOSAR-A15_5_3-k | 終了ハンドラーを適切に定義する |
AUTOSAR-A5_1_4-b | 外側のラムダから参照によってローカル オブジェクトをキャプチャしてはならない |
AUTOSAR-A5_1_4-c | ローカル オブジェクトを参照によってキャプチャするラムダは、より長い存続期間を持つ変数に代入するべきではない |
BD-CO-EMPCON | std アルゴリズムに空のコンテナー イテレーターを宛先として渡さない |
BD-CO-STRMOD | 有効な参照、ポインター、イテレーターを使用して basic_string の要素を参照する |
BD-PB-NEWHAN | new ハンドラーを適切に定義する |
BD-PB-POLARR | 配列をポリモーフィックに処理しない |
BD-PB-PTRCMP | 関連のない 2 つのポインターを比較してはならない |
BD-PB-PTRVALUE | すでに所有されているポインター値を関連がないスマート ポインターに格納しない |
BD-PB-SUBSEQMOVE | 移動元オブジェクトの値に依存しない |
BD-PB-TERMHAN | 終了ハンドラーを適切に定義する |
BD-PB-UNEXPHAN | unexpected ハンドラーを適切に定義する |
BD-PB-VALRANGE | コンテナーのインデックスが有効範囲内であることを保証する |
CERT_C-ARR02-a | 初期化子内の配列宣言に明示的に配列の上限を指定する |
CERT_C-DCL10-a | printf 関数の呼び出しで、書式文字列のタグの数と対応する引数の数は同じでなければならない |
CERT_C-DCL11-a | printf 関数の呼び出しで、書式文字列の '%s' または '%c' タグと対応する引数の間に不整合があってはならない |
CERT_C-DCL11-b | printf 関数の呼び出しで、書式文字列の '%f' タグと対応する引数の間に不整合があってはならない |
CERT_C-DCL11-c | printf 関数の呼び出しで、書式文字列の '%i' または '%d' タグと対応する引数の間に不整合があってはならない |
CERT_C-DCL11-d | printf 関数の呼び出しで、書式文字列の '%u' タグと対応する引数の間に不整合があってはならない |
CERT_C-DCL11-e | printf 関数の呼び出しで、書式文字列の '%p' タグと対応する引数の間に不整合があってはならない |
CERT_C-DCL11-f | printf 関数の呼び出しで、書式文字列のタグの数と対応する引数の数は同じでなければならない |
CERT_C-ERR01-a | エラー指示子 errno は、用いてはならない |
CERT_C-ERR02-a | 標準ライブラリの入出力関数を使用してはいけない |
CERT_C-ERR06-a | アサーションを使用しない |
CERT_C-ERR07-b | 標準ライブラリの入出力関数を使用してはいけない |
CERT_C-EXP15-a | 疑わしいセミコロンの使用 |
CERT_C-FIO22-a | リソースが解放されていることを確認する |
CERT_C-FIO24-a | ファイル アクセス時の競合状態を避ける |
CERT_C-FIO32-a | ファイル名インジェクションから防御する |
CERT_C-INT08-a | 整数のオーバーフローを避ける |
CERT_C-INT15-a | 基本型の char、int、short、long、float および double を使用しない。代わりに特定の長さの typedef を使用する |
CERT_C-MEM00-d | 解放されたリソースを使用してはならない |
CERT_C-MEM00-e | リソースが解放されていることを確認する |
CERT_C-MEM02-a | 代入演算子のオペランドの型には互換性がなければならない |
CERT_C-MEM02-b | 関数の戻り値を互換性のない型の変数に代入してはならない |
CERT_C-MEM04-a | ライブラリ関数に渡される値については、その妥当性をチェックしなければならない |
CERT_C-MEM05-a | 再帰を使用しない |
CERT_C-MEM05-b | 可変長配列のサイズが有効範囲内であることを確認する |
CERT_C-MEM07-a | ライブラリ関数に渡される値については、その妥当性をチェックしなければならない |
CERT_C-MSC40-a | 外部リンケージを持つ関数のインライン定義には、静的オブジェクトの定義や使用が含まれていてはならない |
CERT_C-MSC41-a | 文字列リテラルをハード コードしない |
CERT_C-STR05-a | 文字列リテラルを変更してはならない |
CERT_CPP-CON50-a | 他のスレッドの mutex を破壊しない |
CERT_CPP-CON51-a | mutex に対して直接 lock() を呼び出さない |
CERT_CPP-CON52-a | ビット フィールドを変更する場合は、ロックを使用して競合状態を防ぐ |
CERT_CPP-CON53-a | 異なる順序でロックを獲得しない |
CERT_CPP-CON54-a | 不正に再開される可能性がある関数をループに入れる |
CERT_CPP-CON55-a | 複数のスレッドが同じ条件変数を待機している場合、'notify_one()' 関数を使用しない |
CERT_CPP-CON56-a | 二重ロックを避ける |
CERT_CPP-CTR50-a | コンテナーのインデックスおよびイテレーターが有効範囲内であることを保証する |
CERT_CPP-CTR51-a | コンテナーを反復処理中に変更しない |
CERT_CPP-CTR52-a | std アルゴリズムに空のコンテナー イテレーターを宛先として渡さない |
CERT_CPP-CTR53-a | 実際には範囲ではないイテレータ範囲を使用してはならない |
CERT_CPP-CTR53-b | コンテナーが異なるイテレーターを比較しない |
CERT_CPP-CTR54-a | コンテナーが異なるイテレーターを比較しない |
CERT_CPP-CTR54-b | 関連のない 2 つのポインターを比較してはならない |
CERT_CPP-CTR55-a | 1 より大きい値の定数をイテレーターに加算またはイテレーターから減算してはならない |
CERT_CPP-CTR56-a | 配列をポリモーフィックに処理しない |
CERT_CPP-CTR56-b | 派生クラス オブジェクトの配列を指すポインターを、基底クラスのポインターに変換してはいけない |
CERT_CPP-CTR56-c | 配列をポリモーフィックに処理しない |
CERT_CPP-CTR57-a | 等しい値に対して true を返す比較関数を連想コンテナに使用しない |
CERT_CPP-CTR58-a | 述語を純粋関数にする |
CERT_CPP-DCL50-a | 可変個引数を持つ関数を定義してはならない |
CERT_CPP-DCL51-a | 名前がアンダースコアで始まる識別子を #define または #undef してはならない |
CERT_CPP-DCL51-b | 予約済み識別子を再定義してはならない |
CERT_CPP-DCL51-c | defined 識別子を #define または #undef してはならない |
CERT_CPP-DCL51-d | 標準ライブラリのマクロ、オブジェクト、関数の名前を再利用してはならない |
CERT_CPP-DCL51-e | 標準ライブラリのマクロ、オブジェクト、関数の名前を再利用してはならない (C90) |
CERT_CPP-DCL51-f | 標準ライブラリのマクロ、オブジェクト、関数の名前を再利用してはならない (C99) |
CERT_CPP-DCL52-a | 参照型を const または volatile で修飾してはならない |
CERT_CPP-DCL53-a | 常にファイル スコープで関数を宣言する |
CERT_CPP-DCL53-b | ローカルまたは関数プロトタイプ スコープで宣言された識別子は、グローバルまたは名前空間のスコープで宣言された識別子を隠蔽してはならない |
CERT_CPP-DCL54-a | new と delete はいつも一緒に提供する |
CERT_CPP-DCL55-a | データをユーザー領域にコピーできる関数に構造体へのポインターを渡すべきではない |
CERT_CPP-DCL56-a | ローカルでない静的オブジェクトをローカルな static オブジェクトに置き換えることで、異なる翻訳単位にあるオブジェクトの初期化の順序に関する問題を避ける |
CERT_CPP-DCL57-a | デストラクタ、割り当て解除、スワップから例外をスローしてはならない |
CERT_CPP-DCL57-b | 例外を常にキャッチする |
CERT_CPP-DCL58-a | 標準の名前空間 std および posix を変更してはならない |
CERT_CPP-DCL59-a | ヘッダー ファイルに無名の名前空間があってはならない |
CERT_CPP-DCL60-a | クラス、共用体、列挙型の名前 (修飾子があれば修飾子も) は一意の識別子でなければならない |
CERT_CPP-ERR50-a | 'std::atexit()' または 'std::at_quick_exit()' で登録された関数の実行は、例外によって終了すべきではない |
CERT_CPP-ERR50-b | デストラクタ、割り当て解除、スワップから例外をスローしてはならない |
CERT_CPP-ERR50-c | デストラクタの中から throw を行ってはいけない |
CERT_CPP-ERR50-d | 他では処理されていないすべての例外をキャッチする例外ハンドラを少なくとも 1 つ用意するべきである |
CERT_CPP-ERR50-e | 空のスロー (throw;) は catch ハンドラの複合文でだけ使用する |
CERT_CPP-ERR50-f | プログラムの起動フェーズの後、終了フェーズの前にだけ例外をスローする |
CERT_CPP-ERR50-g | 明示的にスローされる例外はその場所に至るすべての呼び出しパスに互換性のある型のハンドラがなければならない |
CERT_CPP-ERR50-h | 関数の宣言に例外指定がある場合、関数は指定された型の例外だけをスローできる |
CERT_CPP-ERR50-i | グローバルまたは名前空間のスコープで呼び出される関数は、処理されない例外をスローしてはならない |
CERT_CPP-ERR50-j | 例外を常にキャッチする |
CERT_CPP-ERR50-k | 終了ハンドラーを適切に定義する |
CERT_CPP-ERR50-l | cstdlib ライブラリの関数 abort()、quick_exit()、_Exit() は使用してはならない |
CERT_CPP-ERR51-a | 例外を常にキャッチする |
CERT_CPP-ERR51-b | 明示的にスローされる例外はその場所に至るすべての呼び出しパスに互換性のある型のハンドラがなければならない |
CERT_CPP-ERR52-a | setjmp マクロと longjmp 関数は、用いてはならない |
CERT_CPP-ERR52-b | <setjmp.h> ヘッダーをインクルードしてはいけない |
CERT_CPP-ERR53-a | コンストラクタまたはデストラクタの関数監視ブロックのハンドラは、そのクラスまたは基底クラスの静的でないメンバを参照してはならない |
CERT_CPP-ERR54-a | 1 つの try-catch 文または関数監視ブロックに派生クラスおよびそのすべてまたは一部の基底クラスのハンドラがある場合、最後に派生されたクラスから基底クラスへの順でハンドラを記述する |
CERT_CPP-ERR55-a | 関数の宣言に例外指定がある場合、関数は指定された型の例外だけをスローできる |
CERT_CPP-ERR56-a | リソースが解放されていることを確認する |
CERT_CPP-ERR57-a | リソースが解放されていることを確認する |
CERT_CPP-ERR58-a | プログラムの起動フェーズの後、終了フェーズの前にだけ例外をスローする |
CERT_CPP-ERR59-a | 実行境界を越えて例外をスローしてはならない |
CERT_CPP-ERR60-a | 例外オブジェクトは例外をスローせずにコピー作成可能でなければならない |
CERT_CPP-ERR60-b | 'std::exception' を継承するクラスに明示的に宣言されたコピー コンストラクターは、例外をスローしない仕様を持たなければならない |
CERT_CPP-ERR61-a | クラス型の例外は常に参照でキャッチする |
CERT_CPP-ERR61-b | 値でスローし、参照でキャッチする |
CERT_CPP-ERR62-a | <stdlib.h>ライブラリのライブラリ関数 atof、atoi、atol は、用いてはならない |
CERT_CPP-EXP50-a | 式の値は、規格が認めるどのような順序で評価されようとも、同じでなければならない |
CERT_CPP-EXP50-b | 関数の引数の評価順序に依存するコードを書いてはならない |
CERT_CPP-EXP50-c | 関数呼び出しおよび関数引数の評価順序に依存するコードを記述してはならない |
CERT_CPP-EXP50-d | 関数呼び出しを含む式の評価順序に依存するコードを書いてはならない |
CERT_CPP-EXP50-e | オブジェクトは、シーケンス ポイントの間で、格納された値が式の評価によって 2 回以上変更されてはならない |
CERT_CPP-EXP50-f | 関数呼び出しの評価順序に依存するコードを書いてはならない |
CERT_CPP-EXP51-a | 配列をポリモーフィックに処理しない |
CERT_CPP-EXP52-a | sizeof 演算子のオペランドに副作用を持つ式が含まれていてはならない |
CERT_CPP-EXP52-b | sizeof 演算子のオペランドで volatile 左辺値として指定されたオブジェクトにアクセスするべきではない |
CERT_CPP-EXP52-c | 副作用を持つ関数の呼び出しを sizeof 演算子のオペランドとして使用してはならない |
CERT_CPP-EXP53-a | 初期化の前に使用しない |
CERT_CPP-EXP54-a | 解放されたリソースを使用してはならない |
CERT_CPP-EXP54-b | 自動記憶域のオブジェクトのアドレスを関数から返してはいけない |
CERT_CPP-EXP54-c | 自動記憶域のオブジェクトのアドレスを、オブジェクトが存在しなくなった後にも存在し続ける可能性がある別のオブジェクトに代入してはならない |
CERT_CPP-EXP55-a | キャストによってポインターまたは参照型から const または volatile 修飾子を取り除いてはならない |
CERT_CPP-EXP56-a | 別の言語リンケージで関数を呼び出さない |
CERT_CPP-EXP57-a | 削除の時点で不完全なオブジェクトを削除してはならない |
CERT_CPP-EXP57-b | 不完全型へのポインターと他の型との間で変換を行ってはならない |
CERT_CPP-EXP58-a | 可変引数のマクロを正しく使用する |
CERT_CPP-EXP60-a | 実行境界を越えて非標準レイアウト型のオブジェクトを渡してはならない |
CERT_CPP-EXP61-a | ローカル オブジェクトを参照でキャプチャするラムダを返してはならない |
CERT_CPP-EXP61-b | 外側のラムダから参照によってローカル オブジェクトをキャプチャしてはならない |
CERT_CPP-EXP61-c | ローカル オブジェクトを参照によってキャプチャするラムダは、より長い存続期間を持つ変数に代入するべきではない |
CERT_CPP-EXP63-a | ムーブ元オブジェクトの値に依存してはならない |
CERT_CPP-FIO50-a | 間にフラッシュまたは位置付けの処理を呼び出さずに交互にストリームの入力と出力を行ってはならない |
CERT_CPP-FIO51-a | リソースが解放されていることを確認する |
CERT_CPP-INT50-a | 列挙型を潜在型とする式は、列挙型の列挙子に対応する値だけを持つことができる |
CERT_CPP-MEM50-a | 解放されたリソースを使用してはならない |
CERT_CPP-MEM51-a | 対応する new/malloc および delete/free の呼び出しでは、同じ形式を使用する |
CERT_CPP-MEM51-b | 配列を解放する場合、必ず delete に空の括弧 ([]) を付ける |
CERT_CPP-MEM51-c | 非自明なデストラクターがあるクラスには、コピー コンストラクターおよびコピー代入演算子も宣言するべきである |
CERT_CPP-MEM52-a | new の戻り値をチェックする |
CERT_CPP-MEM52-b | 関数のパラメータの評価順は未定義であるため、関数の引数リストでリソースを割り当てない |
CERT_CPP-MEM53-a | コンストラクタのあるオブジェクトに対し malloc/realloc を呼び出さない |
CERT_CPP-MEM55-a | ユーザー定義の new 演算子は、割り当てが失敗した場合、std::bad_alloc 例外をスローするべきである |
CERT_CPP-MEM56-a | すでに所有されているポインターの値を関連のないスマート ポインターに保存しない |
CERT_CPP-MSC50-a | 疑似乱数の生成に rand() 関数を使用しない |
CERT_CPP-MSC51-a | 疑似乱数生成器に適切なシードを指定する |
CERT_CPP-MSC52-a | 戻り値の型が非 void の関数の場合、すべての出口で、式を持つ明示的な return 文を記述しなければならない |
CERT_CPP-MSC53-a | return するべきでない関数から return してはならない |
CERT_CPP-MSC54-a | シグナル ハンドラーを適切に定義する |
CERT_CPP-OOP50-a | コンストラクターから仮想関数を呼び出してはいけない |
CERT_CPP-OOP50-b | デストラクターから仮想関数を呼び出してはいけない |
CERT_CPP-OOP50-c | コンストラクターからクラスの仮想関数を呼び出さない |
CERT_CPP-OOP50-d | デストラクターからクラスの仮想関数を呼び出さない |
CERT_CPP-OOP51-a | 関数引数および戻り値のスライシングを避ける |
CERT_CPP-OOP52-a | 基底クラスとして使用される仮想関数を持つクラスに仮想デストラクタを定義する |
CERT_CPP-OOP53-a | 宣言された順にメンバを初期化リストに記述する |
CERT_CPP-OOP54-a | operator= での自分自身への代入をチェックする |
CERT_CPP-OOP55-a | 関数へのポインタを他のポインタ型にキャストで変換してはならない |
CERT_CPP-OOP56-a | terminate ハンドラーを適切に定義する |
CERT_CPP-OOP56-b | unexpected ハンドラーを適切に定義する |
CERT_CPP-OOP56-c | new ハンドラーを適切に定義する |
CERT_CPP-OOP57-a | C の標準ライブラリ関数を使用してノントリビアル クラス型のオブジェクトを初期化してはならない |
CERT_CPP-OOP57-b | C の標準ライブラリ関数を使用して非標準レイアウト クラス型のオブジェクトを比較してはならない |
CERT_CPP-OOP58-a | コピー演算はソース オブジェクトを変更してはならない |
CERT_CPP-STR50-a | 配列ではなく vector や string を使用する |
CERT_CPP-STR51-a | null ポインターの間接参照を避ける |
CERT_CPP-STR52-a | basic_string の要素を参照する場合、有効な参照、ポインター、イテレーターを使用する |
CERT_CPP-STR53-a | コンテナーのインデックスが有効範囲内であることを保証する |
CODSTA-197 | 文字列リテラルで初期化される文字配列の上限を指定しない |
CODSTA-199 | アサーションを使用しない |
CODSTA-200 | 初期化子内の配列宣言に明示的に配列の上限を指定する |
CODSTA-201 | 構造化テキストデータをネイティブに処理しない |
CODSTA-202 | 外部リンケージを持つ関数のインライン定義には、静的オブジェクトの定義や使用が含まれていてはならない |
CODSTA-203 | 文字列リテラルをハード コードしない |
CODSTA-82_b | 空の無限ループを使用しない |
CODSTA-CPP-93 | C の標準ライブラリ関数を使用してノントリビアル クラス型のオブジェクトを初期化してはならない |
CODSTA-CPP-94 | C の標準ライブラリ関数を使用して非標準レイアウト クラス型のオブジェクトを比較してはならない |
CODSTA-CPP-95 | 標準の名前空間 std および posix を変更してはならない |
CODSTA-CPP-96 | 別の言語リンケージで関数を呼び出さない |
CODSTA-CPP-97 | 参照型を const または volatile で修飾してはならない |
CODSTA-CPP-98 | コピー演算はソース オブジェクトを変更してはならない |
CODSTA-MCPP-17_b | 外側のラムダから参照によってローカル オブジェクトをキャプチャしてはならない |
CODSTA-MCPP-17_c | ローカル オブジェクトを参照によってキャプチャするラムダは、より長い存続期間を持つ変数に代入するべきではない |
CODSTA-MCPP-22 | 範囲ベースの for ループでは auto 宣言に対して明示的な参照修飾子を使用する |
EXCEPT-19 | 例外オブジェクトは例外をスローせずにコピー作成可能でなければならない |
EXCEPT-20 | 'std::exception' を継承するクラスに明示的に宣言されたコピー コンストラクターは、例外をスローしない仕様を持たなければならない |
JSF-037 | ファイルは、コンパイルに必要な宣言および定義を含むヘッダーだけを直接的にインクルードするべきである |
MISRA2008-15_5_3_b | デストラクタ、割り当て解除、スワップから例外をスローしてはならない |
MISRA2008-15_5_3_c | デストラクタの中から throw を行ってはいけない |
MISRA2008-15_5_3_d | 他では処理されていないすべての例外をキャッチする例外ハンドラを少なくとも 1 つ用意するべきである |
MISRA2008-15_5_3_e | 空のスロー (throw;) は catch ハンドラの複合文でだけ使用する |
MISRA2008-15_5_3_f | プログラムの起動フェーズの後、終了フェーズの前にだけ例外をスローする |
MISRA2008-15_5_3_g | 明示的にスローされる例外はその場所に至るすべての呼び出しパスに互換性のある型のハンドラがなければならない |
MISRA2008-15_5_3_h | 関数の宣言に例外指定がある場合、関数は指定された型の例外だけをスローできる |
MISRA2008-15_5_3_i | グローバルまたは名前空間のスコープで呼び出される関数は、処理されない例外をスローしてはならない |
MISRA2008-15_5_3_j | 例外を常にキャッチする |
MISRA2008-15_5_3_k | 終了ハンドラーを適切に定義する |
MRM-53 | ユーザー定義の new 演算子は、割り当てが失敗した場合、std::bad_alloc 例外をスローするべきである |
OOP-54 | オーバーライドされたメソッドまたは隠されたメソッドのアクセシビリティを引き上げてはならない |
OPT-41 | ファイルは、コンパイルに必要な宣言および定義を含むヘッダーだけを直接的にインクルードするべきである |
PB-74 | 1 より大きい値の定数をイテレーターに加算またはイテレーターから減算してはならない |
PB-75 | cstdlib ライブラリの関数 abort()、quick_exit()、_Exit() は使用してはならない |
PORT-29 | データをファイルに書き込む関数に構造体へのポインターを渡すべきではない |
PORT-30 | 実行境界を越えて例外をスローしてはならない |
PORT-31 | 実行境界を越えて非標準レイアウト型のオブジェクトを渡してはならない |
SECURITY-50 | 複数のスレッドが同じ条件変数を待機している場合、'notify_one()' 関数を使用しない |