CERT 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 (偽) 2024.1
CERT.CONC.UNSAFE_COND_VAR 条件変数の使用時に、スレッドセーフと活性を維持します 4 False (偽) 2024.1
CERT.CONC.UNSAFE_COND_VAR_C 条件変数の使用時に、スレッドセーフと活性を維持します 4 False (偽) 2024.1
CERT.CONC.WAKE_IN_LOOP 擬似的にループを起動する可能性のあるラップ関数 4 False (偽) 2024.1
CERT.CONC.WAKE_IN_LOOP_C 擬似的にループを起動する可能性のあるラップ関数 4 False (偽) 2024.1
CERT.DCL.AMBIGUOUS_DECL 構文的に曖昧な宣言を作成しないでください 4 False (偽) 2024.1
CERT.DCL.REF_TYPE.CONST_OR_VOLATILE 参照型を const または volatile で修飾しないでください 4 False (偽) 2024.1
CERT.DCL.SAME_SCOPE_ALLOC_DEALLOC 同一のスコープ内のペアとしての割り当ておよび割り当て解除関数をオーバーロードします 4 False (偽) 2024.1
CERT.DCL.STD_NS_MODIFIED 標準名前空間を変更しないでください 4 False (偽) 2024.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 (偽) 2024.1
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 (偽) 2024.1
CERT.MEM.OVERRIDE.NEW 'new' の動的メモリ管理要件を変更してください 4 False (偽) 2024.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 (偽) 2024.1
CERT.OOP.CSTD_FUNC_USE C 標準ライブラリ関数よりも特殊メンバー関数とオーバーロードされた演算子を優先します 4 False (偽) 2020.1
CERT.OOP.CTOR.INIT_ORDER コンストラクターメンバー初期化子を正規の順序で作成します 4 False (偽) 2024.1
CERT.OOP.PTR_MEMBER.NO_MEMBER メンバー演算子へのポインターを使用して、存在しないメンバーにアクセスしないでください 4 False (偽) 2024.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