Klocwork および Klocwork community チェッカーにマッピングされた Automotive Development 向け Hyundai-Kia Motor Corp (HKMC) セキュア C コーディング基準

ガイドライン チェッカー名および説明
C-ARR-001

ABV.ANY_SIZE_ARRAY   バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL   バッファオーバーフロー - 配列インデックスが範囲外

ABV.GENERAL.MULTIDIMENSION   バッファオーバーフロー - 配列インデックスが範囲外

ABV.STACK   バッファオーバーフロー - ローカル配列インデックスが範囲外

ABV.TAINTED   未検証の入力によるバッファオーバーフロー

ABV.UNICODE.BOUND_MAP   文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.FAILED_MAP   関数のマッピングに失敗します

ABV.UNICODE.NNTS_MAP   文字関数のマッピング時のバッファオーバーフロー

ABV.UNICODE.SELF_MAP   関数のマッピングに失敗します

ABV.UNKNOWN_SIZE   バッファオーバーフロー - 配列インデックスが範囲外

NNTS.MIGHT   バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST   バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED   未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

SV.TAINTED.INDEX_ACCESS   配列インデックスとしての未検証の整数の使用

SV.TAINTED.LOOP_BOUND   ループ条件での未検証の整数の使用

C-ARR-003

MISRA.PTR.ARITH   代数式または配列インデックス式でポインタが使用されています

C-ARR-004

MISRA.PTR.ARITH.2012   演算式にポインターが使用されています

C-ARR-006

CERT.ARR.PTR.ARITH   演算式にポインターが使用されています

C-ARR-008

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 でのバッファオーバーフロー

C-ARR-009

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   関数のマッピングに失敗します

C-ARR-010

MISRA.FUNC.UNMATCHED.PARAMS   関数に渡される仮引数と実際のパラメーターの数が一致しません

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_PARAMS_WRONGNUM.FEW   scan 関数呼び出しの引数が少なすぎます

SV.FMT_STR.SCAN_PARAMS_WRONGNUM.MANY   scan 関数呼び出しの引数が多すぎます

C-ARR-011

SV.RVT.RETVAL_NOTTESTED   戻り値の無視

C-CON-004

CERT.CONC.LIB_FUNC_USE   ライブラリ関数の使用時には競合状態を避けてください

C-CON-006

CONC.DL   デッドロック

C-CON-007

CERT.CONC.WAKE_IN_LOOP_C   擬似的にループを起動する可能性のあるラップ関数

C-CON-008

MISRA.STDLIB.SIGNAL   signal.h の信号処理装置の使用

C-CON-009

CERT.CONC.UNSAFE_COND_VAR_C   条件変数の使用時に、スレッドセーフと活性を維持します

C-CON-011

CERT.CONC.ATOMIC_TWICE_EXPR   1 つの式でアトミック変数を 2 回参照しないでください

C-DCI-001

LOCRET.ARG   関数がローカル変数のアドレスを返しています

LOCRET.GLOB   関数がローカル変数のアドレスを返しています

LOCRET.RET   関数がローカル変数のアドレスを返しています

C-DCI-002

MISRA.FUNC.STATIC.REDECL   関数またはオブジェクトの再宣言に 'static' 修飾子がありません

C-DCI-003

MISRA.DEFINE.WRONGNAME.UNDERSCORE   予約名がマクロ名に使用されています

MISRA.STDLIB.WRONGNAME   標準ライブラリのマクロ、オブジェクトまたは関数の名前が再使用されています

MISRA.STDLIB.WRONGNAME.UNDERSCORE   予約名が言語エンティティの名前に使用されています

C-DCI-004

CERT.STRUCT.FLEXIBLE_ARRAY_MEMBER   フレキシブル配列メンバーの宣言時には正しい構文を使用する

C-DCI-005

PORTING.STORAGE.STRUCT   構造の要素のバイト位置が配置属性およびパッケージ属性に依存している可能性があります。

C-DCI-006

MISRA.FUNC.NOPROT.DEF.2012   関数は定義されていますが、プロトタイプがありません

MISRA.FUNC.PARAMS.IDENT   関数の宣言と定義で使用される識別子が一致していません

C-DCI-007

CERT.DCL.SWITCH.VAR_BEFORE_CASE   switch ステートメント内では最初の case ラベルより前で変数を宣言しないでください

C-DCI-009

MISRA.SWITCH.NODEFAULT   switch ステートメントの最後に default 句がありません

