C および C++ チェッカー リファレンス
チェッカー コード | 説明 | デフォルトの重要度 | デフォルトで有効にしますか? | 作成済み | 変更済み |
---|---|---|---|---|---|
ABV.ANY_SIZE_ARRAY | バッファオーバーフロー - 配列インデックスが範囲外 | 1 | false | Pre-9.2 | 9.5 |
ABV.GENERAL | バッファオーバーフロー - 配列インデックスが範囲外 | 1 | true | 9.6 | 10.1, 10.3, 10.4, 11.0, 11.1, 11.2, 2017.3, 2021.2, 2022.1 |
ABV.ITERATOR | バッファオーバーフロー - 配列インデックスが範囲外の可能性 | 1 | true | Pre-9.2 | 9.5, 10.3 |
ABV.MEMBER | バッファオーバーフロー - 配列インデックスが範囲外 | 1 | true | 9.5 | 10.3 |
ABV.STACK | バッファオーバーフロー - ローカル配列インデックスが範囲外 | 1 | true | Pre-9.2 | 9.5 |
ABV.TAINTED | 未検証の入力によるバッファオーバーフロー | 1 | true | Pre-9.2 | 9.5, 10.3, 11.2 |
ABV.UNICODE.BOUND_MAP | 文字関数のマッピング時のバッファオーバーフロー | 1 | false | Pre-9.2 | 9.5 |
ABV.UNICODE.FAILED_MAP | 関数のマッピングに失敗します | 1 | false | Pre-9.2 | 9.5 |
ABV.UNICODE.NNTS_MAP | 文字関数のマッピング時のバッファオーバーフロー | 1 | false | Pre-9.2 | 9.5 |
ABV.UNICODE.SELF_MAP | 関数のマッピングに失敗します | 1 | false | 9.6 | |
ABV.UNKNOWN_SIZE | バッファオーバーフロー - 配列インデックスが範囲外 | 1 | true | 9.6 | |
ASSIGCOND.CALL | 割り当て条件 (呼び出し) | 3 | false | Pre-9.2 | |
ASSIGCOND.GEN | 割り当て条件 | 3 | false | Pre-9.2 | |
BSTR.CAST.C | C スタイルの型が BSTR にキャストされます | 4 | false | Pre-9.2 | |
BSTR.CAST.CPP | C++ スタイルの型が BSTR にキャストされます | 4 | false | Pre-9.2 | |
BSTR.FUNC.ALLOC | BSTR 割り当て関数の不適切な呼び出し | 4 | false | Pre-9.2 | |
BSTR.FUNC.FREE | BSTR 解放関数の不適切な呼び出し | 4 | false | Pre-9.2 | |
BSTR.FUNC.LEN | BSTR 関連関数を使用した非 BSTR 文字列の長さの取得の可能性 | 4 | false | Pre-9.2 | |
BSTR.FUNC.REALLOC | BSTR 再割り当て関数の不適切な呼び出し | 4 | false | Pre-9.2 | |
BSTR.IA.ASSIGN | BSTR 変数には非 BSTR 値が割り当てられます | 4 | false | Pre-9.2 | |
BSTR.IA.INIT | BSTR 変数は非 BSTR 値で初期化されます | 4 | false | Pre-9.2 | |
BSTR.OPS.ARITHM | 不適切な BSTR 値の算術演算 | 4 | false | Pre-9.2 | |
BSTR.OPS.COMP | 不適切な BSTR 値の比較 | 4 | false | Pre-9.2 | |
BSTR.OPS.EQS | 不適切な BSTR 値の等価比較 | 4 | false | Pre-9.2 | |
BYTEORDER.HTON.SEND | ホストバイトオーダーからネットワークバイトオーダーの変換が欠落しています | 3 | false | 9.2 | |
BYTEORDER.HTON.WRITE | ホストバイトオーダーからネットワークバイトオーダーの変換が欠落しています | 3 | false | 9.2 | |
BYTEORDER.NTOH.READ | ネットワークバイトオーダーからホストバイトオーダーの変換が欠落しています | 3 | false | 9.2 | |
BYTEORDER.NTOH.RECV | ネットワークバイトオーダーからホストバイトオーダーの変換が欠落しています | 3 | false | 9.2 | |
CERT.ARR.PTR.ARITH | 演算式にポインターが使用されています | 4 | false | 2021.3 | |
CERT.EXPR.PARENS | 式内の演算子の優先度は明示的にする必要があります。 | 4 | false | 2022.1 | |
CERT.FILE_PTR.DEREF | FILE オブジェクトへのポインターは逆参照してはなりません | 4 | false | 2022.1 | |
CERT.FILE_PTR.DEREF.CAST | オブジェクトは FILE ポインターにキャストされており、これを逆参照してはなりません。 | 4 | false | 2022.1 | |
CERT.FILE_PTR.DEREF.INDIRECT | FILE オブジェクトへのポインターは、システム関数で間接的に逆参照してはなりません | 4 | false | 2022.1 | |
CERT.FILE_PTR.DEREF.RETURN | FILE オブジェクト(関数の戻り値)へのポインターは逆参照してはなりません | 4 | false | 2022.1 | |
CERT.MEMCMP.FLOAT_MEMBER | メンバーが浮動小数点の場合、比較しないでください | 4 | false | 2021.3 | |
CERT.MEMCMP.PADDED_DATA | パディングデータを比較しないでください | 4 | false | 2021.3 | |
CERT.OOP.CTOR.VIRTUAL_FUNC | コンストラクタまたは、デストラクタから仮想関数を呼出してはならない | 4 | false | 2022.1 | |
CERT.PUTENV.AUTO_VARIABLE | 自動変数へのポインターを引数として putenv() を呼び出さないでください | 4 | false | 2022.1 | |
CL.ASSIGN.NON_CONST_ARG | 代入演算子によって非定数参照引数が宣言されます | 4 | true | 9.5 | |
CL.ASSIGN.RETURN_CONST | 代入演算子によって定数参照が返されます | 4 | true | 9.5 | |
CL.ASSIGN.VOID | 代入演算子によって void が返されます | 4 | true | 9.5 | |
CL.FFM.ASSIGN | 解放済みメモリの使用 (二重解放) - operator= が無いため | 3 | true | Pre-9.2 | 9.5 |
CL.FFM.COPY | 解放済みメモリの使用 (二重解放) - コピーコンストラクタが無いため | 3 | true | Pre-9.2 | 9.5 |
CL.FMM | メモリの解放の不一致 - デストラクタで発生 | 3 | true | Pre-9.2 | 9.5, 10.1 |
CL.MLK | メモリリーク - デストラクタで発生 | 3 | true | Pre-9.2 | 9.5 |
CL.MLK.ASSIGN | メモリリーク - 代入演算子 | 3 | true | 10.1 | |
CL.MLK.VIRTUAL | メモリリーク - デストラクタで発生している可能性 | 2 | true | Pre-9.2 | 9.5 |
CL.SELF-ASSIGN | 解放済みメモリの使用 (二重解放) - operator= | 2 | true | Pre-9.2 | 9.5 |
CL.SHALLOW.ASSIGN | 解放済みメモリの使用 (二重解放) - 演算子 = での浅いコピー | 2 | true | 10.1 | |
CL.SHALLOW.COPY | 解放済みメモリの使用 (二重解放) - コピーコンストラクタでの浅いコピー | 2 | true | 10.1 | |
CONC.DBL_LOCK | 二重ロック | 2 | false | 2021.2 | |
CONC.DBL_UNLOCK | 二重ロック解除 | 2 | false | 2021.2 | 2021.3 |
CONC.DL | デッドロック | 2 | false | 9.2 | |
CONC.NO_LOCK | 変数に欠落しているロック | 2 | false | 2021.2 | |
CONC.NO_UNLOCK | 変数のロック解除の欠落 | 2 | true | Pre-9.2 | |
CONC.SLEEP | クリティカルセクションで関数がブロックされる可能性があります | 3 | true | Pre-9.2 | |
CWARN.ALIGNMENT | 不正確なポインタのスケーリングが使用されています | 4 | true | 9.5 | |
CWARN.BAD.PTR.ARITH | 不良なポインタ算術演算 | 4 | false | 10.0 | |
CWARN.BITOP.SIZE | ビット演算のオペランドのサイズが異なります | 4 | true | 10.0 | 2020.3 |
CWARN.BOOLOP.INC | ブール値に対して増減しています | 4 | true | Pre-9.2 | 9.5 |
CWARN.CAST.VIRTUAL_INHERITANCE | 仮想メソッドを持つオブジェクトへのポインタを、派生クラスへのポインタに C スタイルキャスト | 4 | false | 10.0 | |
CWARN.CMPCHR.EOF | 'char' 式と EOF 定数との比較 | 4 | false | 9.2 | 9.5 |
CWARN.CONSTCOND.DO | 'do' 制御式は定数です | 4 | false | Pre-9.2 | 9.5 |
CWARN.CONSTCOND.IF | 'if' 制御式は定数です | 4 | false | Pre-9.2 | 9.5 |
CWARN.CONSTCOND.SWITCH | 'switch' セレクター式は定数です | 4 | false | Pre-9.2 | 9.5 |
CWARN.CONSTCOND.TERNARY | 条件式の制御条件は定数です | 4 | false | Pre-9.2 | 9.5 |
CWARN.CONSTCOND.WHILE | 'while' 制御式は定数です | 4 | false | Pre-9.2 | 9.5 |
CWARN.COPY.NOASSIGN | クラスによって、コピー コンストラクタは定義されていますが、代入演算子は定義されていません | 4 | false | Pre-9.2 | 9.5, 11.0 |
CWARN.DTOR.NONVIRT.DELETE | 仮想メソッドを持ち、仮想デストラクタを持たないクラスのオブジェクトの式を削除しています | 2 | true | Pre-9.2 | 9.5 |
CWARN.DTOR.NONVIRT.NOTEMPTY | クラスには、基本クラスから継承された仮想関数が含まれていますが、そのデストラクタは仮想ではなく、空ではありません | 2 | true | Pre-9.2 | 9.5 |
CWARN.DTOR.VOIDPTR | void へのポインター型のオブジェクトを持つ式を削除します | 3 | true | 2019.3 | |
CWARN.EMPTY.LABEL | ラベルステートメントが空です | 4 | false | Pre-9.2 | 9.5 |
CWARN.EMPTY.TYPEDEF | typedef 名が欠落しています | 4 | false | Pre-9.2 | 9.5 |
CWARN.FUNCADDR | この関数の呼び出しの代わりに、関数アドレスが使用されます | 2 | false | Pre-9.2 | 9.5 |
CWARN.HIDDEN.PARAM | ローカル変数によってパラメーターが使用不可能になっています | 4 | false | Pre-9.2 | 9.5 |
CWARN.IMPLICITINT | 古い用法の 'implicit int' | 4 | false | Pre-9.2 | 9.5 |
CWARN.INCL.ABSOLUTE | 絶対パスがインクルードディレクティブで使用されています | 4 | false | 9.6 | |
CWARN.INCL.NO_INTERFACE | ソースファイルにインターフェイスヘッダーが含まれていません | 4 | false | 10.0 | |
CWARN.INLINE.NONFUNC | 'inline' が非関数で使用されました | 4 | false | Pre-9.2 | 9.5 |
CWARN.MEMBER.INIT.ORDER | 初期化リストのメンバーが、クラスで宣言された順序でリストされません | 4 | false | 9.5 | 10.4 |
CWARN.MEM.NONPOD | 非 POD オブジェクトに適用されるメモリ操作ルーチン | 4 | true | 10.0 | |
CWARN.MEMSET.SIZEOF.PTR | ポインタに適用される 'sizeof' には、memset のような関数が呼び出されます | 4 | false | 10.0 | 10.3, 11.1 |
CWARN.MOVE.CONST | std::move の引数として const 値が使用されています | 4 | true | 2020.1 | |
CWARN.NOEFFECT.OUTOFRANGE | 範囲外の値 | 3 | false | 10.1 | |
CWARN.NOEFFECT.SELF_ASSIGN | 変数は自身に割り当てられます | 4 | false | 9.2 | 9.5, 10.4 |
CWARN.NOEFFECT.UCMP.GE | 符号なし値と 0 との比較は、常に true になります | 4 | true | Pre-9.2 | 9.5 |
CWARN.NOEFFECT.UCMP.GE.MACRO | マクロ内で符号なし値と 0 との比較は、常に true になります | 4 | false | Pre-9.2 | 9.5 |
CWARN.NOEFFECT.UCMP.LT | 符号なし値と 0 との比較は、常に false になります | 4 | true | Pre-9.2 | 9.5 |
CWARN.NOEFFECT.UCMP.LT.MACRO | マクロ内で符号なし値と 0 との比較は、常に false になります | 4 | false | Pre-9.2 | 9.5 |
CWARN.NULLCHECK.FUNCNAME | 関数アドレスが 0 と直接比較されます | 4 | true | Pre-9.2 | 9.5 |
CWARN.OVERRIDE.CONST | 'const' 修飾子の不一致が原因で、関数のオーバーライドが失敗します | 4 | true | Pre-9.2 | 9.5 |
CWARN.PACKED.TYPEDEF | typedef で 'packed' 属性が無視されます | 4 | false | Pre-9.2 | 9.5 |
CWARN.PASSBYVALUE.ARG | 値によって渡された関数の引数が大きすぎます | 4 | false | Pre-9.2 | 9.5 |
CWARN.PASSBYVALUE.EXC | 値によって渡された例外オブジェクトが大きすぎます | 4 | false | Pre-9.2 | 9.5 |
CWARN.RET.MAIN | main の戻り値の型の不正です | 4 | true | Pre-9.2 | 9.5 |
CWARN.SIGNEDBIT | 1 ビットフィールドが符号付きです | 4 | true | Pre-9.2 | 9.5 |
CXX.BITOP.BOOL_OPERAND | 潜在的な論理エラー: ブール式をビット演算子の引数として直接使用してはなりません。代わりに論理演算子の使用を検討してください。 | 4 | false | 2021.1 | |
CXX.BITOP.NON_CONST_OPERAND | ビット演算子の適用は定数のみに限定する必要があります | 4 | false | 2021.1 | |
CXX.CAST.OBJ_PTR_TO_OBJ_PTR | オブジェクト タイプを指すポインタと、異なるオブジェクト タイプを指す別のポインタとの間のキャスト | 4 | false | 2021.3 | |
CXX.CAST.SIGNED_CHAR_TO_INTEGER | より大きな整数サイズに変換する前に char を unsigned char にキャストします | 4 | false | 2021.3 | |
CXX.DIFF.WIDTH.STR_AND_FUNC | 関数の呼び出し時にナロー文字列とワイド文字列の間で暗黙のキャストが行われます | 4 | false | 2021.3 | |
CXX.ERRNO.INCORRECTLY_CHECKED | ライブラリ関数を呼び出した後に、errno の条件チェックは必要ない | 3 | false | 2021.2 | |
CXX.ERRNO.NOT_CHECKED | ライブラリ関数を呼び出した後に、errno の条件チェックが欠落している | 3 | false | 2021.2 | |
CXX.ERRNO.NOT_SET | ライブラリ関数を呼び出す前に、errno はゼロにリセットされていない | 3 | false | 2021.2 | |
CXX.ID_VIS.GLOBAL_VARIABLE.EXTERN | extern グローバル変数の可視範囲が広すぎます | 4 | false | 2021.3 | |
CXX.ID_VIS.GLOBAL_VARIABLE.STATIC | static グローバル変数の可視範囲が広すぎます | 4 | false | 2021.3 | |
CXX.INT_TO_FLOAT.CONV | 算術演算における暗黙変換の使用 | 4 | false | 2021.2 | |
CXX.LOGICAL_OP.INT_OPERAND | 潜在的な論理エラー: 整数式を論理演算子のオペランドとして直接使用してはなりません。代わりにブール式を使用してください。 | 4 | false | 2021.1 | |
CXX.LOGICAL_OP.NON_BOOL_CONSTANT | 論理演算子は定数に直接適用してはなりません | 4 | false | 2021.1 | |
CXX.OVERWRITE_CONST_CHAR | 定数文字列を上書きする試み | 3 | false | 2021.1 | |
CXX.POSSIBLE_COPY_PASTE.FSTRING.APPEND_SAME_STRING | 潜在的なコピーペーストエラー: 同じ FString が 2 度付加されています | 4 | false | 2021.1 | |
CXX.POSSIBLE_COPY_PASTE.LOGICAL_OP.CMP_SAME_OBJECT | 潜在的なコピーペーストエラー: オブジェクトをそれ自体と論理的に比較してはなりません | 4 | false | 2021.1 | |
CXX.POSSIBLE_COPY_PASTE.TERNARY_OP | 三項演算子の 'then' および 'else' ブランチでの潜在的なコピーペースト | 4 | false | 2021.1 | |
CXX.SQL.INJECT | SQL インジェクション | 2 | false | 2021.2 | |
CXX.STDLIB.ILLEGAL_REUSE | 標準ライブラリ関数 asctime または同様の関数によって返されるポインタは、同じ関数の後続の呼び出しに続いては使用しません | 4 | false | 2021.3 | |
CXX.STDLIB.ILLEGAL_WRITE | 標準ライブラリ関数 localeconv、getenv、setlocale、または strerror が返すポインターは、必ずそれらが const-qualified 型を指すポインターを持つかのように使用する必要があります。 | 4 | false | 2021.3 | |
DBZ.CONST | ゼロ定数による除算が発生しました | 1 | false | 10.3 | 2020.2 |
DBZ.CONST.CALL | 値 '0' が除数としてこの値を使用できる関数に渡されます | 1 | false | 10.3 | |
DBZ.GENERAL | ゼロ除算が発生した可能性があります | 1 | false | 10.3 | |
DBZ.ITERATOR | ループ反復子でゼロ除算が発生した可能性があります | 1 | false | 10.3 | |
EFFECT | ステートメントの影響はありません | 4 | false | Pre-9.2 | |
FMM.MIGHT | メモリの解放の不一致の可能性 | 2 | true | Pre-9.2 | 10.1 |
FMM.MUST | メモリの解放の不一致 | 1 | true | Pre-9.2 | 10.1 |
FNH.MIGHT | 非ヒープメモリの解放の可能性 | 1 | true | Pre-9.2 | |
FNH.MUST | 非ヒープメモリの解放 | 2 | true | Pre-9.2 | |
FREE.INCONSISTENT | メモリの解放が矛盾しています | 3 | false | Pre-9.2 | |
FUM.GEN.MIGHT | 未割り当てメモリの解放の可能性 | 1 | true | Pre-9.2 | |
FUM.GEN.MUST | 未割り当てメモリの解放 | 1 | true | Pre-9.2 | |
FUNCRET.GEN | 非 void 関数に戻り値がありません | 1 | true | Pre-9.2 | |
FUNCRET.IMPLICIT | 暗黙的に int を返す非 void 関数に戻り値がありません | 2 | true | Pre-9.2 | |
HCC | ハードコードされた資格情報の使用 | 2 | true | 11.1 | |
HCC.PWD | ハードコードされたパスワードの使用 | 2 | true | 11.1 | |
HCC.USER | ハードコードされたユーザー名の使用 | 2 | true | 11.1 | |
INCONSISTENT.LABEL | case ラベルが矛盾しています | 4 | true | Pre-9.2 | 9.5 |
INCORRECT.ALLOC_SIZE | 不適切な割り当てサイズ | 3 | true | Pre-9.2 | |
INFINITE_LOOP.GLOBAL | 無限ループ | 2 | false | 9.5 | |
INFINITE_LOOP.LOCAL | 無限ループ | 2 | true | 9.5 | 10.1, 2017, 2017.3 |
INFINITE_LOOP.MACRO | 無限ループ | 2 | false | 9.5 | |
INVARIANT_CONDITION.GEN | 不変な条件式 | 3 | false | 10.1 | 10.2, 2020.1 |
INVARIANT_CONDITION.UNREACH | 不変な条件式 | 3 | false | 10.1 | 10.2 |
ITER.CONTAINER.MODIFIED | 無効な反復子の使用 | 3 | true | Pre-9.2 | 2017 |
ITER.END.DEREF.MIGHT | 'end' 反復子の逆参照 | 3 | true | 9.5 | |
ITER.END.DEREF.MUST | 'end' 反復子の逆参照 | 3 | true | 9.5 | |
ITER.INAPPROPRIATE | コンテナーオブジェクトが不適切な反復子の使用 | 4 | true | 9.5 | |
ITER.INAPPROPRIATE.MULTIPLE | コンテナーオブジェクトが不適切な反復子の使用 | 4 | true | 9.5 | |
LA_UNUSED | ラベルが使用されていません | 4 | false | Pre-9.2 | |
LOCRET.ARG | 関数がローカル変数のアドレスを返しています | 1 | true | Pre-9.2 | 9.5 |
LOCRET.GLOB | 関数がローカル変数のアドレスを返しています | 1 | true | Pre-9.2 | 9.5 |
LOCRET.RET | 関数がローカル変数のアドレスを返しています | 1 | true | Pre-9.2 | 9.5 |
LS.CALL | GUI 関数におけるローカライズされない文字列の不審な使用 | 3 | false | 11.0 | |
LS.CALL.STRING | GUI 関数におけるローカライズされない文字列の不審な使用 | 3 | false | 11.0 | |
LV_UNUSED.GEN | ローカル変数は使用されません | 4 | false | Pre-9.2 | 2020.3 |
MLK.MIGHT | メモリリークの可能性 | 2 | true | Pre-9.2 | 9.2, 9.5 |
MLK.MUST | メモリリーク | 2 | true | Pre-9.2 | 9.2, 9.5, 11.1, 11.3, 2020.1 |
MLK.RET.MIGHT | メモリリークの可能性 | 2 | false | 9.6 | |
MLK.RET.MUST | メモリリーク | 2 | true | 9.6 | |
NNTS.MIGHT | バッファオーバーフロー - 非 NULL 終了文字列 | 1 | true | Pre-9.2 | 9.2, 10.3 |
NNTS.MUST | バッファオーバーフロー - 非 NULL 終了文字列 | 1 | true | Pre-9.2 | 9.2, 10.3 |
NNTS.TAINTED | 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 | 1 | true | Pre-9.2 | 9.2, 10.3, 2021.2, 2021.3 |
NPD.CHECK.CALL.MIGHT | ポインタを明示的に NULL チェックした後に逆参照する可能性のある関数に渡す可能性があります | 1 | true | Pre-9.2 | 9.2, 9.5 |
NPD.CHECK.CALL.MUST | ポインタを明示的に NULL チェックした後に逆参照する可能性がある関数に渡します | 1 | true | Pre-9.2 | 9.2, 9.5 |
NPD.CHECK.MIGHT | ポインタを明示的に NULL チェックした後に逆参照する可能性があります | 1 | true | Pre-9.2 | 9.2, 9.5 |
NPD.CHECK.MUST | ポインタを明示的に NULL チェックした後に逆参照します | 1 | true | Pre-9.2 | 9.2, 9.5 |
NPD.CONST.CALL | 逆参照する可能性のある関数に NULL を渡しています | 1 | false | Pre-9.2 | 9.2, 9.5 |
NPD.CONST.DEREF | NULL は逆参照されます | 1 | false | Pre-9.2 | 9.2, 9.5, 2022.1 |
NPD.FUNC.CALL.MIGHT | NULL を返す関数の戻り値が、これを逆参照する可能性のある別の関数に渡される可能性があります | 1 | false | Pre-9.2 | 9.2, 9.5 |
NPD.FUNC.CALL.MUST | NULL を返す関数の戻り値が、これを逆参照する可能性がある別の関数に渡されます | 1 | false | Pre-9.2 | 9.2, 9.5 |
NPD.FUNC.MIGHT | NULL を返す可能性のある関数の戻り値が逆参照される場合があります | 1 | true | Pre-9.2 | 9.2, 9.5 |
NPD.FUNC.MUST | NULL を返す可能性がある関数の戻り値が逆参照されます | 1 | true | Pre-9.2 | 9.2, 9.5, 10.4, 2020.3, 2020.4 |
NPD.GEN.CALL.MIGHT | NULLポインタを逆参照する可能性がある関数に渡す場合があります | 1 | true | Pre-9.2 | 9.2, 9.5 |
NPD.GEN.CALL.MUST | NULLポインタを逆参照する関数に渡します | 1 | true | Pre-9.2 | 9.2, 9.5 |
NPD.GEN.MIGHT | NULLポインタを逆参照する可能性があります | 1 | true | Pre-9.2 | 9.2, 9.5 |
NPD.GEN.MUST | NULLポインタを逆参照します | 1 | true | Pre-9.2 | 9.2, 9.5, 11.0, 2018.2, 2021.3 |
NUM.OVERFLOW | オーバーフローの可能性 | 3 | false | 10.1 | |
PORTING.BITFIELDS | 構造内でのビットフィールドの使用法 | 4 | false | 9.2 | 9.5 |
PORTING.BSWAP.MACRO | カスタムバイトの swap マクロがエンディアンのチェックなしで使用されています | 4 | false | 9.2 | 9.5 |
PORTING.BYTEORDER.SIZE | 互換性がない型が 'ntohl' などのネットワークマクロで使用されています | 4 | false | 9.2 | 9.5 |
PORTING.CAST.FLTPNT | 非浮動小数点タイプへの浮動小数点式のキャスト | 4 | false | 9.2 | 9.5 |
PORTING.CAST.PTR | 両方ともポインタでない型といずれかがポインタでない型間のキャスト | 4 | false | 9.2 | 9.5 |
PORTING.CAST.PTR.FLTPNT | 非浮動小数点型のポインタへの浮動小数点式のポインタのキャスト | 4 | false | 9.2 | 9.5 |
PORTING.CAST.PTR.SIZE | サイズに互換性がない可能性がある型への式のキャストの可能性 | 4 | false | 9.2 | 9.5 |
PORTING.CAST.SIZE | サイズが異なる可能性がある型に式がキャストされています | 4 | false | 9.2 | 9.5 |
PORTING.CMPSPEC.EFFECTS.ASSIGNMENT | 関数パラメーターでの割り当て | 4 | false | 9.2 | 9.5, 10.3 |
PORTING.CMPSPEC.TYPE.BOOL | 'bool' 型への割り当てが 1 バイトより大きくなっています | 4 | false | 9.2 | 9.5 |
PORTING.CMPSPEC.TYPE.LONGLONG | 'long long' の使用 | 4 | false | 9.2 | 9.5 |
PORTING.MACRO.NUMTYPE | 組み込み数値型を記述するマクロが使用されています | 4 | false | 9.2 | 9.5 |
PORTING.OPTS | コンパイラ依存オプションが使用されています | 4 | false | 9.2 | 9.5 |
PORTING.PRAGMA.ALIGN | #pragma align の使用法 | 4 | false | 9.2 | 9.5 |
PORTING.PRAGMA.PACK | #pragma pack の使用法 | 4 | false | 9.2 | 9.5 |
PORTING.SIGNED.CHAR | 明示的に符号が指定されずに 'char' が使用されます | 4 | false | 9.2 | 9.5 |
PORTING.STORAGE.STRUCT | 構造の要素のバイト位置が配置属性およびパッケージ属性に依存している可能性があります。 | 4 | false | 9.2 | 9.5 |
PORTING.STRUCT.BOOL | 構造/クラスにはブールメンバーが含まれています | 4 | false | 9.2 | 9.5 |
PORTING.UNIONS | 和集合は、エンクロージング構造/クラス/その他の和集合内で使用されます | 4 | false | 9.2 | 9.5 |
PORTING.UNSIGNEDCHAR.OVERFLOW.FALSE | 'char' 型の符号によっては関係式が常に false になる場合があります | 4 | false | 9.2 | 9.5 |
PORTING.UNSIGNEDCHAR.OVERFLOW.TRUE | 'char' 型の符号によっては関係式が常に true になる場合があります | 4 | false | 9.2 | 9.5 |
PORTING.UNSIGNEDCHAR.RELOP | 明示的な符号付き/符号なし char と符号が指定されていない char 間の関係演算 | 4 | false | 9.2 | 9.5 |
PORTING.VAR.EFFECTS | ある使用法が副次的な影響を受ける式で変数が 2 回使用されています | 4 | false | 9.2 | 9.5 |
PRECISION.LOSS | 精度の損失 | 4 | false | Pre-9.2 | 9.5 |
PRECISION.LOSS.CALL | 関数呼び出し中の精度の損失 | 4 | false | Pre-9.2 | 9.5 |
RABV.CHECK | 境界チェック前のインデックスの不審な使用 | 1 | true | 11.3 | 2017 |
RCA | 危険な暗号化アルゴリズムが使用されています | 2 | true | 11.0 | 2017 |
RCA.HASH.SALT.EMPTY | 空のソルトを持つ一方向性ハッシュの使用 | 2 | true | 11.1 | |
RETVOID.GEN | 非 void 関数が void 値を返しています | 2 | true | Pre-9.2 | |
RETVOID.IMPLICIT | 暗黙的な int 関数によって void 値が返されます | 2 | true | Pre-9.2 | |
RH.LEAK | リソースリーク | 2 | true | Pre-9.2 | 9.5, 11.1, 2020.1, 2020.2 |
RN.INDEX | 負の値のチェック前のインデックスの使用は問題となる可能性があります | 1 | true | 9.5 | |
RNPD.CALL | NULL チェック前のポインタの、関数呼び出しにおける逆参照は問題となる可能性があります | 1 | true | Pre-9.2 | |
RNPD.DEREF | NULL チェック前のポインタの逆参照は問題となる可能性があります | 1 | true | Pre-9.2 | |
SEMICOL | セミコロンの位置を確認してください | 4 | false | Pre-9.2 | |
SPECTRE.VARIANT1 | 予測実行の悪用の可能性 | 3 | false | 2017.3, 2018, 2018.1* | |
STRONG.TYPE.ASSIGN | 割り当て時に強い型指定が優先されません | 4 | false | 9.2 | |
STRONG.TYPE.ASSIGN.ARG | 割り当て時に強い型指定が優先されません | 4 | false | 9.2 | |
STRONG.TYPE.ASSIGN.CONST | 割り当て時に強い型指定が優先されません | 4 | false | 9.2 | |
STRONG.TYPE.ASSIGN.INIT | 割り当て時に強い型指定が優先されません | 4 | false | 9.2 | 2020.3 |
STRONG.TYPE.ASSIGN.RETURN | 割り当て時に強い型指定が優先されません | 4 | false | 9.2 | 2020.3 |
STRONG.TYPE.ASSIGN.ZERO | 割り当て時に強い型指定が優先されません | 4 | false | 9.2 | |
STRONG.TYPE.EXTRACT | 割り当て時に強い型指定が優先されません | 4 | false | 9.2 | |
STRONG.TYPE.JOIN.CMP | バイナリ演算子との結合時に強い型指定が優先されません | 4 | false | 9.2 | |
STRONG.TYPE.JOIN.CONST | バイナリ演算子との結合時に強い型指定が優先されません | 4 | false | 9.2 | 2020.1 |
STRONG.TYPE.JOIN.EQ | バイナリ演算子との結合時に強い型指定が優先されません | 4 | false | 9.2 | |
STRONG.TYPE.JOIN.OTHER | バイナリ演算子との結合時に強い型指定が優先されません | 4 | false | 9.2 | |
STRONG.TYPE.JOIN.ZERO | バイナリ演算子との結合時に強い型指定が優先されません | 4 | false | 9.2 | 2020.1 |
SV.BANNED.RECOMMENDED.ALLOCA | 禁止が推奨されているAPI: スタック割り当て関数 | 4 | false | 9.5 | |
SV.BANNED.RECOMMENDED.NUMERIC | 禁止が推奨されているAPI: 安全でない数値化関数 | 4 | false | 9.5 | |
SV.BANNED.RECOMMENDED.OEM | 禁止が推奨されているAPI: OEM 文字ページ変換関数 | 4 | false | 9.5 | |
SV.BANNED.RECOMMENDED.PATH | 禁止が推奨されているAPI: 安全でないパス名操作関数 | 4 | false | 9.5 | |
SV.BANNED.RECOMMENDED.SCANF | 禁止が推奨されているAPI: 安全でない scanf 型関数 | 4 | false | 9.5 | |
SV.BANNED.RECOMMENDED.SPRINTF | 禁止が推奨されているAPI: 安全でない sprintf 型関数 | 4 | false | 9.5 | |
SV.BANNED.RECOMMENDED.STRLEN | 禁止が推奨されているAPI: 安全でない文字列長関数 | 4 | false | 9.5 | |
SV.BANNED.RECOMMENDED.TOKEN | 禁止が推奨されているAPI: 安全でないトークン作成関数 | 4 | false | 9.5 | |
SV.BANNED.RECOMMENDED.WINDOW | 禁止が推奨されているAPI: 安全でないウィンドウ関数 | 4 | false | Pre-9.2 | |
SV.BANNED.REQUIRED.CONCAT | 禁止が必須とされているAPI: 安全でない文字列連結関数 | 4 | false | 9.5 | |
SV.BANNED.REQUIRED.COPY | 禁止が必須とされているAPI: 安全でないバッファコピー関数 | 4 | false | 9.5 | |
SV.BANNED.REQUIRED.GETS | 禁止が必須とされているAPI: 安全でないストリーム読み取り関数 | 4 | false | Pre-9.2 | |
SV.BANNED.REQUIRED.ISBAD | 禁止が必須とされているAPI: IsBad 型関数 | 4 | false | 9.5 | |
SV.BANNED.REQUIRED.SPRINTF | 禁止が必須とされているAPI: 安全でない sprintf 型関数 | 4 | false | 9.5 | |
SV.BFC.USING_STRUCT | bind 関数の呼び出しに使用される struct sockaddr_in 構造の sin_addr.s_addr フィールドでの INADDR_ANY の使用 | 4 | false | Pre-9.2 | |
SV.BRM.HKEY_LOCAL_MACHINE | レジストリ操作関数の 'hkey' とパラメーターしての HKEY_LOCAL_MACHINE の使用 | 4 | false | Pre-9.2 | |
SV.CODE_INJECTION.SHELL_EXEC | シェル実行へのコマンドインジェクション | 3 | false | Pre-9.2 | |
SV.DLLPRELOAD.NONABSOLUTE.DLL | DLL プリロードのハイジャック ベクターの可能性 | 2 | false | 9.5 | |
SV.DLLPRELOAD.NONABSOLUTE.EXE | プロセスインジェクションベクターの可能性 | 2 | false | 9.5 | |
SV.DLLPRELOAD.SEARCHPATH | DLL の検索に SearchPath の使用は推奨されません | 2 | false | 9.5 | |
SV.FIU.PROCESS_VARIANTS | 危険なプロセス作成の使用 | 4 | false | Pre-9.2 | 11.3 |
SV.FMTSTR.GENERIC | 書式文字列の脆弱性 | 1 | false | Pre-9.2 | 11.2, 2021.4 |
SV.FMT_STR.BAD_SCAN_FORMAT | 入力書式指定子エラー | 2 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.PRINT_FORMAT_MISMATCH.BAD | 互換性がない print 関数パラメーターの型 | 2 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.PRINT_FORMAT_MISMATCH.UNDESIRED | 予期しない print 関数パラメーターの型 | 4 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.PRINT_IMPROP_LENGTH | print 関数呼び出しの長さ修飾子の不適切な使用 | 2 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.PRINT_PARAMS_WRONGNUM.FEW | print 関数呼び出しの引数が少なすぎます | 2 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.PRINT_PARAMS_WRONGNUM.MANY | print 関数呼び出しの引数が多すぎます | 2 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.SCAN_FORMAT_MISMATCH.BAD | 互換性がない scan 関数パラメーターの型 | 2 | true | 10.0 | 11.3 |
SV.FMT_STR.SCAN_FORMAT_MISMATCH.UNDESIRED | 予期しない scan 関数パラメーターの型 | 2 | true | 10.0 | 2021.4 |
SV.FMT_STR.SCAN_IMPROP_LENGTH | scan 関数呼び出しの長さ修飾子の不適切な使用 | 2 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.SCAN_PARAMS_WRONGNUM.FEW | scan 関数呼び出しの引数が少なすぎます | 2 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.SCAN_PARAMS_WRONGNUM.MANY | scan 関数呼び出しの引数が多すぎます | 2 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.UNKWN_FORMAT | print 関数呼び出しの書式指定子が不明です | 3 | true | Pre-9.2 | 9.5 |
SV.FMT_STR.UNKWN_FORMAT.SCAN | scan 関数呼び出しの書式指定子が不明です | 3 | true | Pre-9.2 | 9.5 |
SV.INCORRECT_RESOURCE_HANDLING.URH | 安全でないリソース処理 | 3 | false | Pre-9.2 | |
SV.INCORRECT_RESOURCE_HANDLING.WRONG_STATUS | 安全でないリソース処理 | 3 | false | Pre-9.2 | |
SV.LPP.CONST | 危険な関数についての安全でないマクロの使用 | 3 | false | 9.5 | |
SV.LPP.VAR | 危険な関数についての安全でないパラメーターの使用 | 3 | false | 9.5 | |
SV.PCC.CONST | CreateFile の呼び出し時に安全でない (定数) テンポラリファイルの名前が使用されています | 4 | false | Pre-9.2 | |
SV.PCC.INVALID_TEMP_PATH | CreateFile の呼び出し時に安全でないテンポラリファイルの名前が使用されています | 4 | false | Pre-9.2 | |
SV.PCC.MISSING_TEMP_CALLS.MUST | CreateFile の呼び出し時に安全なテンポラリファイルの名前が欠落しています | 4 | false | Pre-9.2 | |
SV.PCC.MISSING_TEMP_FILENAME | CreateFile の呼び出し時にテンポラリファイルの名前が欠落しています | 4 | false | Pre-9.2 | |
SV.PCC.MODIFIED_BEFORE_CREATE | CreateFile の呼び出し前にテンポラリファイルが変更されます | 4 | false | Pre-9.2 | |
SV.PIPE.CONST | パイプのハイジャックの可能性 | 3 | false | 9.5 | |
SV.PIPE.VAR | パイプのハイジャックの可能性 | 3 | false | 9.5 | |
SV.RVT.RETVAL_NOTTESTED | 戻り値の無視 | 4 | false | Pre-9.2 | 2021.2, 2021.3, 2022.1 |
SV.SIP.CONST | 危険な関数についての安全でないマクロの使用 | 3 | false | 9.6 | |
SV.SIP.VAR | 危険な関数についての安全でないパラメーターの使用 | 3 | false | 9.6 | |
SV.STRBO.BOUND_COPY.OVERFLOW | バインドされた文字列コピーでのバッファオーバーフロー | 1 | false | 10.0 | |
SV.STRBO.BOUND_COPY.UNTERM | 次の文字列演算でバッファオーバーフローの可能性があります | 2 | false | 10.0 | |
SV.STRBO.BOUND_SPRINTF | バインドされた sprintf でのバッファオーバーフロー | 1 | false | Pre-9.2 | 10.3 |
SV.STRBO.UNBOUND_COPY | バインドされていない文字列コピーでのバッファオーバーフロー | 1 | false | Pre-9.2 | |
SV.STRBO.UNBOUND_SPRINTF | バインドされていない sprintf でのバッファオーバーフロー | 1 | false | Pre-9.2 | |
SV.STR_PAR.UNDESIRED_STRING_PARAMETER | ファイルパスの不要な文字列 | 4 | false | Pre-9.2 | |
SV.TAINTED.ALLOC_SIZE | メモリ割り当て時の未検証の整数の使用 | 2 | true | Pre-9.2 | 10.1, 10.2 |
SV.TAINTED.BINOP | バイナリ演算での未検証整数値の使用 | 3 | false | 10.3 | 2020.2 |
SV.TAINTED.CALL.BINOP | バイナリ演算での未検証整数値の使用 | 3 | false | 10.3 | |
SV.TAINTED.CALL.DEREF | 未検証ポインターの逆参照 | 3 | false | 11.2 | |
SV.TAINTED.CALL.GLOBAL | 割り当て演算での未検証整数値の使用 | 3 | false | 2020.2 | |
SV.TAINTED.CALL.INDEX_ACCESS | 関数呼び出し時の配列インデックスとしての未検証の整数の使用 | 2 | true | Pre-9.2 | 10.1, 10.2 |
SV.TAINTED.CALL.LOOP_BOUND | 関数呼び出しのループ条件での未検証の整数の使用 | 2 | true | Pre-9.2 | 10.1, 10.2 |
SV.TAINTED.DEREF | 未検証ポインターの逆参照 | 3 | false | 11.2 | |
SV.TAINTED.FMTSTR | 書式文字列での未検証データの使用 | 1 | true | Pre-9.2 | 10.1 |
SV.TAINTED.GLOBAL | 割り当て演算での未検証整数値の使用 | 3 | false | 2020.2 | |
SV.TAINTED.INDEX_ACCESS | 配列インデックスとしての未検証の整数の使用 | 1 | true | Pre-9.2 | 10.1, 10.2, 11.1, 2017 |
SV.TAINTED.INJECTION | コマンドインジェクション | 3 | true | Pre-9.2 | 10.1 |
SV.TAINTED.LOOP_BOUND | ループ条件での未検証の整数の使用 | 2 | true | Pre-9.2 | 10.1, 10.2 |
SV.TAINTED.PATH_TRAVERSAL | パストラバーサルでの未検証データの使用 | 1 | true | 11.0 | |
SV.TAINTED.SECURITY_DECISION | セキュリティ決定 | 3 | false | 10.4 | |
SV.TAINTED.XSS.REFLECTED | クロスサイト スクリプティング脆弱性 | 3 | false | 2020.3 | |
SV.TOCTOU.FILE_ACCESS | ファイル アクセス時の作成日時/使用日時の競合状態 | 4 | false | Pre-9.2 | 11.3, 2021.3 |
SV.UNBOUND_STRING_INPUT.CIN | バインドされていない文字列入力についての cin の使用法 | 1 | true | 9.5 | |
SV.UNBOUND_STRING_INPUT.FUNC | バインドされていない文字列入力の使用法 | 1 | true | 9.5 | |
SV.USAGERULES.PERMISSIONS | 特権の昇給の使用 | 4 | false | Pre-9.2 | 11.3 |
SV.USAGERULES.PROCESS_VARIANTS | 危険なプロセス作成関数の使用 | 4 | false | Pre-9.2 | |
SV.USAGERULES.SPOOFING | スプーフィングの影響を受けやすい関数の使用 | 4 | false | Pre-9.2 | |
SV.WEAK_CRYPTO.WEAK_HASH | 弱ハッシュ関数 | 4 | false | Pre-9.2 | |
UFM.DEREF.MIGHT | 解放済みメモリの逆参照の可能性 | 1 | true | Pre-9.2 | 9.2, 9.5 |
UFM.DEREF.MUST | 解放済みメモリの逆参照 | 1 | true | Pre-9.2 | 9.2, 9.5 |
UFM.FFM.MIGHT | 解放済みメモリの使用 (二重解放)の可能性 | 1 | true | Pre-9.2 | 9.2, 9.5 |
UFM.FFM.MUST | 解放済みメモリの解放 | 1 | true | Pre-9.2 | 9.2, 9.5 |
UFM.RETURN.MIGHT | 解放済みメモリの戻り値への使用の可能性 | 2 | true | Pre-9.2 | 9.2, 9.5 |
UFM.RETURN.MUST | 解放済みメモリの戻り値への使用 | 2 | true | Pre-9.2 | 9.2, 9.5 |
UFM.USE.MIGHT | 解放済みメモリの使用の可能性 | 2 | true | Pre-9.2 | 9.2, 9.5 |
UFM.USE.MUST | 解放済みメモリの使用 | 2 | true | Pre-9.2 | 9.2, 9.5 |
UNINIT.CTOR.MIGHT | コンストラクタにおける未初期化の変数の可能性 | 1 | true | Pre-9.2 | 9.2, 9.5 |
UNINIT.CTOR.MUST | コンストラクタにおける未初期化の変数 | 2 | false | Pre-9.2 | 9.2, 9.5, 2020.1, 2021.2, 2022.1 |
UNINIT.HEAP.MIGHT | 未初期化のヒープの使用の可能性 | 1 | true | Pre-9.2 | 9.2, 9.5 |
UNINIT.HEAP.MUST | 未初期化のヒープの使用 | 1 | true | Pre-9.2 | 9.2, 9.5 |
UNINIT.STACK.ARRAY.MIGHT | 未初期化の配列の可能性 | 1 | true | Pre-9.2 | 9.2, 9.5 |
UNINIT.STACK.ARRAY.MUST | 未初期化の配列 | 1 | true | Pre-9.2 | 9.2, 9.5, 2021.2, 2021.4, 2022.1 |
UNINIT.STACK.ARRAY.PARTIAL.MUST | 一部が未初期化の配列 | 1 | true | Pre-9.2 | 9.2, 9.5, 2022.1 |
UNINIT.STACK.MIGHT | 未初期化の変数の可能性 | 1 | true | Pre-9.2 | 9.2, 9.5, 2018.2, 2020.2, 2022.1 |
UNINIT.STACK.MUST | 未初期化の変数 | 1 | true | Pre-9.2 | 9.2, 9.5, 11.2, 2020.3, 2021.2, 2021.4 |
UNREACH.ENUM | enum が取りうる値が原因で、コードは到達不能になっています | 3 | false | 2021.3 | |
UNREACH.GEN | 到達不能コード | 3 | false | Pre-9.2 | 9.2, 9.5, 10.1, 10.3, 10.4, 11.2, 2020.3, 2021.3 |
UNREACH.RETURN | 到達不能な void return文 | 3 | false | Pre-9.2 | 9.2, 9.5, 11.2 |
UNREACH.SIZEOF | アーキテクチャに関連した到達不能コード | 3 | false | 10.1 | |
UNUSED.FUNC.GEN | 関数を定義していますが、使用していません | 4 | false | 10.1 | 11.3 |
UNUSED.FUNC.STL_EMPTY | STL オブジェクトの empty() メソッドの無視された戻り値 | 3 | true | 2019.3 | 2020.1 |
UNUSED.FUNC.WARN | 潜在的未使用関数 | 4 | false | 10.1 | 11.3 |
VA.LIST.INDETERMINATE | 不定値を持つ va_list に対する va_arg() の呼び出し | 3 | false | 2021.2 | |
VA_UNUSED.GEN | 値を割り当て後に使用しません | 4 | false | Pre-9.2 | 9.5 |
VA_UNUSED.INIT | 値を初期化後に使用しません | 4 | false | Pre-9.2 | 9.5, 11.2 |
VOIDRET | void 関数が戻り値を返しています | 2 | true | Pre-9.2 | 9.5 |
*SPECTRE.VARIANT1 は 2018 年 4 月に作成され、Klocwork 2017.3/2018 にバックポートされました。これは 2018 年初めに脆弱性が検出されたためです。