MISRA C:2012 (改訂 1) チェッカーリファレンス - 認証対象

これらのチェッカーでは、MISRA C:2012 規格の違反を検出します。

注記:

MISRA C:2012 C90

チェッカー名 説明 ガイドライン バージョン
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 21.17 21.18 Dir. 4.1 Pre-2020.1
ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 18.1 21.17 21.18 Dir. 4.1 Pre-2020.1
ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 18.1 21.17 21.18 Dir. 4.1 2022.3
ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 Dir. 4.1 Pre-2020.1
ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 21.17 21.18 Dir. 4.1 Pre-2020.1
ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 18.1 21.17 21.18 Dir. 4.1 Pre-2020.1
ABV.TAINTED 未検証の入力によるバッファオーバーフロー Dir. 4.14 Pre-2020.1
ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー Dir. 4.1 Pre-2020.1
ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します Dir. 4.1 Pre-2020.1
ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー Dir. 4.1 Pre-2020.1
ABV.UNICODE.SELF_MAP 関数のマッピングに失敗します Dir. 4.1 Pre-2020.1
ABV.UNKNOWN_SIZE バッファオーバーフロー - 配列インデックスが範囲外 21.17 21.18 Dir. 4.1 Pre-2020.1
CXX.ERRNO.INCORRECTLY_CHECKED ライブラリ関数を呼び出した後に、errno の条件チェックは必要ない 22.10 2021.2
CXX.ERRNO.NOT_CHECKED ライブラリ関数を呼び出した後に、errno の条件チェックが欠落している 22.9 2021.2
CXX.ERRNO.NOT_SET ライブラリ関数を呼び出す前に、errno はゼロにリセットされていない 22.8 2021.2
DBZ.CONST ゼロ定数による除算が発生しました Dir. 4.1 2020.2
DBZ.CONST.CALL 値 '0' が除数としてこの値を使用できる関数に渡されます Dir. 4.1 Pre-2020.1
DBZ.GENERAL ゼロ除算が発生した可能性があります Dir. 4.1 2023.1
DBZ.ITERATOR ループ反復子でゼロ除算が発生した可能性があります Dir. 4.1 Pre-2020.1
DBZ.ITERATOR.CALL 関数呼出しでゼロ除算が発生した可能性があります Dir. 4.1 Pre-2020.1
EFFECT ステートメントの影響はありません 2.2 Pre-2020.1
FMM.MIGHT メモリの解放の不一致の可能性 22.2 Pre-2020.1
FMM.MUST メモリの解放の不一致 22.2 Pre-2020.1
FNH.MIGHT 非ヒープメモリの解放の可能性 22.2 Pre-2020.1
FNH.MUST 非ヒープメモリの解放 22.2 Pre-2020.1
FREE.INCONSISTENT メモリの解放が矛盾しています 22.1 Pre-2020.1
FUM.GEN.MIGHT 未割り当てメモリの解放の可能性 22.2 Pre-2020.1
FUM.GEN.MUST 未割り当てメモリの解放 22.2 Pre-2020.1
FUNCRET.GEN 非 void 関数に戻り値がありません 17.4 Pre-2020.1
FUNCRET.IMPLICIT 暗黙的に int を返す非 void 関数に戻り値がありません 17.4 Pre-2020.1
INVARIANT_CONDITION.GEN 不変な条件式 14.3 2020.1
INVARIANT_CONDITION.UNREACH 不変な条件式 14.3 Pre-2020.1
LA_UNUSED ラベルが使用されていません 2.6 Pre-2020.1
LOCRET.ARG 関数がローカル変数のアドレスを返しています 18.6 Pre-2020.1
LOCRET.GLOB 関数がローカル変数のアドレスを返しています 18.6 Pre-2020.1
LOCRET.RET 関数がローカル変数のアドレスを返しています 18.6 Pre-2020.1
LV_UNUSED.GEN ローカル変数は使用されません 2.2 2020.3
MISRA.ASM.ENCAPS アセンブリ言語が分離されていません Dir. 4.2 Dir. 4.3 Pre-2020.1
MISRA.ASSIGN.OVERLAP オブジェクトがオーバーラップするオブジェクトに割り当てられています 19.1 2022.3
MISRA.ASSIGN.SUBEXPR.2012 代入演算子の結果が使用されます 13.4 Pre-2020.1
MISRA.BITFIELD.SIGNED 名前付きの符号付きビットフィールドの長さが 2 未満です 6.2 Pre-2020.1
MISRA.BITFIELD.TYPE ビットフィールドのタイプは、符号付き/符号なし整数のいずれでもありません 6.1 Pre-2020.1
MISRA.BREAK_OR_GOTO.MULTIPLE.2012 反復ステートメントに複数の break または for ループ終端への複数の goto があります 15.4 Pre-2020.1
MISRA.BUILTIN_NUMERIC 組み込み数値型が使用されています Dir. 4.6 Pre-2020.1
MISRA.CAST.CONST キャスト演算により const または volatile がポインターまたは参照から除外されます。 11.8 Pre-2020.1
MISRA.CAST.FUNC_PTR.2012 関数を指すポインタと、別の非互換タイプとの間で実行された変換 11.1 Pre-2020.1
MISRA.CAST.INCOMPLETE_PTR_TO_ANY.2012 不完全なタイプ を指すポインタと、別のタイプとの間で実行された変換 11.2 Pre-2020.1
MISRA.CAST.OBJ_PTR_TO_INT.2012 オブジェクトを指すポインタと、整数タイプとの間で実行された変換 11.4 Pre-2020.1
MISRA.CAST.OBJ_PTR_TO_NON_INT.2012 オブジェクトを指すポインタと、非整数算術演算タイプとの間のキャスト 11.7 Pre-2020.1
MISRA.CAST.OBJ_PTR_TO_OBJ_PTR.2012 オブジェクト タイプを指すポインタと、異なるオブジェクト タイプを指す別のポインタとの間のキャスト 11.3 Pre-2020.1
MISRA.CAST.VOID_PTR_TO_INT.2012 void を指すポインタと算術演算タイプとの間のキャスト 11.6 2021.2
MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012 void ポインタから、オブジェクトを指すポインタに実行された変換 11.5 Pre-2020.1
MISRA.CHAR.TRIGRAPH 3 文字表記の使用 4.2 Pre-2020.1
MISRA.COMMA カンマ演算子が使用されています 12.3 Pre-2020.1
MISRA.COMP.WRAPAROUND 条件内でラップアラウンドしています 12.4 2020.3
MISRA.CT.UNIQUE.ID.2012 識別子がタグ名と不整合です 5.7 2021.2
MISRA.DECL.ARRAY_SIZE 配列の宣言でサイズが不明です 8.11 Pre-2020.1
MISRA.DECL.NO_TYPE 宣言から型が抜けています 8.1 Pre-2020.1
MISRA.DEFINE.FUNC マクロが関数のように定義されています Dir. 4.9 Pre-2020.1
MISRA.DEFINE.NOT_DISTINCT.C90.2012 識別子名が長すぎます 5.4 Pre-2020.1
MISRA.DEFINE.SHARP マクロ定義に # 演算子または ## 演算子が使用されています 20.10 Pre-2020.1
MISRA.DEFINE.SHARP.ORDER.2012 複数の '#' または '##' の評価の順番が指定されていません 20.11 2020.4
MISRA.DEFINE.SHARP.REPLACE.2012 それ自身さらなるマクロ置換の影響を受ける、'#' または '##' 演算子のオペランドとして使用されるマクロパラメーターは、これらの演算子のオペランドとしてのみ使用される。 20.12 Pre-2020.1
MISRA.DEFINE.WRONGNAME 標準ライブラリからの名前がマクロ名に使用されています 21.1 Pre-2020.1
MISRA.DEFINE.WRONGNAME.C90.2012 マクロはキーワードと同じ名前で定義してはなりません 20.4 Pre-2020.1
MISRA.DEFINE.WRONGNAME.UNDERSCORE 予約名がマクロ名に使用されています 21.1 Pre-2020.1
MISRA.ELIF.COND.NOT_BOOL.2012 #elif 条件が 0 または 1 ではありません 20.8 Pre-2020.1
MISRA.ELIF.OTHERFILE 不適切なファイルでの #elif 20.14 Pre-2020.1
MISRA.ELIF.UNDEF #elif ディレクティブでマクロが定義されていません 20.9 Pre-2020.1
MISRA.ELSE.OTHERFILE 不適切なファイルでの #else 20.14 Pre-2020.1
MISRA.ENDIF.OTHERFILE 不適切なファイルでの #endif 20.14 Pre-2020.1
MISRA.ENUM.IMPLICIT.VAL.NON_UNIQUE.2012 暗黙的列挙子値は一意ではありません 8.12 Pre-2020.1
MISRA.ETYPE.ASSIGN.2012 より狭い基本タイプ、または、異なる基本タイプカテゴリーのオブジェクトへの割り当て 10.3 2020.3
MISRA.ETYPE.CATEGORY.DIFFERENT.2012 通常の算術演算変換が実行される演算子のオペランドに、同じ基本タイプカテゴリーがありません。 10.4 2021.2
MISRA.ETYPE.COMP.ASSIGN.2012 複合式の値は、より広い基本タイプを持つオブジェクトに割り当てられました。 10.6 2021.3
MISRA.ETYPE.COMP.CAST.EXPL.DIFFERENT.2012 複合式の値は、異なる基本タイプカテゴリーへのキャストです 10.8 Pre-2020.1
MISRA.ETYPE.COMP.CAST.EXPL.WIDER.2012 複合式の値は、より広い基本タイプへのキャストです 10.8 Pre-2020.1
MISRA.ETYPE.COMP.CAST.IMPL.WIDER.2012 通常の算術演算変換が実行される演算子のオペランドとして使用される複合式には、より広い基本タイプを持つ他のオペランドがあります。 10.7 Pre-2020.1
MISRA.ETYPE.INAPPR.CAST.2012 式の値は、不適切な基本タイプへのキャストです 10.5 Pre-2020.1
MISRA.ETYPE.INAPPR.CHAR.2012 加算または減算演算で、基本的な文字タイプの不適切な使用法。 10.2 Pre-2020.1
MISRA.ETYPE.INAPPR.OPERAND.BINOP.2012 バイナリ演算子へのオペランドには、不適切な基本タイプがあります 10.1 Pre-2020.1
MISRA.ETYPE.INAPPR.OPERAND.INDEXPR.2012 インデックス式に、不適切な基本タイプがあります 10.1 Pre-2020.1
MISRA.ETYPE.INAPPR.OPERAND.TERNOP.2012 三項演算子への最初のオペランドには、不適切な基本タイプがあります 10.1 Pre-2020.1
MISRA.ETYPE.INAPPR.OPERAND.UNOP.2012 単項演算子へのオペランドには、不適切な基本タイプがあります 10.1 Pre-2020.1
MISRA.EXPANSION.DIRECTIVE マクロの引数内にディレクティブのようなトークンがあります 20.6 Pre-2020.1
MISRA.EXPR.PARENS.2012 式内の演算子の優先度は明示的にする必要があります。 12.1 Pre-2020.1
MISRA.EXPR.PARENS.SIZEOF.2012 sizeof 演算子のオペランドは括弧に入れる必要があります。 12.1 Pre-2020.1
MISRA.EXPR.SIZEOF.ARRAY_PARAM.2012_AMD1 sizeof 演算子に「配列型」として宣言された関数パラメータとなっているオペランドが含まれています。 12.5 Pre-2020.1
MISRA.FILE_PTR.DEREF.2012 FILE オブジェクトへのポインターは逆参照してはなりません 22.5 2022.1
MISRA.FILE_PTR.DEREF.CAST.2012 オブジェクトは FILE ポインターにキャストされており、これを逆参照してはなりません。 22.5 Pre-2020.1
MISRA.FILE_PTR.DEREF.INDIRECT.2012 FILE オブジェクトへのポインターは、システム関数で間接的に逆参照してはなりません 22.5 Pre-2020.1
MISRA.FILE_PTR.DEREF.RETURN.2012 FILE オブジェクト(関数の戻り値)へのポインターは逆参照してはなりません 22.5 Pre-2020.1
MISRA.FOR.COUNTER.FLT for ループのカウンターが浮動小数点タイプです 14.1 Pre-2020.1
MISRA.FUNC.MODIFIEDPAR.2012 関数パラメーターは変更してはなりません 17.8 Pre-2020.1
MISRA.FUNC.NODECL.CALL.2012 関数は暗黙的に宣言されました 17.3 Pre-2020.1
MISRA.FUNC.NOPROT.DEF.2012 関数は定義されていますが、プロトタイプがありません 8.4 Pre-2020.1
MISRA.FUNC.NO_PARAMS パラメーターのない関数に void パラメータータイプがありません 8.2 Pre-2020.1
MISRA.FUNC.PROT_FORM.KR.2012 関数タイプはプロトタイプ形式です 8.2 Pre-2020.1
MISRA.FUNC.RECUR 再帰関数 17.2 Pre-2020.1
MISRA.FUNC.STATIC.REDECL 関数またはオブジェクトの再宣言に 'static' 修飾子がありません 8.8 Pre-2020.1
MISRA.FUNC.UNMATCHED.PARAMS 関数に渡される仮引数と実際のパラメーターの数が一致しません 8.2 Pre-2020.1
MISRA.FUNC.UNNAMED.PARAMS 関数の宣言に名前のないパラメーターがあります 8.2 2022.4
MISRA.FUNC.UNUSEDPAR.2012 関数に未使用のパラメーターがあります 2.7 Pre-2020.1
MISRA.FUNC.UNUSEDRET.2012 非 void 関数の戻り値を使用してください 17.7 Pre-2020.1
MISRA.FUNC.VARARG 関数が可変数の引数を持っています 17.1 Pre-2020.1
MISRA.GOTO goto ステートメントが使用されています 15.1 Pre-2020.1
MISRA.GOTO.AFTER_LABEL.2012 Goto は、同じ関数で前に宣言されたラベルにジャンプします。 15.2 Pre-2020.1
MISRA.GOTO.NESTED.2012 goto に参照されたラベルは、このブロック、または、それを囲むブロックの中にありません。 15.3 Pre-2020.1
MISRA.IDENT.DISTINCT.C90.2012 同一のスコープまたは同一の名前空間で宣言された識別子が区別されていません 5.2 Pre-2020.1
MISRA.IDENT.NONUNIQUE.EXTERNAL.2012 外部リンクを持つオブジェクトまたは関数を定義する識別子は一意でなければなりません。 5.8 Pre-2020.1
MISRA.IDENT.NONUNIQUE.INTERNAL.2012 内部リンクを持つオブジェクトまたは関数を定義する識別子は一意でなければなりません。 5.9 Pre-2020.1
MISRA.IF.COND.NOT_BOOL.2012 #if 条件が 0 または 1 ではありません 20.8 Pre-2020.1
MISRA.IF.NO_COMPOUND if/else ステートメントのボディが複合ステートメントではありません 15.6 Pre-2020.1
MISRA.IF.NO_ELSE if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています 15.7 Pre-2020.1
MISRA.IF.UNDEF #if ディレクティブでマクロが定義されていません 20.9 Pre-2020.1
MISRA.INCGUARD インクルードガードが入力されていません Dir. 4.10 Pre-2020.1
MISRA.INCL.BAD 非標準の include ディレクティブです 20.3 2020.4
MISRA.INCL.INSIDE include ディレクティブの前にプリプロセッサ出力トークンがあります 20.1 Pre-2020.1
MISRA.INCL.SIGNAL.2012 標準ヘッダーファイル signal.h は使用しない 21.5 Pre-2020.1
MISRA.INCL.STDIO.2012 標準ヘッダーファイル stdio.h は使用しない 21.6 Pre-2020.1
MISRA.INCL.SYMS ヘッダーファイル名に非標準文字が使用されています 20.2 Pre-2020.1
MISRA.INCL.TIME.2012 標準ヘッダーファイル time.h は使用しない 21.10 Pre-2020.1
MISRA.INCR_DECR.SIDEEFF.2012 インクリメント (++) またはデクリメント (--) 演算子を含む完全な式では、インクリメントまたはデクリメント演算子によって生じる以外に他の副作用が存在してはなりません 13.3 Pre-2020.1
MISRA.INIT.BRACES.2012 集計または共用体の初期化子が波括弧で囲まれていません 9.2 Pre-2020.1
MISRA.INIT.PARTIAL.2012 配列が部分的に初期化されています 9.3 Pre-2020.1
MISRA.LANG.EXTENSIONS 言語拡張は使用するべきではありません 1.2 2022.4
MISRA.LITERAL.NULL.PTR.CONST.2012 マクロ NULL は、唯一許可された整数 null ポインター定数のフォームです。 11.9 2020.2
MISRA.LITERAL.UNSIGNED.SUFFIX 'U' 添え字の付かない符号なし整数リテラルです 7.2 Pre-2020.1
MISRA.LOGIC.SIDEEFF 論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります 13.5 Pre-2020.1
MISRA.MEMB.FLEX_ARRAY.2012 柔軟な配列メンバーは宣言しないでください 18.7 Pre-2020.1
MISRA.PPARAM.NEEDS.CONST ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません 8.13 Pre-2020.1
MISRA.PTR.ARITH.2012 演算式にポインターが使用されています 18.4 Pre-2020.1
MISRA.PTR.ARITH.NOT_SAME.2012 ポインターオペランドの計算から得られるポインターは、そのポインターオペランドと同じ配列の要素をアドレス指定します 18.1 2020.2
MISRA.PTR.CMP.2008 比較演算子を使用したポインターの比較は、同じ配列を指していて、範囲内にある場合にのみ適用されます 18.3 2022.1
MISRA.PTR.CMP.OBJECT.2008 比較演算子を使用したポインターの比較は、同じオブジェクトを指しており、範囲内である場合にのみ適用されます 18.3 2022.1
MISRA.PTR.SUB ポインターの減算は、同じ配列を指している場合にのみ適用されます 18.2 2022.4
MISRA.PTR.SUB.OBJECT ポインターの減算は、同じオブジェクトを指している場合にのみ適用されます 18.2 2022.4
MISRA.PTR.TO_PTR_TO_PTR ポインタ宣言に 2 つ以上のレベルの間接指定があります 18.5 Pre-2020.1
MISRA.RESOURCES.FILE.OPEN_READ_WRITE.2012 同じファイルに対して複数のストリームが開かれています 22.3 2023.1
MISRA.RESOURCES.FILE.READ_ONLY_WRITE.2012 読み取り専用として開かれたストリームに書き込んではなりません 22.4 Pre-2020.1
MISRA.RESOURCES.FILE.USE_AFTER_CLOSE.2012 FILE を指し示すポインターの値は、関連するストリームが閉じられたあとは使用しないでください 22.6 Pre-2020.1
MISRA.RETURN.NOT_LAST 関数内で return が最後のステートメントになっていません 15.5 Pre-2020.1
MISRA.SHIFT.RANGE.2012 シフト演算子の右側のオペランドは範囲外です - 左側のオペランドの基本タイプのサイズ以上か、または負 12.2 Pre-2020.1
MISRA.SIZEOF.SIDE_EFFECT sizeof のオペランドに副作用があります 13.6 Pre-2020.1
MISRA.STDLIB.ABORT.2012_AMD1 ライブラリ stdlib.h の 'abort'、'exit'、または 'system' の使用 21.8 Pre-2020.1
MISRA.STDLIB.ATOI ライブラリ stdlib.h から 'atof'、'atoi' または 'atol' が使用されています 21.7 Pre-2020.1
MISRA.STDLIB.BSEARCH.2012 ライブラリ stdlib.h の 'bsearch' または 'qsort' が使用されています 21.9 Pre-2020.1
MISRA.STDLIB.CTYPE.RANGE.2012_AMD1 ctype.h で関数に渡される値はすべて unsigned char として表現できるか、または値 EOF でなければなりません 21.13 Pre-2020.1
MISRA.STDLIB.ILLEGAL_REUSE.2012_AMD1 標準ライブラリ関数 asctime または同様の関数によって返されるポインタは、同じ関数の後続の呼び出しに続いては使用しません 21.20 Pre-2020.1
MISRA.STDLIB.ILLEGAL_WRITE.2012_AMD1 標準ライブラリ関数 localeconv、getenv、setlocale、または strerror が返すポインターは、必ずそれらが const-qualified 型を指すポインターを持つかのように使用する必要があります。 21.19 Pre-2020.1
MISRA.STDLIB.INCOMPAT_ARGS.2012_AMD1 Memcpy、memmove、または memcmp へのポインタ引数は互換性のある型へのポインタではありません 21.15 Pre-2020.1
MISRA.STDLIB.LONGJMP setjmp マクロまたは longjmp 関数の使用 21.4 Pre-2020.1
MISRA.STDLIB.MEMORY 動的ヒープメモリ割り当ての使用 21.3 Pre-2020.1
MISRA.STDLIB.SIGNAL signal.h の信号処理装置の使用 21.5 Pre-2020.1
MISRA.STDLIB.STDIO プロダクションコードで入力/出力ライブラリ stdio.h が使用されています 21.6 Pre-2020.1
MISRA.STDLIB.TIME ライブラリ time.h の時間処理関数の使用 21.10 Pre-2020.1
MISRA.STDLIB.WRONGNAME 標準ライブラリのマクロ、オブジェクトまたは関数の名前が再使用されています 21.2 Pre-2020.1
MISRA.STDLIB.WRONGNAME.UNDERSCORE 予約名が言語エンティティの名前に使用されています 21.2 Pre-2020.1
MISRA.STMT.COND.NOT_BOOLEAN.2012 'if' ステートメントまたは 'loop' ステートメントの制御式が 'Essentially Boolean' 型ではありません 14.4 Pre-2020.1
MISRA.STMT.NO_COMPOUND switch、while、do/while または for ステートメントのボディが複合ステートメントではありません 15.6 Pre-2020.1
MISRA.STRING_LITERAL.NON_CONST.2012 オブジェクトの種類が const-qualified char のポインターでない限り、文字列リテラルはオブジェクトに割り当てられません 7.4 Pre-2020.1
MISRA.SWITCH.COND.BOOL.2012 switch 文は基本的にブールデータ型を有しているべきではありません。 16.7 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.2012 すべての switch ステートメントは形式が適切である必要があります。 16.1 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.BREAK.2012 条件なしの break ステートメントで各 switch 句を終了するべきです。 16.3 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.DEFAULT.2012 各 switch ステートメントはデフォルトラベルを有するべきです。 16.4 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.DEFAULT.FIRST_OR_LAST.2012 デフォルトのラベルが switch ステートメントの最初または最後の switch ラベルのいずれかとして表示されるべきです。 16.5 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.NESTED_LABEL.2012 switch ラベルは、最も近くで囲い込む複合ステートメントが switch ステートメントの本文の場合にのみ使用されます。 16.2 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.TWO_CLAUSES.2012 各 switch ステートメントは少なくとも 2 つの switch 句を有するべきです。 16.6 Pre-2020.1
MISRA.TOKEN.BADCOM コメントに不適切な文字列があります 3.1 Pre-2020.1
MISRA.TOKEN.L.SUFFIX.FLOAT 浮動小数点定数では、小文字 "l" 接尾辞を使用 7.3 Pre-2020.1
MISRA.TOKEN.L.SUFFIX.INT 整数定数では、小文字 "l" 接尾辞を使用 7.3 Pre-2020.1
MISRA.TOKEN.OCTAL.INT 8 進数の整数定数を使用しています 7.1 2020.4
MISRA.TOKEN.UNTERMINATED.ESCAPE.2012 文字列リテラルに終端されていないエスケープシーケンスがあります 4.1 Pre-2020.1
MISRA.TYPEDEF.NOT_UNIQUE Typedef 名がその他のエンティティ用に使用されています 5.6 Pre-2020.1
MISRA.UNDEF 定義のない使用です 20.5 Pre-2020.1
MISRA.UNDEF.WRONGNAME 標準ライブラリからの名前が定義されていません 21.1 Pre-2020.1
MISRA.UNDEF.WRONGNAME.UNDERSCORE 予約名が定義されていません 21.1 Pre-2020.1
MISRA.UNION 和集合が使用されています 19.2 Pre-2020.1
MISRA.USE.UNKNOWNDIR 不明なプリプロセッサディレクティブが使用されています 20.13 Pre-2020.1
MISRA.VAR.HIDDEN 内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています 5.3 2020.2
MLK.MIGHT メモリリークの可能性 22.1 Pre-2020.1
MLK.MUST メモリリーク 22.1 2020.1
MLK.RET.MIGHT メモリリークの可能性 22.1 Pre-2020.1
MLK.RET.MUST メモリリーク 22.1 Pre-2020.1
NNTS.MIGHT バッファオーバーフロー - 非 NULL 終了文字列 21.17 Pre-2020.1
NNTS.MUST バッファオーバーフロー - 非 NULL 終了文字列 21.17 Pre-2020.1
NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 Dir. 4.14 Pre-2020.1
NUM.OVERFLOW.DF 起こり得る数値のオーバーフローまたはラップアラウンド Dir. 4.1 2022.3
PORTING.VAR.EFFECTS ある使用法が副次的な影響を受ける式で変数が 2 回使用されています 13.2 Pre-2020.1
RH.LEAK リソースリーク 22.1 2020.1
SV.RVT.RETVAL_NOTTESTED 戻り値の無視 Dir. 4.7 2021.2
SV.TAINTED.ALLOC_SIZE メモリ割り当て時の未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.BINOP バイナリ演算での未検証整数値の使用 Dir. 4.14 2021.2
SV.TAINTED.CALL.BINOP バイナリ演算での未検証整数値の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.CALL.DEREF 未検証ポインターの逆参照 Dir. 4.14 Pre-2020.1
SV.TAINTED.CALL.INDEX_ACCESS 関数呼び出し時の配列インデックスとしての未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.CALL.LOOP_BOUND 関数呼び出しのループ条件での未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.DEREF 未検証ポインターの逆参照 Dir. 4.14 Pre-2020.1
SV.TAINTED.FMTSTR 書式文字列での未検証データの使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.INJECTION コマンドインジェクション Dir. 4.14 Pre-2020.1
SV.TAINTED.LOOP_BOUND ループ条件での未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.SECURITY_DECISION セキュリティ決定 Dir. 4.14 Pre-2020.1
UNINIT.CTOR.MIGHT コンストラクタにおける未初期化の変数の可能性 Dir. 4.1 Pre-2020.1
UNINIT.CTOR.MUST コンストラクタにおける未初期化の変数 Dir. 4.1 2020.1
UNINIT.HEAP.MIGHT 未初期化のヒープの使用の可能性 9.1 Dir. 4.1 Pre-2020.1
UNINIT.HEAP.MUST 未初期化のヒープの使用 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.ARRAY.MIGHT 未初期化の配列の可能性 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.ARRAY.MUST 未初期化の配列 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.ARRAY.PARTIAL.MUST 一部が未初期化の配列 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.MIGHT 未初期化の変数の可能性 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.MUST 未初期化の変数 9.1 Dir. 4.1 Pre-2020.1
UNREACH.ENUM enum が取りうる値が原因で、コードは到達不能になっています 2.1 2021.3
UNREACH.GEN 到達不能コード 2.1 Pre-2020.1
UNREACH.RETURN 到達不能な void return文 2.1 Pre-2020.1
VA_UNUSED.GEN 値を割り当て後に使用しません 2.2 Pre-2020.1
VA_UNUSED.INIT 値を初期化後に使用しません 2.2 Pre-2020.1