C-DCI-010

MISRA.SWITCH.NO_BREAK   switch 句の最後に break ステートメントまたは throw ステートメントがありません

C-DCI-011

MISRA.EXPR.PARENS.2012   式内の演算子の優先度は明示的にする必要があります。

MISRA.EXPR.PARENS.INSUFFICIENT   式の演算子優先規則に制限された依存性が必要です

C-DCI-012

RN.INDEX   負の値のチェック前のインデックスの使用は問題となる可能性があります

C-ENV-001

MISRA.STDLIB.CTYPE.RANGE.2012_AMD1   ctype.h で関数に渡される値はすべて unsigned char として表現できるか、または値 EOF でなければなりません

MISRA.STDLIB.ILLEGAL_REUSE.2012_AMD1   標準ライブラリ関数 asctime または同様の関数によって返されるポインタは、同じ関数の後続の呼び出しに続いては使用しません

MISRA.STDLIB.ILLEGAL_WRITE.2012_AMD1   標準ライブラリ関数 localeconv、getenv、setlocale、または strerror が返すポインターは、必ずそれらが const-qualified 型を指すポインターを持つかのように使用する必要があります。

C-ENV-003

CERT.EXIT.HANDLER_TERMINATE   すべての exit ハンドラーは正常に戻る必要があります

C-ENV-004

MISRA.STDLIB.SYSTEM.2012_AMD2   ライブラリ stdlib.h からの 'system' の使用

C-ERR-001

CXX.ERRNO.INCORRECTLY_CHECKED   ライブラリ関数を呼び出した後に、errno の条件チェックは必要ない

CXX.ERRNO.NOT_CHECKED   ライブラリ関数を呼び出した後に、errno の条件チェックが欠落している

CXX.ERRNO.NOT_SET   ライブラリ関数を呼び出す前に、errno はゼロにリセットされていない

C-ERR-002

SV.RVT.RETVAL_NOTTESTED   戻り値の無視

C-ERR-003

MISRA.STDLIB.ATOI   ライブラリ stdlib.h から 'atof'、'atoi' または 'atol' が使用されています

C-EXP-001

MISRA.FUNC.UNUSEDRET.2012   非 void 関数の戻り値を使用してください

SV.RVT.RETVAL_NOTTESTED   戻り値の無視

C-EXP-002

MISRA.INCR_DECR.OTHER   増分または減分の演算子がその他の演算子と混合して式で使用されています

MISRA.INCR_DECR.SIDEEFF.2012   インクリメント (++) またはデクリメント (--) 演算子を含む完全な式では、インクリメントまたはデクリメント演算子によって生じる以外に他の副作用が存在してはなりません

MISRA.LOGIC.SIDEEFF   論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります

MISRA.SHIFT.RANGE.2012   シフト演算子の右側のオペランドは範囲外です - 左側のオペランドの基本タイプのサイズ以上か、または負

PORTING.VAR.EFFECTS   ある使用法が副次的な影響を受ける式で変数が 2 回使用されています

C-EXP-003

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   未初期化の変数

C-EXP-004

SV.TAINTED.CALL.DEREF   未検証ポインターの逆参照

SV.TAINTED.DEREF   未検証ポインターの逆参照

C-EXP-005

ASSIGCOND.CALL   割り当て条件 (呼び出し)

ASSIGCOND.GEN   割り当て条件

C-EXP-006

EFFECT   ステートメントの影響はありません

C-EXP-007

SV.TAINTED.CALL.LOOP_BOUND   関数呼び出しのループ条件での未検証の整数の使用

SV.TAINTED.LOOP_BOUND   ループ条件での未検証の整数の使用

C-EXP-009

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 チェック前のポインタの逆参照は問題となる可能性があります

C-EXP-010

MISRA.CAST.OBJ_PTR_TO_OBJ_PTR.2012   オブジェクト タイプを指すポインタと、異なるオブジェクト タイプを指す別のポインタとの間のキャスト

MISRA.CAST.PTR.UNRELATED   ポインタ型のオブジェクトを関連のない型にキャストしています

MISRA.CAST.PTR_TO_INT   ポインタと整数型間のキャスト

PORTING.CAST.PTR   両方ともポインタでない型といずれかがポインタでない型間のキャスト

PORTING.CAST.PTR.FLTPNT   非浮動小数点型のポインタへの浮動小数点式のポインタのキャスト

