Klocwork C および C++ チェッカーにマッピングされた CWE ID
マッピングは CWE の最新バージョンに基づきます。
ID | チェッカー名および説明 |
---|---|
20 |
ABV.TAINTED 未検証の入力によるバッファオーバーフロー NNTS.MUST バッファオーバーフロー - 非 NULL 終了文字列 NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 SV.CODE_INJECTION.SHELL_EXEC シェル実行へのコマンドインジェクション SV.TAINTED.ALLOC_SIZE メモリ割り当て時の未検証の整数の使用 SV.TAINTED.BINOP バイナリ演算での未検証整数値の使用 SV.TAINTED.CALL.BINOP バイナリ演算での未検証整数値の使用 SV.TAINTED.CALL.DEREF 未検証ポインターの逆参照 SV.TAINTED.CALL.INDEX_ACCESS 関数呼び出し時の配列インデックスとしての未検証の整数の使用 SV.TAINTED.CALL.LOOP_BOUND 関数呼び出しのループ条件での未検証の整数の使用 SV.TAINTED.DEREF 未検証ポインターの逆参照 SV.TAINTED.FMTSTR 書式文字列での未検証データの使用 SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 SV.TAINTED.INJECTION コマンドインジェクション SV.TAINTED.LOOP_BOUND ループ条件での未検証の整数の使用 SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 SV.TAINTED.SECURITY_DECISION セキュリティ決定 |
22 |
SV.DLLPRELOAD.NONABSOLUTE.DLL DLL プリロードのハイジャック ベクターの可能性 SV.DLLPRELOAD.NONABSOLUTE.EXE プロセスインジェクションベクターの可能性 SV.DLLPRELOAD.SEARCHPATH DLL の検索に SearchPath の使用は推奨されません SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 |
23 |
SV.DLLPRELOAD.NONABSOLUTE.DLL DLL プリロードのハイジャック ベクターの可能性 SV.DLLPRELOAD.NONABSOLUTE.EXE プロセスインジェクションベクターの可能性 SV.DLLPRELOAD.SEARCHPATH DLL の検索に SearchPath の使用は推奨されません |
73 |
SV.DLLPRELOAD.NONABSOLUTE.DLL DLL プリロードのハイジャック ベクターの可能性 SV.DLLPRELOAD.NONABSOLUTE.EXE プロセスインジェクションベクターの可能性 SV.DLLPRELOAD.SEARCHPATH DLL の検索に SearchPath の使用は推奨されません |
77 |
SV.CODE_INJECTION.SHELL_EXEC シェル実行へのコマンドインジェクション SV.TAINTED.INJECTION コマンドインジェクション |
78 |
SV.CODE_INJECTION.SHELL_EXEC シェル実行へのコマンドインジェクション SV.TAINTED.INJECTION コマンドインジェクション |
79 |
SV.TAINTED.XSS.REFLECTED クロスサイト スクリプティング脆弱性 |
80 |
SV.TAINTED.XSS.REFLECTED クロスサイト スクリプティング脆弱性 |
88 |
SV.CODE_INJECTION.SHELL_EXEC シェル実行へのコマンドインジェクション SV.TAINTED.INJECTION コマンドインジェクション |
89 |
CXX.SQL.INJECT SQL インジェクション |
94 |
SV.CODE_INJECTION.SHELL_EXEC シェル実行へのコマンドインジェクション SV.TAINTED.INJECTION コマンドインジェクション |
99 |
ABV.TAINTED 未検証の入力によるバッファオーバーフロー SV.CODE_INJECTION.SHELL_EXEC シェル実行へのコマンドインジェクション SV.TAINTED.INJECTION コマンドインジェクション SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 |
114 |
SV.DLLPRELOAD.NONABSOLUTE.DLL DLL プリロードのハイジャック ベクターの可能性 SV.DLLPRELOAD.NONABSOLUTE.EXE プロセスインジェクションベクターの可能性 SV.DLLPRELOAD.SEARCHPATH DLL の検索に SearchPath の使用は推奨されません |
119 |
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.SELF_MAP 関数のマッピングに失敗します ABV.UNKNOWN_SIZE バッファオーバーフロー - 配列インデックスが範囲外 CXX.SUSPICIOUS_INDEX_CHECK 境界チェック後のインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.CALL 境界チェック後の関数呼び出しでのインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.ZERO ゼロのインデックスチェック後のインデックスの不審な使用 NNTS.MIGHT バッファオーバーフロー - 非 NULL 終了文字列 NNTS.MUST バッファオーバーフロー - 非 NULL 終了文字列 NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 RABV.CHECK 境界チェック前のインデックスの不審な使用 RN.INDEX 負の値のチェック前のインデックスの使用は問題となる可能性があります SV.FMT_STR.BAD_SCAN_FORMAT 入力書式指定子エラー SV.STRBO.BOUND_SPRINTF バインドされた sprintf でのバッファオーバーフロー SV.STRBO.UNBOUND_SPRINTF バインドされていない sprintf でのバッファオーバーフロー SV.UNBOUND_STRING_INPUT.CIN バインドされていない文字列入力についての cin の使用法 SV.UNBOUND_STRING_INPUT.FUNC バインドされていない文字列入力の使用法 |
120 |
ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 NNTS.MIGHT バッファオーバーフロー - 非 NULL 終了文字列 SV.STRBO.BOUND_COPY.OVERFLOW バインドされた文字列コピーでのバッファオーバーフロー SV.STRBO.UNBOUND_COPY バインドされていない文字列コピーでのバッファオーバーフロー SV.UNBOUND_STRING_INPUT.CIN バインドされていない文字列入力についての cin の使用法 SV.UNBOUND_STRING_INPUT.FUNC バインドされていない文字列入力の使用法 |
121 |
ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー |
122 |
ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー |
124 |
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.SELF_MAP 関数のマッピングに失敗します ABV.UNKNOWN_SIZE バッファオーバーフロー - 配列インデックスが範囲外 CXX.SUSPICIOUS_INDEX_CHECK 境界チェック後のインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.CALL 境界チェック後の関数呼び出しでのインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.ZERO ゼロのインデックスチェック後のインデックスの不審な使用 RABV.CHECK 境界チェック前のインデックスの不審な使用 RN.INDEX 負の値のチェック前のインデックスの使用は問題となる可能性があります SV.STRBO.BOUND_SPRINTF バインドされた sprintf でのバッファオーバーフロー SV.STRBO.UNBOUND_SPRINTF バインドされていない sprintf でのバッファオーバーフロー |
125 |
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.SELF_MAP 関数のマッピングに失敗します ABV.UNKNOWN_SIZE バッファオーバーフロー - 配列インデックスが範囲外 CXX.SUSPICIOUS_INDEX_CHECK 境界チェック後のインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.CALL 境界チェック後の関数呼び出しでのインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.ZERO ゼロのインデックスチェック後のインデックスの不審な使用 NNTS.MIGHT バッファオーバーフロー - 非 NULL 終了文字列 NNTS.MUST バッファオーバーフロー - 非 NULL 終了文字列 NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 RABV.CHECK 境界チェック前のインデックスの不審な使用 RN.INDEX 負の値のチェック前のインデックスの使用は問題となる可能性があります SV.FMT_STR.BAD_SCAN_FORMAT 入力書式指定子エラー SV.STRBO.BOUND_SPRINTF バインドされた sprintf でのバッファオーバーフロー SV.STRBO.UNBOUND_SPRINTF バインドされていない sprintf でのバッファオーバーフロー SV.UNBOUND_STRING_INPUT.CIN バインドされていない文字列入力についての cin の使用法 SV.UNBOUND_STRING_INPUT.FUNC バインドされていない文字列入力の使用法 |
126 |
SV.STRBO.BOUND_COPY.UNTERM 次の文字列演算でバッファオーバーフローの可能性があります |
127 |
ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 |
129 |
ABV.TAINTED 未検証の入力によるバッファオーバーフロー SV.TAINTED.CALL.INDEX_ACCESS 関数呼び出し時の配列インデックスとしての未検証の整数の使用 SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 |
131 |
CXX.SIZEOF.CSTRING char* での sizeof の使用は、誤解を招く場合があります INCORRECT.ALLOC_SIZE 不適切な割り当てサイズ |
134 |
SV.FMTSTR.GENERIC 書式文字列の脆弱性 SV.TAINTED.FMTSTR 書式文字列での未検証データの使用 |
135 |
SV.FMT_STR.BAD_SCAN_FORMAT 入力書式指定子エラー |
170 |
NNTS.MIGHT バッファオーバーフロー - 非 NULL 終了文字列 NNTS.MUST バッファオーバーフロー - 非 NULL 終了文字列 NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 SV.STRBO.BOUND_COPY.UNTERM 次の文字列演算でバッファオーバーフローの可能性があります |
176 |
ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.SELF_MAP 関数のマッピングに失敗します |
190 |
NUM.OVERFLOW オーバーフローの可能性 NUM.OVERFLOW.DF 起こり得る数値のオーバーフローまたはラップアラウンド SV.TAINTED.BINOP バイナリ演算での未検証整数値の使用 SV.TAINTED.CALL.BINOP バイナリ演算での未検証整数値の使用 |
192 |
MISRA.CAST.INT 自明ではない整数式が広い型または別の符号を持つ型にキャストされています MISRA.CAST.UNSIGNED_BITS unsigned char または short でのビット演算の結果は元の型にキャストできません MISRA.UMINUS.UNSIGNED 単項マイナス演算子が符号なしオペランドに対して使用されています。 PRECISION.LOSS 精度の損失 PRECISION.LOSS.CALL 関数呼び出し中の精度の損失 PRECISION.LOSS.INIT 初期化中の精度の損失 |
193 |
ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 SV.STRBO.BOUND_COPY.UNTERM 次の文字列演算でバッファオーバーフローの可能性があります |
195 |
MISRA.CONV.INT.SIGN 暗黙的な整数変換により符号が変わります MISRA.CVALUE.IMPL.CAST.CPP 暗黙の型変換で符号、型サイズ、型の違いにより情報の損失を起こす記述があります。 |
196 |
MISRA.CAST.INT.SIGN 自明ではない複合式が別の符号を持つ型にキャストされています MISRA.CONV.INT.SIGN 暗黙的な整数変換により符号が変わります |
197 |
MISRA.CAST.INT 自明ではない整数式が広い型または別の符号を持つ型にキャストされています MISRA.CAST.UNSIGNED_BITS unsigned char または short でのビット演算の結果は元の型にキャストできません MISRA.UMINUS.UNSIGNED 単項マイナス演算子が符号なしオペランドに対して使用されています。 PRECISION.LOSS 精度の損失 PRECISION.LOSS.CALL 関数呼び出し中の精度の損失 PRECISION.LOSS.INIT 初期化中の精度の損失 |
200 |
SPECTRE.VARIANT1 予測実行の悪用の可能性 |
242 |
SV.FIU.PROCESS_VARIANTS 危険なプロセス作成の使用 SV.PIPE.VAR パイプのハイジャックの可能性 SV.UNBOUND_STRING_INPUT.CIN バインドされていない文字列入力についての cin の使用法 SV.UNBOUND_STRING_INPUT.FUNC バインドされていない文字列入力の使用法 SV.USAGERULES.PROCESS_VARIANTS 危険なプロセス作成関数の使用 |
250 |
SV.FIU.PROCESS_VARIANTS 危険なプロセス作成の使用 SV.USAGERULES.PERMISSIONS 特権の昇給の使用 SV.USAGERULES.PROCESS_VARIANTS 危険なプロセス作成関数の使用 |
251 |
ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 |
252 |
SV.RVT.RETVAL_NOTTESTED 戻り値の無視 |
253 |
SV.RVT.RETVAL_NOTTESTED 戻り値の無視 |
256 |
CXX.SV.PWD.PLAIN プレーンな文字列を使用してパスワードを設定しようとしています CXX.SV.PWD.PLAIN.LENGTH 15 文字未満の長さでパスワードを設定しようとしています CXX.SV.PWD.PLAIN.LENGTH.ZERO ゼロ文字の長さでパスワードを設定しようとしています |
259 |
CXX.SV.PWD.PLAIN プレーンな文字列を使用してパスワードを設定しようとしています CXX.SV.PWD.PLAIN.LENGTH 15 文字未満の長さでパスワードを設定しようとしています CXX.SV.PWD.PLAIN.LENGTH.ZERO ゼロ文字の長さでパスワードを設定しようとしています HCC ハードコードされた資格情報の使用 HCC.PWD ハードコードされたパスワードの使用 |
269 |
SV.USAGERULES.PERMISSIONS 特権の昇給の使用 |
272 |
SV.BRM.HKEY_LOCAL_MACHINE レジストリ操作関数の 'hkey' とパラメーターしての HKEY_LOCAL_MACHINE の使用 |
273 |
SV.FIU.PROCESS_VARIANTS 危険なプロセス作成の使用 SV.USAGERULES.PERMISSIONS 特権の昇給の使用 |
276 |
SV.USAGERULES.PROCESS_VARIANTS 危険なプロセス作成関数の使用 |
284 |
SV.LPP.CONST 危険な関数についての安全でないマクロの使用 SV.LPP.VAR 危険な関数についての安全でないパラメーターの使用 |
287 |
CXX.SV.PWD.PLAIN プレーンな文字列を使用してパスワードを設定しようとしています CXX.SV.PWD.PLAIN.LENGTH 15 文字未満の長さでパスワードを設定しようとしています CXX.SV.PWD.PLAIN.LENGTH.ZERO ゼロ文字の長さでパスワードを設定しようとしています HCC ハードコードされた資格情報の使用 HCC.PWD ハードコードされたパスワードの使用 SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
290 |
SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
307 |
CXX.SV.PWD_INPUT.REVIEW パスワード認証は、ブルートフォース攻撃に対してチェックする必要があります |
311 |
CXX.SV.PRIVATE_KEY.EMPTY_PASSWD 不正な方法で秘密キーをシリアル化しようとしています CXX.SV.PRIVATE_KEY.UNENCRYPTED 不正な方法で秘密キーをシリアル化しようとしています |
312 |
CXX.SV.PRIVATE_KEY.EMPTY_PASSWD 不正な方法で秘密キーをシリアル化しようとしています CXX.SV.PRIVATE_KEY.UNENCRYPTED 不正な方法で秘密キーをシリアル化しようとしています |
321 |
HCC ハードコードされた資格情報の使用 HCC.PWD ハードコードされたパスワードの使用 |
326 |
SV.USAGERULES.SPOOFING スプーフィングの影響を受けやすい関数の使用 |
327 |
RCA 危険な暗号化アルゴリズムが使用されています SV.WEAK_CRYPTO.WEAK_HASH 弱ハッシュ関数 |
362 |
SV.TOCTOU.FILE_ACCESS ファイル アクセス時の作成日時/使用日時の競合状態 |
367 |
SV.TOCTOU.FILE_ACCESS ファイル アクセス時の作成日時/使用日時の競合状態 |
369 |
DBZ.CONST ゼロ定数による除算が発生しました DBZ.CONST.CALL 値 '0' が除数としてこの値を使用できる関数に渡されます DBZ.GENERAL ゼロ除算が発生した可能性があります DBZ.ITERATOR ループ反復子でゼロ除算が発生した可能性があります DBZ.ITERATOR.CALL 関数呼出しでゼロ除算が発生した可能性があります |
377 |
SV.PCC.CONST CreateFile の呼び出し時に安全でない (定数) テンポラリファイルの名前が使用されています SV.PCC.INVALID_TEMP_PATH CreateFile の呼び出し時に安全でないテンポラリファイルの名前が使用されています SV.PCC.MISSING_TEMP_CALLS.MUST CreateFile の呼び出し時に安全なテンポラリファイルの名前が欠落しています SV.PCC.MISSING_TEMP_FILENAME CreateFile の呼び出し時にテンポラリファイルの名前が欠落しています SV.PCC.MODIFIED_BEFORE_CREATE CreateFile の呼び出し前にテンポラリファイルが変更されます |
390 |
SV.RVT.RETVAL_NOTTESTED 戻り値の無視 |
391 |
SV.RVT.RETVAL_NOTTESTED 戻り値の無視 |
394 |
RETVOID.GEN 非 void 関数が void 値を返しています RETVOID.IMPLICIT 暗黙的な int 関数によって void 値が返されます VOIDRET void 関数が戻り値を返しています |
400 |
CL.MLK メモリリーク - デストラクタで発生 CL.MLK.ASSIGN メモリリーク - 代入演算子 CL.MLK.VIRTUAL メモリリーク - デストラクタで発生している可能性 MLK.MIGHT メモリリークの可能性 MLK.MUST メモリリーク MLK.RET.MIGHT メモリリークの可能性 MLK.RET.MUST メモリリーク SV.CODE_INJECTION.SHELL_EXEC シェル実行へのコマンドインジェクション SV.TAINTED.INJECTION コマンドインジェクション |
401 |
CL.MLK メモリリーク - デストラクタで発生 CL.MLK.ASSIGN メモリリーク - 代入演算子 CL.MLK.VIRTUAL メモリリーク - デストラクタで発生している可能性 MLK.MIGHT メモリリークの可能性 MLK.MUST メモリリーク MLK.RET.MIGHT メモリリークの可能性 MLK.RET.MUST メモリリーク |
403 |
RH.LEAK リソースリーク |
404 |
FMM.MIGHT メモリの解放の不一致の可能性 FMM.MUST メモリの解放の不一致 RH.LEAK リソースリーク |
412 |
CONC.DL デッドロック |
413 |
CERT.CONC.MUTEX.DESTROY_WHILE_LOCKED ロックされている間はミューテックスを破棄しないでください |
415 |
UFM.DEREF.MIGHT 解放済みメモリの逆参照の可能性 UFM.DEREF.MUST 解放済みメモリの逆参照 UFM.FFM.MIGHT 解放済みメモリの使用 (二重解放)の可能性 UFM.FFM.MUST 解放済みメモリの解放 UFM.RETURN.MIGHT 解放済みメモリの戻り値への使用の可能性 UFM.RETURN.MUST 解放済みメモリの戻り値への使用 UFM.USE.MIGHT 解放済みメモリの使用の可能性 UFM.USE.MUST 解放済みメモリの使用 |
416 |
CL.FFM.ASSIGN 解放済みメモリの使用 (二重解放) - operator= が無いため CL.FFM.COPY 解放済みメモリの使用 (二重解放) - コピーコンストラクタが無いため CL.SELF-ASSIGN 解放済みメモリの使用 (二重解放) - operator= CL.SHALLOW.ASSIGN 解放済みメモリの使用 (二重解放) - 演算子 = での浅いコピー CL.SHALLOW.COPY 解放済みメモリの使用 (二重解放) - コピーコンストラクタでの浅いコピー LOCRET.ARG 関数がローカル変数のアドレスを返しています LOCRET.GLOB 関数がローカル変数のアドレスを返しています LOCRET.RET 関数がローカル変数のアドレスを返しています UFM.DEREF.MIGHT 解放済みメモリの逆参照の可能性 UFM.DEREF.MUST 解放済みメモリの逆参照 UFM.FFM.MIGHT 解放済みメモリの使用 (二重解放)の可能性 UFM.FFM.MUST 解放済みメモリの解放 UFM.RETURN.MIGHT 解放済みメモリの戻り値への使用の可能性 UFM.RETURN.MUST 解放済みメモリの戻り値への使用 UFM.USE.MIGHT 解放済みメモリの使用の可能性 UFM.USE.MUST 解放済みメモリの使用 |
421 |
SV.PIPE.CONST パイプのハイジャックの可能性 SV.PIPE.VAR パイプのハイジャックの可能性 |
426 |
SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 |
457 |
UNINIT.CTOR.MIGHT コンストラクタにおける未初期化の変数の可能性 UNINIT.CTOR.MUST コンストラクタにおける未初期化の変数 UNINIT.HEAP.MIGHT 未初期化のヒープの使用の可能性 UNINIT.HEAP.MUST 未初期化のヒープの使用 UNINIT.STACK.MIGHT 未初期化の変数の可能性 UNINIT.STACK.MUST 未初期化の変数 |
464 |
SV.BANNED.RECOMMENDED.TOKEN 禁止が推奨されているAPI: 安全でないトークン作成関数 SV.TAINTED.FMTSTR 書式文字列での未検証データの使用 |
467 |
CXX.SIZEOF.CSTRING char* での sizeof の使用は、誤解を招く場合があります INCORRECT.ALLOC_SIZE 不適切な割り当てサイズ |
468 |
CWARN.ALIGNMENT 不正確なポインタのスケーリングが使用されています MISRA.PTR.ARITH 代数式または配列インデックス式でポインタが使用されています |
476 |
NPD.CHECK.CALL.MIGHT ポインタを明示的に NULL チェックした後に逆参照する可能性のある関数に渡す可能性があります NPD.CHECK.CALL.MUST ポインタを明示的に NULL チェックした後に逆参照する可能性がある関数に渡します NPD.CHECK.MIGHT ポインタを明示的に NULL チェックした後に逆参照する可能性があります NPD.CHECK.MUST ポインタを明示的に NULL チェックした後に逆参照します NPD.CONST.CALL 逆参照する可能性のある関数に NULL を渡しています NPD.CONST.DEREF NULL は逆参照されます NPD.FUNC.CALL.MIGHT NULL を返す関数の戻り値が、これを逆参照する可能性のある別の関数に渡される可能性があります NPD.FUNC.CALL.MUST NULL を返す関数の戻り値が、これを逆参照する可能性がある別の関数に渡されます NPD.FUNC.MIGHT NULL を返す可能性のある関数の戻り値が逆参照される場合があります NPD.FUNC.MUST NULL を返す可能性がある関数の戻り値が逆参照されます NPD.GEN.CALL.MIGHT NULLポインタを逆参照する可能性がある関数に渡す場合があります NPD.GEN.CALL.MUST NULLポインタを逆参照する関数に渡します NPD.GEN.MIGHT NULLポインタを逆参照する可能性があります NPD.GEN.MUST NULLポインタを逆参照します RNPD.CALL NULL チェック前のポインタの、関数呼び出しにおける逆参照は問題となる可能性があります RNPD.DEREF NULL チェック前のポインタの逆参照は問題となる可能性があります |
478 |
MISRA.SWITCH.WELL_FORMED.DEFAULT.2012 各 switch ステートメントはデフォルトラベルを有するべきです。 |
480 |
ASSIGCOND.CALL 割り当て条件 (呼び出し) ASSIGCOND.GEN 割り当て条件 EFFECT ステートメントの影響はありません SEMICOL セミコロンの位置を確認してください |
481 |
ASSIGCOND.CALL 割り当て条件 (呼び出し) ASSIGCOND.GEN 割り当て条件 |
482 |
EFFECT ステートメントの影響はありません |
484 |
MISRA.SWITCH.NO_BREAK switch 句の最後に break ステートメントまたは throw ステートメントがありません MISRA.SWITCH.WELL_FORMED.BREAK.2012 条件なしの break ステートメントで各 switch 句を終了するべきです。 |
497 |
SV.STR_PAR.UNDESIRED_STRING_PARAMETER ファイルパスの不要な文字列 |
522 |
CXX.SV.PRIVATE_KEY.EMPTY_PASSWD 不正な方法で秘密キーをシリアル化しようとしています CXX.SV.PRIVATE_KEY.UNENCRYPTED 不正な方法で秘密キーをシリアル化しようとしています |
539 |
CXX.SV.PERSISTENT_COOKIE 永続的な cookie の違法使用 |
561 |
INVARIANT_CONDITION.GEN 不変な条件式 INVARIANT_CONDITION.UNREACH 不変な条件式 LA_UNUSED ラベルが使用されていません UNREACH.ENUM enum が取りうる値が原因で、コードは到達不能になっています UNREACH.GEN 到達不能コード UNREACH.RETURN 到達不能な void return文 UNREACH.SIZEOF アーキテクチャに関連した到達不能コード VA_UNUSED.GEN 値を割り当て後に使用しません VA_UNUSED.INIT 値を初期化後に使用しません |
562 |
LOCRET.ARG 関数がローカル変数のアドレスを返しています LOCRET.GLOB 関数がローカル変数のアドレスを返しています LOCRET.RET 関数がローカル変数のアドレスを返しています |
563 |
LV_UNUSED.GEN ローカル変数は使用されません |
570 |
INVARIANT_CONDITION.GEN 不変な条件式 INVARIANT_CONDITION.UNREACH 不変な条件式 |
571 |
INVARIANT_CONDITION.GEN 不変な条件式 INVARIANT_CONDITION.UNREACH 不変な条件式 |
590 |
FNH.MIGHT 非ヒープメモリの解放の可能性 FNH.MUST 非ヒープメモリの解放 FUM.GEN.MIGHT 未割り当てメモリの解放の可能性 FUM.GEN.MUST 未割り当てメモリの解放 |
606 |
SV.TAINTED.CALL.LOOP_BOUND 関数呼び出しのループ条件での未検証の整数の使用 SV.TAINTED.LOOP_BOUND ループ条件での未検証の整数の使用 |
611 |
CXX.SV.XXE XMLファイルのパース中にXXE攻撃を招く可能性のある外部エンティティを解決しようとしています。 |
614 |
CXX.SV.INSECURE_COOKIE 安全でないクッキー |
628 |
MISRA.FUNC.UNMATCHED.PARAMS 関数に渡される仮引数と実際のパラメーターの数が一致しません SV.FMT_STR.PRINT_PARAMS_WRONGNUM.FEW print 関数呼び出しの引数が少なすぎます SV.FMT_STR.PRINT_PARAMS_WRONGNUM.MANY print 関数呼び出しの引数が多すぎます SV.FMT_STR.SCAN_PARAMS_WRONGNUM.FEW scan 関数呼び出しの引数が少なすぎます SV.FMT_STR.SCAN_PARAMS_WRONGNUM.MANY scan 関数呼び出しの引数が多すぎます |
665 |
UNINIT.CTOR.MIGHT コンストラクタにおける未初期化の変数の可能性 UNINIT.CTOR.MUST コンストラクタにおける未初期化の変数 UNINIT.HEAP.MIGHT 未初期化のヒープの使用の可能性 UNINIT.HEAP.MUST 未初期化のヒープの使用 UNINIT.STACK.ARRAY.MIGHT 未初期化の配列の可能性 UNINIT.STACK.ARRAY.MUST 未初期化の配列 UNINIT.STACK.ARRAY.PARTIAL.MUST 一部が未初期化の配列 UNINIT.STACK.MIGHT 未初期化の変数の可能性 UNINIT.STACK.MUST 未初期化の変数 |
667 |
CERT.CONC.MUTEX.DESTROY_WHILE_LOCKED ロックされている間はミューテックスを破棄しないでください CONC.DBL_LOCK 二重ロック CONC.DBL_UNLOCK 二重ロック解除 CONC.DL デッドロック CONC.NO_LOCK 変数に欠落しているロック |
672 |
CL.FFM.ASSIGN 解放済みメモリの使用 (二重解放) - operator= が無いため CL.FFM.COPY 解放済みメモリの使用 (二重解放) - コピーコンストラクタが無いため CL.SELF-ASSIGN 解放済みメモリの使用 (二重解放) - operator= CL.SHALLOW.ASSIGN 解放済みメモリの使用 (二重解放) - 演算子 = での浅いコピー CL.SHALLOW.COPY 解放済みメモリの使用 (二重解放) - コピーコンストラクタでの浅いコピー LOCRET.ARG 関数がローカル変数のアドレスを返しています LOCRET.GLOB 関数がローカル変数のアドレスを返しています LOCRET.RET 関数がローカル変数のアドレスを返しています UFM.DEREF.MIGHT 解放済みメモリの逆参照の可能性 UFM.DEREF.MUST 解放済みメモリの逆参照 UFM.FFM.MIGHT 解放済みメモリの使用 (二重解放)の可能性 UFM.FFM.MUST 解放済みメモリの解放 UFM.RETURN.MIGHT 解放済みメモリの戻り値への使用の可能性 UFM.RETURN.MUST 解放済みメモリの戻り値への使用 UFM.USE.MIGHT 解放済みメモリの使用の可能性 UFM.USE.MUST 解放済みメモリの使用 |
676 |
SV.BANNED.RECOMMENDED.ALLOCA 禁止が推奨されているAPI: スタック割り当て関数 SV.BANNED.RECOMMENDED.NUMERIC 禁止が推奨されているAPI: 安全でない数値化関数 SV.BANNED.RECOMMENDED.OEM 禁止が推奨されているAPI: OEM 文字ページ変換関数 SV.BANNED.RECOMMENDED.PATH 禁止が推奨されているAPI: 安全でないパス名操作関数 SV.BANNED.RECOMMENDED.SCANF 禁止が推奨されているAPI: 安全でない scanf 型関数 SV.BANNED.RECOMMENDED.SPRINTF 禁止が推奨されているAPI: 安全でない sprintf 型関数 SV.BANNED.RECOMMENDED.STRLEN 禁止が推奨されているAPI: 安全でない文字列長関数 SV.BANNED.RECOMMENDED.TOKEN 禁止が推奨されているAPI: 安全でないトークン作成関数 SV.BANNED.RECOMMENDED.WINDOW 禁止が推奨されているAPI: 安全でないウィンドウ関数 SV.BANNED.REQUIRED.CONCAT 禁止が必須とされているAPI: 安全でない文字列連結関数 SV.BANNED.REQUIRED.COPY 禁止が必須とされているAPI: 安全でないバッファコピー関数 SV.BANNED.REQUIRED.GETS 禁止が必須とされているAPI: 安全でないストリーム読み取り関数 SV.BANNED.REQUIRED.ISBAD 禁止が必須とされているAPI: IsBad 型関数 SV.BANNED.REQUIRED.SPRINTF 禁止が必須とされているAPI: 安全でない sprintf 型関数 |
681 |
PRECISION.LOSS 精度の損失 PRECISION.LOSS.CALL 関数呼び出し中の精度の損失 PRECISION.LOSS.INIT 初期化中の精度の損失 |
682 |
CWARN.ALIGNMENT 不正確なポインタのスケーリングが使用されています CWARN.BAD.PTR.ARITH 不良なポインタ算術演算 CXX.SIZEOF.CSTRING char* での sizeof の使用は、誤解を招く場合があります INCORRECT.ALLOC_SIZE 不適切な割り当てサイズ MISRA.SHIFT.RANGE シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です MISRA.SIGNED_CHAR.NOT_NUMERIC 数値でない値に 'signed char' または 'unsigned char' が使用されています PORTING.UNSIGNEDCHAR.OVERFLOW.FALSE 'char' 型の符号によっては関係式が常に false になる場合があります |
686 |
SV.FMT_STR.BAD_SCAN_FORMAT 入力書式指定子エラー SV.FMT_STR.PRINT_FORMAT_MISMATCH.BAD 互換性がない print 関数パラメーターの型 SV.FMT_STR.PRINT_FORMAT_MISMATCH.UNDESIRED 予期しない print 関数パラメーターの型 SV.FMT_STR.SCAN_FORMAT_MISMATCH.BAD 互換性がない scan 関数パラメーターの型 SV.FMT_STR.SCAN_FORMAT_MISMATCH.UNDESIRED 予期しない scan 関数パラメーターの型 SV.FMT_STR.SCAN_IMPROP_LENGTH scan 関数呼び出しの長さ修飾子の不適切な使用 SV.FMT_STR.UNKWN_FORMAT print 関数呼び出しの書式指定子が不明です SV.FMT_STR.UNKWN_FORMAT.SCAN scan 関数呼び出しの書式指定子が不明です |
690 |
NPD.FUNC.MIGHT NULL を返す可能性のある関数の戻り値が逆参照される場合があります NPD.FUNC.MUST NULL を返す可能性がある関数の戻り値が逆参照されます |
704 |
MISRA.CAST.CONST キャスト演算により const または volatile がポインターまたは参照から除外されます。 MISRA.CAST.FUNC_PTR.2012 関数を指すポインタと、別の非互換タイプとの間で実行された変換 MISRA.CAST.INCOMPLETE_PTR_TO_ANY.2012 不完全なタイプ を指すポインタと、別のタイプとの間で実行された変換 MISRA.CAST.OBJ_PTR_TO_INT.2012 オブジェクトを指すポインタと、整数タイプとの間で実行された変換 MISRA.CAST.OBJ_PTR_TO_NON_INT.2012 オブジェクトを指すポインタと、非整数算術演算タイプとの間のキャスト MISRA.CAST.OBJ_PTR_TO_OBJ_PTR.2012 オブジェクト タイプを指すポインタと、異なるオブジェクト タイプを指す別のポインタとの間のキャスト MISRA.CAST.VOID_PTR_TO_INT.2012 void を指すポインタと算術演算タイプとの間のキャスト MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012 void ポインタから、オブジェクトを指すポインタに実行された変換 PORTING.CAST.FLTPNT 非浮動小数点タイプへの浮動小数点式のキャスト PORTING.CAST.PTR.FLTPNT 非浮動小数点型のポインタへの浮動小数点式のポインタのキャスト PORTING.CAST.PTR.SIZE サイズに互換性がない可能性がある型への式のキャストの可能性 |
732 |
SV.USAGERULES.PERMISSIONS 特権の昇給の使用 |
754 |
SV.RVT.RETVAL_NOTTESTED 戻り値の無視 |
762 |
FMM.MIGHT メモリの解放の不一致の可能性 FMM.MUST メモリの解放の不一致 |
764 |
CONC.DBL_LOCK 二重ロック |
765 |
CONC.DBL_UNLOCK 二重ロック解除 |
768 |
MISRA.LOGIC.SIDEEFF 論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります MISRA.LOGIC.SIDEEFF.COND 条件式の分岐式に副作用があります |
772 |
RH.LEAK リソースリーク |
783 |
MISRA.EXPR.PARENS.2012 式内の演算子の優先度は明示的にする必要があります。 MISRA.EXPR.PARENS.INSUFFICIENT 式の演算子優先規則に制限された依存性が必要です |
786 |
ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 |
787 |
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.SELF_MAP 関数のマッピングに失敗します ABV.UNKNOWN_SIZE バッファオーバーフロー - 配列インデックスが範囲外 CXX.SUSPICIOUS_INDEX_CHECK 境界チェック後のインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.CALL 境界チェック後の関数呼び出しでのインデックスの不審な使用 CXX.SUSPICIOUS_INDEX_CHECK.ZERO ゼロのインデックスチェック後のインデックスの不審な使用 NNTS.MIGHT バッファオーバーフロー - 非 NULL 終了文字列 NNTS.MUST バッファオーバーフロー - 非 NULL 終了文字列 NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 RABV.CHECK 境界チェック前のインデックスの不審な使用 RN.INDEX 負の値のチェック前のインデックスの使用は問題となる可能性があります SV.FMT_STR.BAD_SCAN_FORMAT 入力書式指定子エラー SV.STRBO.BOUND_SPRINTF バインドされた sprintf でのバッファオーバーフロー SV.STRBO.UNBOUND_SPRINTF バインドされていない sprintf でのバッファオーバーフロー SV.UNBOUND_STRING_INPUT.CIN バインドされていない文字列入力についての cin の使用法 SV.UNBOUND_STRING_INPUT.FUNC バインドされていない文字列入力の使用法 |
788 |
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー SV.TAINTED.CALL.INDEX_ACCESS 関数呼び出し時の配列インデックスとしての未検証の整数の使用 SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 |
798 |
CXX.SV.PWD.PLAIN プレーンな文字列を使用してパスワードを設定しようとしています CXX.SV.PWD.PLAIN.LENGTH 15 文字未満の長さでパスワードを設定しようとしています CXX.SV.PWD.PLAIN.LENGTH.ZERO ゼロ文字の長さでパスワードを設定しようとしています HCC ハードコードされた資格情報の使用 HCC.PWD ハードコードされたパスワードの使用 HCC.USER ハードコードされたユーザー名の使用 |
805 |
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー CXX.SIZEOF.CSTRING char* での sizeof の使用は、誤解を招く場合があります INCORRECT.ALLOC_SIZE 不適切な割り当てサイズ SV.TAINTED.CALL.INDEX_ACCESS 関数呼び出し時の配列インデックスとしての未検証の整数の使用 SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 |
806 |
ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 ABV.TAINTED 未検証の入力によるバッファオーバーフロー ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー ABV.UNICODE.SELF_MAP 関数のマッピングに失敗します |
822 |
SV.TAINTED.CALL.DEREF 未検証ポインターの逆参照 SV.TAINTED.DEREF 未検証ポインターの逆参照 |
832 |
CONC.NO_LOCK 変数に欠落しているロック |
833 |
CONC.DL デッドロック |
835 |
INFINITE_LOOP.GLOBAL 無限ループ INFINITE_LOOP.LOCAL 無限ループ INFINITE_LOOP.MACRO 無限ループ |
843 |
MISRA.CAST.OBJ_PTR_TO_INT.2012 オブジェクトを指すポインタと、整数タイプとの間で実行された変換 |
896 |
ABV.TAINTED 未検証の入力によるバッファオーバーフロー NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 SV.TAINTED.ALLOC_SIZE メモリ割り当て時の未検証の整数の使用 SV.TAINTED.BINOP バイナリ演算での未検証整数値の使用 SV.TAINTED.CALL.BINOP バイナリ演算での未検証整数値の使用 SV.TAINTED.CALL.DEREF 未検証ポインターの逆参照 SV.TAINTED.CALL.INDEX_ACCESS 関数呼び出し時の配列インデックスとしての未検証の整数の使用 SV.TAINTED.CALL.LOOP_BOUND 関数呼び出しのループ条件での未検証の整数の使用 SV.TAINTED.DEREF 未検証ポインターの逆参照 SV.TAINTED.FMTSTR 書式文字列での未検証データの使用 SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 SV.TAINTED.INJECTION コマンドインジェクション SV.TAINTED.LOOP_BOUND ループ条件での未検証の整数の使用 SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 SV.TAINTED.SECURITY_DECISION セキュリティ決定 SV.TAINTED.XSS.REFLECTED クロスサイト スクリプティング脆弱性 |
910 |
SV.INCORRECT_RESOURCE_HANDLING.URH 安全でないリソース処理 |
1037 |
SPECTRE.VARIANT1 予測実行の悪用の可能性 |
1335 |
MISRA.SHIFT.RANGE シフト演算子の右側のオペランドは範囲外 (左側のオペランドの最大ビット長以上か、または負) です |
サポートのサマリー:
- 92 規則
"MISRA"、"MISRA C" および、"MISRA C++" は、The MISRA Consortium Limited の登録商標です。