MISRA C:2012 C99

チェッカー名 説明 ガイドライン バージョン
ABV.ANY_SIZE_ARRAY バッファオーバーフロー - 配列インデックスが範囲外 21.17 21.18 Dir. 4.1 Pre-2020.1
ABV.GENERAL バッファオーバーフロー - 配列インデックスが範囲外 18.1 21.17 21.18 Dir. 4.1 Pre-2020.1
ABV.GENERAL.MULTIDIMENSION バッファオーバーフロー - 配列インデックスが範囲外 18.1 21.17 21.18 Dir. 4.1 2022.3
ABV.ITERATOR バッファオーバーフロー - 配列インデックスが範囲外の可能性 Dir. 4.1 Pre-2020.1
ABV.MEMBER バッファオーバーフロー - 配列インデックスが範囲外 21.17 21.18 Dir. 4.1 Pre-2020.1
ABV.STACK バッファオーバーフロー - ローカル配列インデックスが範囲外 18.1 21.17 21.18 Dir. 4.1 Pre-2020.1
ABV.TAINTED 未検証の入力によるバッファオーバーフロー Dir. 4.14 Pre-2020.1
ABV.UNICODE.BOUND_MAP 文字関数のマッピング時のバッファオーバーフロー Dir. 4.1 Pre-2020.1
ABV.UNICODE.FAILED_MAP 関数のマッピングに失敗します Dir. 4.1 Pre-2020.1
ABV.UNICODE.NNTS_MAP 文字関数のマッピング時のバッファオーバーフロー Dir. 4.1 Pre-2020.1
ABV.UNICODE.SELF_MAP 関数のマッピングに失敗します Dir. 4.1 Pre-2020.1
ABV.UNKNOWN_SIZE バッファオーバーフロー - 配列インデックスが範囲外 21.17 21.18 Dir. 4.1 Pre-2020.1
CXX.ERRNO.INCORRECTLY_CHECKED ライブラリ関数を呼び出した後に、errno の条件チェックは必要ない 22.10 2021.2
CXX.ERRNO.NOT_CHECKED ライブラリ関数を呼び出した後に、errno の条件チェックが欠落している 22.9 2021.2
CXX.ERRNO.NOT_SET ライブラリ関数を呼び出す前に、errno はゼロにリセットされていない 22.8 2021.2
DBZ.CONST ゼロ定数による除算が発生しました Dir. 4.1 2020.2
DBZ.CONST.CALL 値 '0' が除数としてこの値を使用できる関数に渡されます Dir. 4.1 Pre-2020.1
DBZ.GENERAL ゼロ除算が発生した可能性があります Dir. 4.1 2023.1
DBZ.ITERATOR ループ反復子でゼロ除算が発生した可能性があります Dir. 4.1 Pre-2020.1
DBZ.ITERATOR.CALL 関数呼出しでゼロ除算が発生した可能性があります Dir. 4.1 Pre-2020.1
EFFECT ステートメントの影響はありません 2.2 Pre-2020.1
FMM.MIGHT メモリの解放の不一致の可能性 22.2 Pre-2020.1
FMM.MUST メモリの解放の不一致 22.2 Pre-2020.1
FNH.MIGHT 非ヒープメモリの解放の可能性 22.2 Pre-2020.1
FNH.MUST 非ヒープメモリの解放 22.2 Pre-2020.1
FREE.INCONSISTENT メモリの解放が矛盾しています 22.1 Pre-2020.1
FUM.GEN.MIGHT 未割り当てメモリの解放の可能性 22.2 Pre-2020.1
FUM.GEN.MUST 未割り当てメモリの解放 22.2 Pre-2020.1
FUNCRET.GEN 非 void 関数に戻り値がありません 17.4 Pre-2020.1
FUNCRET.IMPLICIT 暗黙的に int を返す非 void 関数に戻り値がありません 17.4 Pre-2020.1
INVARIANT_CONDITION.GEN 不変な条件式 14.3 2020.1
INVARIANT_CONDITION.UNREACH 不変な条件式 14.3 Pre-2020.1
LA_UNUSED ラベルが使用されていません 2.6 Pre-2020.1
LOCRET.ARG 関数がローカル変数のアドレスを返しています 18.6 Pre-2020.1
LOCRET.GLOB 関数がローカル変数のアドレスを返しています 18.6 Pre-2020.1
LOCRET.RET 関数がローカル変数のアドレスを返しています 18.6 Pre-2020.1
LV_UNUSED.GEN ローカル変数は使用されません 2.2 2020.3
MISRA.ARRAY.VAR_LENGTH.2012 変数の長さの配列種類は使用しないでください 18.8 2020.4
MISRA.ASM.ENCAPS アセンブリ言語が分離されていません Dir. 4.2 Dir. 4.3 Pre-2020.1
MISRA.ASSIGN.OVERLAP オブジェクトがオーバーラップするオブジェクトに割り当てられています 19.1 2022.3
MISRA.ASSIGN.SUBEXPR.2012 代入演算子の結果が使用されます 13.4 Pre-2020.1
MISRA.BITFIELD.SIGNED 名前付きの符号付きビットフィールドの長さが 2 未満です 6.2 Pre-2020.1
MISRA.BITFIELD.TYPE.2012 ビットフィールドの型は、ブール、符号付き/符号なし整数のいずれでもありません 6.1 2021.2
MISRA.BREAK_OR_GOTO.MULTIPLE.2012 反復ステートメントに複数の break または for ループ終端への複数の goto があります 15.4 Pre-2020.1
MISRA.BUILTIN_NUMERIC 組み込み数値型が使用されています Dir. 4.6 Pre-2020.1
MISRA.CAST.CONST キャスト演算により const または volatile がポインターまたは参照から除外されます。 11.8 Pre-2020.1
MISRA.CAST.FUNC_PTR.2012 関数を指すポインタと、別の非互換タイプとの間で実行された変換 11.1 Pre-2020.1
MISRA.CAST.INCOMPLETE_PTR_TO_ANY.2012 不完全なタイプ を指すポインタと、別のタイプとの間で実行された変換 11.2 Pre-2020.1
MISRA.CAST.OBJ_PTR_TO_INT.2012 オブジェクトを指すポインタと、整数タイプとの間で実行された変換 11.4 Pre-2020.1
MISRA.CAST.OBJ_PTR_TO_NON_INT.2012 オブジェクトを指すポインタと、非整数算術演算タイプとの間のキャスト 11.7 Pre-2020.1
MISRA.CAST.OBJ_PTR_TO_OBJ_PTR.2012 オブジェクト タイプを指すポインタと、異なるオブジェクト タイプを指す別のポインタとの間のキャスト 11.3 Pre-2020.1
MISRA.CAST.VOID_PTR_TO_INT.2012 void を指すポインタと算術演算タイプとの間のキャスト 11.6 2021.2
MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012 void ポインタから、オブジェクトを指すポインタに実行された変換 11.5 Pre-2020.1
MISRA.CHAR.TRIGRAPH 3 文字表記の使用 4.2 Pre-2020.1
MISRA.COMMA カンマ演算子が使用されています 12.3 Pre-2020.1
MISRA.COMP.WRAPAROUND 条件内でラップアラウンドしています 12.4 2020.3
MISRA.CT.UNIQUE.ID.2012 識別子がタグ名と不整合です 5.7 2021.2
MISRA.DECL.ARRAY_SIZE 配列の宣言でサイズが不明です 8.11 Pre-2020.1
MISRA.DECL.FUNC.INLINE.STATIC.2012 静的ストレージクラス(static)が付与されていないインライン関数の宣言 8.10 Pre-2020.1
MISRA.DEFINE.FUNC マクロが関数のように定義されています Dir. 4.9 Pre-2020.1
MISRA.DEFINE.NOT_DISTINCT.C99.2012 識別子名が長すぎます 5.4 Pre-2020.1
MISRA.DEFINE.SHARP マクロ定義に # 演算子または ## 演算子が使用されています 20.10 Pre-2020.1
MISRA.DEFINE.SHARP.ORDER.2012 複数の '#' または '##' の評価の順番が指定されていません 20.11 2020.4
MISRA.DEFINE.SHARP.REPLACE.2012 それ自身さらなるマクロ置換の影響を受ける、'#' または '##' 演算子のオペランドとして使用されるマクロパラメーターは、これらの演算子のオペランドとしてのみ使用される。 20.12 Pre-2020.1
MISRA.DEFINE.STDIO.WCHAR.2012 不適切なマクロ展開です 21.6 Pre-2020.1
MISRA.DEFINE.WCSFTIME.2012 'wcsftime' の名前を持つマクロは拡張しない 21.10 Pre-2020.1
MISRA.DEFINE.WRONGNAME 標準ライブラリからの名前がマクロ名に使用されています 21.1 Pre-2020.1
MISRA.DEFINE.WRONGNAME.C99.2012 マクロはキーワードと同じ名前で定義してはなりません 20.4 Pre-2020.1
MISRA.DEFINE.WRONGNAME.UNDERSCORE 予約名がマクロ名に使用されています 21.1 Pre-2020.1
MISRA.ELIF.COND.NOT_BOOL.2012 #elif 条件が 0 または 1 ではありません 20.8 Pre-2020.1
MISRA.ELIF.OTHERFILE 不適切なファイルでの #elif 20.14 Pre-2020.1
MISRA.ELIF.UNDEF #elif ディレクティブでマクロが定義されていません 20.9 Pre-2020.1
MISRA.ELSE.OTHERFILE 不適切なファイルでの #else 20.14 Pre-2020.1
MISRA.ENDIF.OTHERFILE 不適切なファイルでの #endif 20.14 Pre-2020.1
MISRA.ENUM.IMPLICIT.VAL.NON_UNIQUE.2012 暗黙的列挙子値は一意ではありません 8.12 Pre-2020.1
MISRA.ETYPE.ASSIGN.2012 より狭い基本タイプ、または、異なる基本タイプカテゴリーのオブジェクトへの割り当て 10.3 2020.3
MISRA.ETYPE.CATEGORY.DIFFERENT.2012 通常の算術演算変換が実行される演算子のオペランドに、同じ基本タイプカテゴリーがありません。 10.4 2021.2
MISRA.ETYPE.COMP.ASSIGN.2012 複合式の値は、より広い基本タイプを持つオブジェクトに割り当てられました。 10.6 2021.3
MISRA.ETYPE.COMP.CAST.EXPL.DIFFERENT.2012 複合式の値は、異なる基本タイプカテゴリーへのキャストです 10.8 Pre-2020.1
MISRA.ETYPE.COMP.CAST.EXPL.WIDER.2012 複合式の値は、より広い基本タイプへのキャストです 10.8 Pre-2020.1
MISRA.ETYPE.COMP.CAST.IMPL.WIDER.2012 通常の算術演算変換が実行される演算子のオペランドとして使用される複合式には、より広い基本タイプを持つ他のオペランドがあります。 10.7 Pre-2020.1
MISRA.ETYPE.INAPPR.CAST.2012 式の値は、不適切な基本タイプへのキャストです 10.5 Pre-2020.1
MISRA.ETYPE.INAPPR.CHAR.2012 加算または減算演算で、基本的な文字タイプの不適切な使用法。 10.2 Pre-2020.1
MISRA.ETYPE.INAPPR.OPERAND.BINOP.2012 バイナリ演算子へのオペランドには、不適切な基本タイプがあります 10.1 Pre-2020.1
MISRA.ETYPE.INAPPR.OPERAND.INDEXPR.2012 インデックス式に、不適切な基本タイプがあります 10.1 Pre-2020.1
MISRA.ETYPE.INAPPR.OPERAND.TERNOP.2012 三項演算子への最初のオペランドには、不適切な基本タイプがあります 10.1 Pre-2020.1
MISRA.ETYPE.INAPPR.OPERAND.UNOP.2012 単項演算子へのオペランドには、不適切な基本タイプがあります 10.1 Pre-2020.1
MISRA.EXPANSION.DIRECTIVE マクロの引数内にディレクティブのようなトークンがあります 20.6 Pre-2020.1
MISRA.EXPR.PARENS.2012 式内の演算子の優先度は明示的にする必要があります。 12.1 Pre-2020.1
MISRA.EXPR.PARENS.SIZEOF.2012 sizeof 演算子のオペランドは括弧に入れる必要があります。 12.1 Pre-2020.1
MISRA.EXPR.SIZEOF.ARRAY_PARAM.2012_AMD1 sizeof 演算子に「配列型」として宣言された関数パラメータとなっているオペランドが含まれています。 12.5 Pre-2020.1
MISRA.FILE_PTR.DEREF.2012 FILE オブジェクトへのポインターは逆参照してはなりません 22.5 2022.1
MISRA.FILE_PTR.DEREF.CAST.2012 オブジェクトは FILE ポインターにキャストされており、これを逆参照してはなりません。 22.5 Pre-2020.1
MISRA.FILE_PTR.DEREF.INDIRECT.2012 FILE オブジェクトへのポインターは、システム関数で間接的に逆参照してはなりません 22.5 Pre-2020.1
MISRA.FILE_PTR.DEREF.RETURN.2012 FILE オブジェクト(関数の戻り値)へのポインターは逆参照してはなりません 22.5 Pre-2020.1
MISRA.FOR.COUNTER.FLT for ループのカウンターが浮動小数点タイプです 14.1 Pre-2020.1
MISRA.FUNC.ARRAY.PARAM.STATIC.2012 配列パラメーターの宣言には、[] の間に static キーワードは含まれません 17.6 Pre-2020.1
MISRA.FUNC.MODIFIEDPAR.2012 関数パラメーターは変更してはなりません 17.8 Pre-2020.1
MISRA.FUNC.NOPROT.DEF.2012 関数は定義されていますが、プロトタイプがありません 8.4 Pre-2020.1
MISRA.FUNC.NO_PARAMS パラメーターのない関数に void パラメータータイプがありません 8.2 Pre-2020.1
MISRA.FUNC.PROT_FORM.KR.2012 関数タイプはプロトタイプ形式です 8.2 Pre-2020.1
MISRA.FUNC.RECUR 再帰関数 17.2 Pre-2020.1
MISRA.FUNC.STATIC.REDECL 関数またはオブジェクトの再宣言に 'static' 修飾子がありません 8.8 Pre-2020.1
MISRA.FUNC.UNMATCHED.PARAMS 関数に渡される仮引数と実際のパラメーターの数が一致しません 8.2 Pre-2020.1
MISRA.FUNC.UNNAMED.PARAMS 関数の宣言に名前のないパラメーターがあります 8.2 2022.4
MISRA.FUNC.UNUSEDPAR.2012 関数に未使用のパラメーターがあります 2.7 Pre-2020.1
MISRA.FUNC.UNUSEDRET.2012 非 void 関数の戻り値を使用してください 17.7 Pre-2020.1
MISRA.FUNC.VARARG 関数が可変数の引数を持っています 17.1 Pre-2020.1
MISRA.GOTO goto ステートメントが使用されています 15.1 Pre-2020.1
MISRA.GOTO.AFTER_LABEL.2012 Goto は、同じ関数で前に宣言されたラベルにジャンプします。 15.2 Pre-2020.1
MISRA.GOTO.NESTED.2012 goto に参照されたラベルは、このブロック、または、それを囲むブロックの中にありません。 15.3 Pre-2020.1
MISRA.IDENT.DISTINCT.C99.2012 同一のスコープまたは同一の名前空間で宣言された識別子が区別されていません 5.2 Pre-2020.1
MISRA.IDENT.NONUNIQUE.EXTERNAL.2012 外部リンクを持つオブジェクトまたは関数を定義する識別子は一意でなければなりません。 5.8 Pre-2020.1
MISRA.IDENT.NONUNIQUE.INTERNAL.2012 内部リンクを持つオブジェクトまたは関数を定義する識別子は一意でなければなりません。 5.9 Pre-2020.1
MISRA.IF.COND.NOT_BOOL.2012 #if 条件が 0 または 1 ではありません 20.8 Pre-2020.1
MISRA.IF.NO_COMPOUND if/else ステートメントのボディが複合ステートメントではありません 15.6 Pre-2020.1
MISRA.IF.NO_ELSE if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています 15.7 Pre-2020.1
MISRA.IF.UNDEF #if ディレクティブでマクロが定義されていません 20.9 Pre-2020.1
MISRA.INCGUARD インクルードガードが入力されていません Dir. 4.10 Pre-2020.1
MISRA.INCL.BAD 非標準の include ディレクティブです 20.3 2020.4
MISRA.INCL.INSIDE include ディレクティブの前にプリプロセッサ出力トークンがあります 20.1 Pre-2020.1
MISRA.INCL.SIGNAL.2012 標準ヘッダーファイル signal.h は使用しない 21.5 Pre-2020.1
MISRA.INCL.STDIO.2012 標準ヘッダーファイル stdio.h は使用しない 21.6 Pre-2020.1
MISRA.INCL.SYMS ヘッダーファイル名に非標準文字が使用されています 20.2 Pre-2020.1
MISRA.INCL.TGMATH.2012 標準ヘッダーファイル tgmath.h は使用しない 21.11 Pre-2020.1
MISRA.INCL.TIME.2012 標準ヘッダーファイル time.h は使用しない 21.10 Pre-2020.1
MISRA.INCR_DECR.SIDEEFF.2012 インクリメント (++) またはデクリメント (--) 演算子を含む完全な式では、インクリメントまたはデクリメント演算子によって生じる以外に他の副作用が存在してはなりません 13.3 Pre-2020.1
MISRA.INIT.BRACES.2012 集計または共用体の初期化子が波括弧で囲まれていません 9.2 Pre-2020.1
MISRA.INIT.MULTIPLE.2012 オブジェクトの要素が複数回初期化されています 9.4 Pre-2020.1
MISRA.INIT.PARTIAL.2012 配列が部分的に初期化されています 9.3 Pre-2020.1
MISRA.INIT.SIZE.IMPLICIT.2012 指定された初期化子が、配列のサイズが明示的に指定されない場合に、配列オブジェクトを初期化するために使用されます 9.5 Pre-2020.1
MISRA.LANG.EXTENSIONS 言語拡張は使用するべきではありません 1.2 2022.4
MISRA.LITERAL.NULL.PTR.CONST.2012 マクロ NULL は、唯一許可された整数 null ポインター定数のフォームです。 11.9 2020.2
MISRA.LITERAL.UNSIGNED.SUFFIX 'U' 添え字の付かない符号なし整数リテラルです 7.2 Pre-2020.1
MISRA.LOGIC.SIDEEFF 論理 'and' 式または論理 'or' 式の右側のオペランドは副作用があります 13.5 Pre-2020.1
MISRA.MEMB.FLEX_ARRAY.2012 柔軟な配列メンバーは宣言しないでください 18.7 Pre-2020.1
MISRA.PPARAM.NEEDS.CONST ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません 8.13 Pre-2020.1
MISRA.PTR.ARITH.2012 演算式にポインターが使用されています 18.4 Pre-2020.1
MISRA.PTR.ARITH.NOT_SAME.2012 ポインターオペランドの計算から得られるポインターは、そのポインターオペランドと同じ配列の要素をアドレス指定します 18.1 2020.2
MISRA.PTR.CMP.2008 比較演算子を使用したポインターの比較は、同じ配列を指していて、範囲内にある場合にのみ適用されます 18.3 2022.1
MISRA.PTR.CMP.OBJECT.2008 比較演算子を使用したポインターの比較は、同じオブジェクトを指しており、範囲内である場合にのみ適用されます 18.3 2022.1
MISRA.PTR.SUB ポインターの減算は、同じ配列を指している場合にのみ適用されます 18.2 2022.4
MISRA.PTR.SUB.OBJECT ポインターの減算は、同じオブジェクトを指している場合にのみ適用されます 18.2 2022.4
MISRA.PTR.TO_PTR_TO_PTR ポインタ宣言に 2 つ以上のレベルの間接指定があります 18.5 Pre-2020.1
MISRA.RESOURCES.FILE.OPEN_READ_WRITE.2012 同じファイルに対して複数のストリームが開かれています 22.3 2023.1
MISRA.RESOURCES.FILE.READ_ONLY_WRITE.2012 読み取り専用として開かれたストリームに書き込んではなりません 22.4 Pre-2020.1
MISRA.RESOURCES.FILE.USE_AFTER_CLOSE.2012 FILE を指し示すポインターの値は、関連するストリームが閉じられたあとは使用しないでください 22.6 Pre-2020.1
MISRA.RETURN.NOT_LAST 関数内で return が最後のステートメントになっていません 15.5 Pre-2020.1
MISRA.SHIFT.RANGE.2012 シフト演算子の右側のオペランドは範囲外です - 左側のオペランドの基本タイプのサイズ以上か、または負 12.2 Pre-2020.1
MISRA.SIZEOF.SIDE_EFFECT sizeof のオペランドに副作用があります 13.6 Pre-2020.1
MISRA.STDLIB.ABORT.2012_AMD1 ライブラリ stdlib.h の 'abort'、'exit'、または 'system' の使用 21.8 Pre-2020.1
MISRA.STDLIB.ATOI ライブラリ stdlib.h から 'atof'、'atoi' または 'atol' が使用されています 21.7 Pre-2020.1
MISRA.STDLIB.BSEARCH.2012 ライブラリ stdlib.h の 'bsearch' または 'qsort' が使用されています 21.9 Pre-2020.1
MISRA.STDLIB.CTYPE.RANGE.2012_AMD1 ctype.h で関数に渡される値はすべて unsigned char として表現できるか、または値 EOF でなければなりません 21.13 Pre-2020.1
MISRA.STDLIB.FENV.2012 fenv.h からの浮動小数点の例外機能機能が使用されています 21.12 Pre-2020.1
MISRA.STDLIB.FENV.MACRO.2012 fenv.h からの浮動小数点の例外機能機能が使用されています 21.12 Pre-2020.1
MISRA.STDLIB.ILLEGAL_REUSE.2012_AMD1 標準ライブラリ関数 asctime または同様の関数によって返されるポインタは、同じ関数の後続の呼び出しに続いては使用しません 21.20 Pre-2020.1
MISRA.STDLIB.ILLEGAL_WRITE.2012_AMD1 標準ライブラリ関数 localeconv、getenv、setlocale、または strerror が返すポインターは、必ずそれらが const-qualified 型を指すポインターを持つかのように使用する必要があります。 21.19 Pre-2020.1
MISRA.STDLIB.INCOMPAT_ARGS.2012_AMD1 Memcpy、memmove、または memcmp へのポインタ引数は互換性のある型へのポインタではありません 21.15 Pre-2020.1
MISRA.STDLIB.LONGJMP setjmp マクロまたは longjmp 関数の使用 21.4 Pre-2020.1
MISRA.STDLIB.MEMORY 動的ヒープメモリ割り当ての使用 21.3 Pre-2020.1
MISRA.STDLIB.SIGNAL signal.h の信号処理装置の使用 21.5 Pre-2020.1
MISRA.STDLIB.STDIO プロダクションコードで入力/出力ライブラリ stdio.h が使用されています 21.6 Pre-2020.1
MISRA.STDLIB.STDIO.WCHAR.2012 stdio.h からワイド文字と同等の識別子は使用しない 21.6 Pre-2020.1
MISRA.STDLIB.TIME ライブラリ time.h の時間処理関数の使用 21.10 Pre-2020.1
MISRA.STDLIB.WCSFTIME.2012 識別子 'wcsftime' は使用しない 21.10 Pre-2020.1
MISRA.STDLIB.WRONGNAME 標準ライブラリのマクロ、オブジェクトまたは関数の名前が再使用されています 21.2 Pre-2020.1
MISRA.STDLIB.WRONGNAME.UNDERSCORE 予約名が言語エンティティの名前に使用されています 21.2 Pre-2020.1
MISRA.STMT.COND.NOT_BOOLEAN.2012 'if' ステートメントまたは 'loop' ステートメントの制御式が 'Essentially Boolean' 型ではありません 14.4 Pre-2020.1
MISRA.STMT.NO_COMPOUND switch、while、do/while または for ステートメントのボディが複合ステートメントではありません 15.6 Pre-2020.1
MISRA.STRING_LITERAL.NON_CONST.2012 オブジェクトの種類が const-qualified char のポインターでない限り、文字列リテラルはオブジェクトに割り当てられません 7.4 Pre-2020.1
MISRA.SWITCH.COND.BOOL.2012 switch 文は基本的にブールデータ型を有しているべきではありません。 16.7 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.2012 すべての switch ステートメントは形式が適切である必要があります。 16.1 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.BREAK.2012 条件なしの break ステートメントで各 switch 句を終了するべきです。 16.3 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.DEFAULT.2012 各 switch ステートメントはデフォルトラベルを有するべきです。 16.4 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.DEFAULT.FIRST_OR_LAST.2012 デフォルトのラベルが switch ステートメントの最初または最後の switch ラベルのいずれかとして表示されるべきです。 16.5 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.NESTED_LABEL.2012 switch ラベルは、最も近くで囲い込む複合ステートメントが switch ステートメントの本文の場合にのみ使用されます。 16.2 Pre-2020.1
MISRA.SWITCH.WELL_FORMED.TWO_CLAUSES.2012 各 switch ステートメントは少なくとも 2 つの switch 句を有するべきです。 16.6 Pre-2020.1
MISRA.TOKEN.BADCOM コメントに不適切な文字列があります 3.1 Pre-2020.1
MISRA.TOKEN.CPCOM.MULTILINE.2012 //コメントでラインスプライシングが使用されています 3.2 Pre-2020.1
MISRA.TOKEN.L.SUFFIX.FLOAT 浮動小数点定数では、小文字 "l" 接尾辞を使用 7.3 Pre-2020.1
MISRA.TOKEN.L.SUFFIX.INT 整数定数では、小文字 "l" 接尾辞を使用 7.3 Pre-2020.1
MISRA.TOKEN.OCTAL.INT 8 進数の整数定数を使用しています 7.1 2020.4
MISRA.TOKEN.UNTERMINATED.ESCAPE.2012 文字列リテラルに終端されていないエスケープシーケンスがあります 4.1 Pre-2020.1
MISRA.TYPE.RESTRICT.QUAL.2012 restrict 型修飾子は使用しない 8.14 Pre-2020.1
MISRA.TYPEDEF.NOT_UNIQUE Typedef 名がその他のエンティティ用に使用されています 5.6 Pre-2020.1
MISRA.UNDEF 定義のない使用です 20.5 Pre-2020.1
MISRA.UNDEF.WRONGNAME 標準ライブラリからの名前が定義されていません 21.1 Pre-2020.1
MISRA.UNDEF.WRONGNAME.UNDERSCORE 予約名が定義されていません 21.1 Pre-2020.1
MISRA.UNION 和集合が使用されています 19.2 Pre-2020.1
MISRA.USE.UNKNOWNDIR 不明なプリプロセッサディレクティブが使用されています 20.13 Pre-2020.1
MISRA.VAR.HIDDEN 内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています 5.3 2020.2
MLK.MIGHT メモリリークの可能性 22.1 Pre-2020.1
MLK.MUST メモリリーク 22.1 2020.1
MLK.RET.MIGHT メモリリークの可能性 22.1 Pre-2020.1
MLK.RET.MUST メモリリーク 22.1 Pre-2020.1
NNTS.MIGHT バッファオーバーフロー - 非 NULL 終了文字列 21.17 Pre-2020.1
NNTS.MUST バッファオーバーフロー - 非 NULL 終了文字列 21.17 Pre-2020.1
NNTS.TAINTED 未検証のユーザー入力が原因のバッファオーバーフロー - 非 NULL 終了文字列 Dir. 4.14 Pre-2020.1
NUM.OVERFLOW.DF 起こり得る数値のオーバーフローまたはラップアラウンド Dir. 4.1 2022.3
PORTING.VAR.EFFECTS ある使用法が副次的な影響を受ける式で変数が 2 回使用されています 13.2 Pre-2020.1
RH.LEAK リソースリーク 22.1 2020.1
SV.RVT.RETVAL_NOTTESTED 戻り値の無視 Dir. 4.7 2021.2
SV.TAINTED.ALLOC_SIZE メモリ割り当て時の未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.BINOP バイナリ演算での未検証整数値の使用 Dir. 4.14 2021.2
SV.TAINTED.CALL.BINOP バイナリ演算での未検証整数値の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.CALL.DEREF 未検証ポインターの逆参照 Dir. 4.14 Pre-2020.1
SV.TAINTED.CALL.INDEX_ACCESS 関数呼び出し時の配列インデックスとしての未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.CALL.LOOP_BOUND 関数呼び出しのループ条件での未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.DEREF 未検証ポインターの逆参照 Dir. 4.14 Pre-2020.1
SV.TAINTED.FMTSTR 書式文字列での未検証データの使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.INDEX_ACCESS 配列インデックスとしての未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.INJECTION コマンドインジェクション Dir. 4.14 Pre-2020.1
SV.TAINTED.LOOP_BOUND ループ条件での未検証の整数の使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.PATH_TRAVERSAL パストラバーサルでの未検証データの使用 Dir. 4.14 Pre-2020.1
SV.TAINTED.SECURITY_DECISION セキュリティ決定 Dir. 4.14 Pre-2020.1
UNINIT.CTOR.MIGHT コンストラクタにおける未初期化の変数の可能性 Dir. 4.1 Pre-2020.1
UNINIT.CTOR.MUST コンストラクタにおける未初期化の変数 Dir. 4.1 2020.1
UNINIT.HEAP.MIGHT 未初期化のヒープの使用の可能性 9.1 Dir. 4.1 Pre-2020.1
UNINIT.HEAP.MUST 未初期化のヒープの使用 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.ARRAY.MIGHT 未初期化の配列の可能性 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.ARRAY.MUST 未初期化の配列 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.ARRAY.PARTIAL.MUST 一部が未初期化の配列 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.MIGHT 未初期化の変数の可能性 9.1 Dir. 4.1 Pre-2020.1
UNINIT.STACK.MUST 未初期化の変数 9.1 Dir. 4.1 Pre-2020.1
UNREACH.ENUM enum が取りうる値が原因で、コードは到達不能になっています 2.1 2021.3
UNREACH.GEN 到達不能コード 2.1 Pre-2020.1
UNREACH.RETURN 到達不能な void return文 2.1 Pre-2020.1
VA_UNUSED.GEN 値を割り当て後に使用しません 2.2 Pre-2020.1
VA_UNUSED.INIT 値を初期化後に使用しません 2.2 Pre-2020.1