PORTING.CAST.PTR.SIZE   サイズに互換性がない可能性がある型への式のキャストの可能性

C-EXP-011

MISRA.CAST.FUNC_PTR.2012   関数を指すポインタと、別の非互換タイプとの間で実行された変換

MISRA.CAST.INCOMPLETE_PTR_TO_ANY.2012   不完全なタイプ を指すポインタと、別のタイプとの間で実行された変換

MISRA.CAST.OBJ_PTR_TO_NON_INT.2012   オブジェクトを指すポインタと、非整数算術演算タイプとの間のキャスト

MISRA.CAST.OBJ_PTR_TO_OBJ_PTR.2012   オブジェクト タイプを指すポインタと、異なるオブジェクト タイプを指す別のポインタとの間のキャスト

C-EXP-012

CERT.STR.ARG.CONST_TO_NONCONST   const char ポインターを非 const char ポインター引数に渡さないでください

CERT.STR.ASSIGN.CONST_TO_NONCONST   const char ポインターを非 const char ポインターに割り当てないでください

C-EXP-013

CERT.MEMCMP.PADDED_DATA   パディングデータを比較しないでください

C-EXP-014

MISRA.TYPE.RESTRICT.QUAL.2012   restrict 型修飾子は使用しない

C-EXP-015

MISRA.SIZEOF.SIDE_EFFECT   sizeof のオペランドに副作用があります

C-EXP-016

ASSIGCOND.CALL   割り当て条件 (呼び出し)

ASSIGCOND.GEN   割り当て条件

MISRA.ASSIGN.COND   条件内で代入演算子が使用されています

C-EXP-017

MISRA.LOGIC.OPERATOR.NOT_BOOL   論理演算ではない演算子のオペランドが実質的にはブール値です

C-FIO-001

SV.TAINTED.FMTSTR   書式文字列での未検証データの使用

C-FIO-002

CWARN.CMPCHR.EOF   'char' 式と EOF 定数との比較

C-FIO-007

RH.LEAK   リソースリーク

C-FIO-008

SV.FMT_STR.PRINT_FORMAT_MISMATCH.BAD   互換性がない print 関数パラメーターの型

SV.FMT_STR.PRINT_FORMAT_MISMATCH.UNDESIRED   予期しない print 関数パラメーターの型

SV.FMT_STR.PRINT_IMPROP_LENGTH   print 関数呼び出しの長さ修飾子の不適切な使用

SV.FMT_STR.PRINT_PARAMS_WRONGNUM.FEW   print 関数呼び出しの引数が少なすぎます

SV.FMT_STR.PRINT_PARAMS_WRONGNUM.MANY   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.SCAN_PARAMS_WRONGNUM.FEW   scan 関数呼び出しの引数が少なすぎます

SV.FMT_STR.SCAN_PARAMS_WRONGNUM.MANY   scan 関数呼び出しの引数が多すぎます

SV.FMT_STR.UNKWN_FORMAT   print 関数呼び出しの書式指定子が不明です

C-FIO-009

SV.TOCTOU.FILE_ACCESS   ファイル アクセス時の作成日時/使用日時の競合状態

C-FLP-001

MISRA.FOR.COUNTER.FLT   for ループのカウンターが浮動小数点タイプです

C-FLP-002

MISRA.CAST.FLOAT.WIDER   より広い浮動小数点タイプへの浮動小数点式のキャスト

MISRA.CAST.FLOAT_INT   整数型への浮動小数点式のキャスト

MISRA.CAST.INT_FLOAT   浮動小数点タイプへの複合式のキャスト

MISRA.CONV.FLOAT   暗黙的な浮動小数点変換です

C-FLP-003

PORTING.CAST.FLTPNT   非浮動小数点タイプへの浮動小数点式のキャスト

C-INT-001

MISRA.CAST.INT   自明ではない整数式が広い型または別の符号を持つ型にキャストされています

MISRA.CAST.UNSIGNED_BITS   unsigned char または short でのビット演算の結果は元の型にキャストできません

MISRA.CONV.INT.SIGN   暗黙的な整数変換により符号が変わります

MISRA.CVALUE.IMPL.CAST   暗黙の型変換で符号、型サイズ、型の違いにより情報の損失を起こす記述があります。

MISRA.UMINUS.UNSIGNED   単項マイナス演算子が符号なしオペランドに対して使用されています。

PRECISION.LOSS   精度の損失

C-INT-002

