CERT Community C および C++ チェッカーリファレンス
コンピューター緊急対応チーム (CERT) が定義しているセキュアコーディング基準にマッピングされる Community C/C++ チェッカーのリスト。
チェッカー名 | 説明 | 重要度のデフォルト値 | デフォルトで有効になりましたか? | バージョン |
---|---|---|---|---|
CERT.CONC.ATOMIC_COMP_FAIL_IN_LOOP | ループで疑似的に失敗する可能性のある関数はラップしてください | 4 | False (偽) | 2021.2 |
CERT.CONC.LIB_FUNC_USE | ライブラリ関数の使用時には競合状態を避けてください | 4 | False (偽) | 2021.2 |
CERT.CONC.MUTEX.DESTROY_WHILE_LOCKED | ロックされている間はミューテックスを破棄しないでください | 4 | False (偽) | 2020.1 |
CERT.CONC.UNSAFE_COND_VAR | 条件変数の使用時に、スレッドセーフと活性を維持します | 4 | False (偽) | 2020.1 |
CERT.CONC.UNSAFE_COND_VAR_C | 条件変数の使用時に、スレッドセーフと活性を維持します | 4 | False (偽) | 2021.2 |
CERT.CONC.WAKE_IN_LOOP | 擬似的にループを起動する可能性のあるラップ関数 | 4 | False (偽) | 2020.1 |
CERT.CONC.WAKE_IN_LOOP_C | 擬似的にループを起動する可能性のあるラップ関数 | 4 | False (偽) | 2021.2 |
CERT.DCL.AMBIGUOUS_DECL | 構文的に曖昧な宣言を作成しないでください | 4 | False (偽) | 2020.1 |
CERT.DCL.REF_TYPE.CONST_OR_VOLATILE | 参照型を const または volatile で修飾しないでください | 4 | False (偽) | 2022.4 |
CERT.DCL.SAME_SCOPE_ALLOC_DEALLOC | 同一のスコープ内のペアとしての割り当ておよび割り当て解除関数をオーバーロードします | 4 | False (偽) | 2020.1 |
CERT.DCL.STD_NS_MODIFIED | 標準名前空間を変更しないでください | 4 | False (偽) | 2020.1 |
CERT.DCL.SWITCH.VAR_BEFORE_CASE | switch ステートメント内では最初の case ラベルより前で変数を宣言しないでください | 4 | False (偽) | 2021.2 |
CERT.ERR.ABRUPT_TERM | 突然プログラムを終了しないでください | 4 | False (偽) | 2020.1 |
CERT.ERR.CONV.STR_TO_NUM | 文字列を数値に変換する際にエラーを検出する | 4 | False (偽) | 2020.1 |
CERT.EXPR.DELETE_ARR.BASE_PTR | 不正な型のポインターを使用して配列を削除しないでください | 4 | False (偽) | 2020.1 |
CERT.EXPR.DELETE_PTR.INCOMPLETE_TYPE | 不完全な型へのポインターを削除しないでください | 4 | False (偽) | 2020.1 |
CERT.EXPR.PASS_NON_STD_LAYOUT | 実行境界を超えて標準ではないレイアウトタイプオブジェクトを渡さないでください | 4 | False (偽) | 2022.3 |
CERT.EXPR.VOLATILE.ADDR | 非 volatile ポインタを通して volatile オブジェクトにアクセスしてはいけません | 4 | False (偽) | 2020.1 |
CERT.EXPR.VOLATILE.ADDR.PARAM | 非 volatile ポインタを介して volatile オブジェクトを関数に渡さないでください | 4 | False (偽) | 2020.1 |
CERT.EXPR.VOLATILE.PTRPTR | 非 volatile ポインタへの参照を volatile ポインタのポインタに割り当てないでください | 4 | False (偽) | 2020.1 |
CERT.MEM.OVERRIDE.DELETE | 'delete' の動的メモリ管理要件を変更してください | 4 | False (偽) | 2020.1 |
CERT.MEM.OVERRIDE.NEW | 'new' の動的メモリ管理要件を変更してください | 4 | False (偽) | 2020.1 |
CERT.MSC.ASCTIME | asctime() 関数に無効なデータを渡さないでください | 4 | False (偽) | 2021.2 |
CERT.MSC.NORETURN_FUNC_RETURNS | [[noreturn]] と宣言された関数から返さないでください | 4 | False (偽) | 2020.1 |
CERT.MSC.SEED_RANDOM | 疑似乱数ジェネレータを適切にシードする | 4 | False (偽) | 2021.2 |
CERT.MSC.SIG_HANDLER.POF | シグナルハンドラーは古いプレーン関数である必要があります | 4 | False (偽) | 2020.1 |
CERT.MSC.STD_RAND_CALL | 疑似乱数の生成に std::rand() を使用しないでください | 4 | False (偽) | 2020.1 |
CERT.OOP.COPY_MUTATES | コピー操作でソースオブジェクトを変更してはいけません | 4 | False (偽) | 2021.3 |
CERT.OOP.CSTD_FUNC_USE | C 標準ライブラリ関数よりも特殊メンバー関数とオーバーロードされた演算子を優先します | 4 | False (偽) | 2020.1 |
CERT.OOP.CTOR.INIT_ORDER | コンストラクターメンバー初期化子を正規の順序で作成します | 4 | False (偽) | 2020.1 |
CERT.OOP.PTR_MEMBER.NO_MEMBER | メンバー演算子へのポインターを使用して、存在しないメンバーにアクセスしないでください | 4 | False (偽) | 2020.1 |
CERT.POS.THREAD.ASYNC_CANCEL | 非同期キャンセルが可能なスレッドを使用してはいけません | 3 | False (偽) | 2020.1 |
CERT.STR.ARG.CONST_TO_NONCONST | const char ポインターを非 const char ポインター引数に渡さないでください | 4 | False (偽) | 2022.3 |
CERT.STR.ASSIGN.CONST_TO_NONCONST | const char ポインターを非 const char ポインターに割り当てないでください | 4 | False (偽) | 2022.3 |
CERT.STRUCT.FLEXIBLE_ARRAY_MEMBER | フレキシブル配列メンバーの宣言時には正しい構文を使用する | 4 | False (偽) | 2021.2 |