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 年初めに脆弱性が検出されたためです。