NUM.OVERFLOW.DF   起こり得る数値のオーバーフローまたはラップアラウンド

C-INT-003

PRECISION.LOSS   精度の損失

PRECISION.LOSS.CALL   関数呼び出し中の精度の損失

C-INT-004

CWARN.NOEFFECT.OUTOFRANGE   範囲外の値

NUM.OVERFLOW.DF   起こり得る数値のオーバーフローまたはラップアラウンド

C-INT-005

DBZ.CONST   ゼロ定数による除算が発生しました

DBZ.CONST.CALL   値 '0' が除数としてこの値を使用できる関数に渡されます

DBZ.GENERAL   ゼロ除算が発生した可能性があります

DBZ.ITERATOR   ループ反復子でゼロ除算が発生した可能性があります

DBZ.ITERATOR.CALL   関数呼出しでゼロ除算が発生した可能性があります

C-INT-006

MISRA.SHIFT.RANGE.2012   シフト演算子の右側のオペランドは範囲外です - 左側のオペランドの基本タイプのサイズ以上か、または負

C-INT-007

NUM.OVERFLOW   オーバーフローの可能性

NUM.OVERFLOW.DF   起こり得る数値のオーバーフローまたはラップアラウンド

C-INT-008

MISRA.CAST.OBJ_PTR_TO_INT.2012   オブジェクトを指すポインタと、整数タイプとの間で実行された変換

C-INT-009

CXX.SIZEOF.CSTRING   char* での sizeof の使用は、誤解を招く場合があります

INCORRECT.ALLOC_SIZE   不適切な割り当てサイズ

C-MEM-001

UFM.DEREF.MIGHT   解放済みメモリの逆参照の可能性

UFM.DEREF.MUST   解放済みメモリの逆参照

UFM.FFM.MIGHT   解放済みメモリの使用 (二重解放)の可能性

UFM.FFM.MUST   解放済みメモリの解放

UFM.RETURN.MIGHT   解放済みメモリの戻り値への使用の可能性

UFM.RETURN.MUST   解放済みメモリの戻り値への使用

UFM.USE.MIGHT   解放済みメモリの使用の可能性

UFM.USE.MUST   解放済みメモリの使用

C-MEM-002

CL.FFM.ASSIGN   解放済みメモリの使用 (二重解放) - operator= が無いため

CL.FFM.COPY   解放済みメモリの使用 (二重解放) - コピーコンストラクタが無いため

MLK.MIGHT   メモリリークの可能性

MLK.MUST   メモリリーク

MLK.RET.MIGHT   メモリリークの可能性

MLK.RET.MUST   メモリリーク

C-MEM-004

MLK.MIGHT   メモリリークの可能性

MLK.MUST   メモリリーク

MLK.RET.MIGHT   メモリリークの可能性

MLK.RET.MUST   メモリリーク

C-MEM-005

INCORRECT.ALLOC_SIZE   不適切な割り当てサイズ

SV.TAINTED.ALLOC_SIZE   メモリ割り当て時の未検証の整数の使用

C-MEM-007

CXX.REALLOC   realloc() の使用は避けてください

C-MSC-003

CERT.MSC.STD_RAND_CALL   疑似乱数の生成に std::rand() を使用しないでください

C-MSC-004

CERT.MSC.SEED_RANDOM   疑似乱数ジェネレータを適切にシードする

C-MSC-005

CERT.MSC.ASCTIME   asctime() 関数に無効なデータを渡さないでください

C-MSC-006

FUNCRET.GEN   非 void 関数に戻り値がありません

FUNCRET.IMPLICIT   暗黙的に int を返す非 void 関数に戻り値がありません

C-MSC-008

VA.LIST.INDETERMINATE   不定値を持つ va_list に対する va_arg() の呼び出し

C-MSC-010

CXX.GETLOGIN   マルチスレッドアプリケーションで getlogin を使用しないでください

C-MSC-013

RCA   危険な暗号化アルゴリズムが使用されています

C-MSC-014

SV.WEAK_CRYPTO.WEAK_HASH   弱ハッシュ関数

C-MSC-015

CERT.MSC.SEED_RANDOM   疑似乱数ジェネレータを適切にシードする

C-POS-002

CXX.POSIX.VFORK   vfork() を使用しないでください

C-POS-003

CERT.PUTENV.AUTO_VARIABLE   自動変数へのポインターを引数として putenv() を呼び出さないでください

CXX.PUTENV.LOCAL.PTR   putenv() でポインターをローカル変数に渡さないでください

C-POS-005

BYTEORDER.HTON.SEND   ホストバイトオーダーからネットワークバイトオーダーの変換が欠落しています

BYTEORDER.HTON.WRITE   ホストバイトオーダーからネットワークバイトオーダーの変換が欠落しています

BYTEORDER.NTOH.READ   ネットワークバイトオーダーからホストバイトオーダーの変換が欠落しています

BYTEORDER.NTOH.RECV   ネットワークバイトオーダーからホストバイトオーダーの変換が欠落しています

C-POS-006

MISRA.INCL.SIGNAL.2012   標準ヘッダーファイル signal.h は使用しない

C-POS-008

SV.RVT.RETVAL_NOTTESTED   戻り値の無視

C-POS-009

CONC.DBL_LOCK   二重ロック

CONC.DBL_UNLOCK   二重ロック解除

CONC.DL   デッドロック

CONC.NO_UNLOCK   変数のロック解除の欠落

C-POS-011

MISRA.IF.NO_COMPOUND   if/else ステートメントのボディが複合ステートメントではありません

C-POS-012

CWARN.NOEFFECT.SELF_ASSIGN   変数は自身に割り当てられます

CWARN.NOEFFECT.UCMP.GE   符号なし値と 0 との比較は、常に true になります

CWARN.NOEFFECT.UCMP.GE.MACRO   マクロ内で符号なし値と 0 との比較は、常に true になります

CWARN.NOEFFECT.UCMP.LT   符号なし値と 0 との比較は、常に false になります

CWARN.NOEFFECT.UCMP.LT.MACRO   マクロ内で符号なし値と 0 との比較は、常に false になります

CWARN.NULLCHECK.FUNCNAME   関数アドレスが 0 と直接比較されます

EFFECT   ステートメントの影響はありません

INVARIANT_CONDITION.GEN   不変な条件式

INVARIANT_CONDITION.UNREACH   不変な条件式

LA_UNUSED   ラベルが使用されていません

MISRA.STMT.NO_EFFECT   そのステートメントは副作用がなく、制御フローを変更しません

UNREACH.GEN   到達不能コード

UNREACH.RETURN   到達不能な void return文

UNREACH.SIZEOF   アーキテクチャに関連した到達不能コード

VA_UNUSED.GEN   値を割り当て後に使用しません

VA_UNUSED.INIT   値を初期化後に使用しません

C-PRE-002

PORTING.VAR.EFFECTS   ある使用法が副次的な影響を受ける式で変数が 2 回使用されています

C-PRE-003

MISRA.EXPANSION.DIRECTIVE   マクロの引数内にディレクティブのようなトークンがあります

C-STR-001

CERT.STR.ARG.CONST_TO_NONCONST   const char ポインターを非 const char ポインター引数に渡さないでください

CERT.STR.ASSIGN.CONST_TO_NONCONST   const char ポインターを非 const char ポインターに割り当てないでください

C-STR-002

NNTS.MIGHT   バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST   バッファオーバーフロー - 非 NULL 終了文字列

SV.FMT_STR.BAD_SCAN_FORMAT   入力書式指定子エラー

SV.UNBOUND_STRING_INPUT.FUNC   バインドされていない文字列入力の使用法

C-STR-003

NNTS.MIGHT   バッファオーバーフロー - 非 NULL 終了文字列

NNTS.MUST   バッファオーバーフロー - 非 NULL 終了文字列

NNTS.TAINTED   未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列

SV.STRBO.BOUND_COPY.UNTERM   次の文字列演算でバッファオーバーフローの可能性があります

C-STR-004

AUTOSAR.STDLIB.CCTYPE.UCHAR   <cctype> で定義される文字処理関数の引数は、unsigned char として表現できなければなりません

MISRA.ETYPE.ASSIGN.2012   より狭い基本タイプ、または、異なる基本タイプカテゴリーのオブジェクトへの割り当て

C-STR-005

CXX.DIFF.WIDTH.STR_AND_FUNC   関数の呼び出し時にナロー文字列とワイド文字列の間で暗黙のキャストが行われます

C-STR-006

CXX.MALLOC.WCHAR_LENGTH   wchar_t バッファの場合、malloc でメモリを割り当てるときに (wsclen()+1*sizeof(wchar_t)) を使用します

"MISRA"、"MISRA C" および、"MISRA C++" は、The MISRA Consortium Limited の登録商標です。​