MISRA C:2025 C90/99 規則

MISRA C:2025 C90

ガイドライン カテゴリ チェッカー名および説明
Dir. 1.1 必要(Required)

Dir 1.2 推奨(Advisory)

MISRA.LANG.EXTENSIONS  言語拡張は使用するべきではありません

Dir. 2.1 必要(Required)

Dir. 3.1 必要(Required)

Dir 4.1 必要(Required)

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

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

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

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

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

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

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

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

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

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

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

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

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

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

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

DBZ.GENERAL.FLOAT  浮動小数点数のゼロ除算が発生した可能性があります

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

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

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

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

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

Dir 4.2 推奨(Advisory)

MISRA.ASM.ENCAPS  アセンブリ言語が分離されていません

Dir 4.3 必要(Required)

MISRA.ASM.ENCAPS  アセンブリ言語が分離されていません

Dir 4.4 推奨(Advisory)

MISRA.TOKEN.COMMENTED.CODE  コメントにはコメントアウトされたソースコードが含まれているようです

Dir. 4.5 推奨(Advisory)

Dir 4.6 推奨(Advisory)

MISRA.BUILTIN_NUMERIC  組み込み数値型が使用されています

Dir 4.7 必要(Required)

SV.RVT.RETVAL_NOTTESTED  戻り値の無視

Dir 4.8 推奨(Advisory)

MISRA.STRUCT_DEF.HIDDEN.2012  構造体または共用体へのポインターが翻訳単位内で逆参照されない場合は、オブジェクトの実装を非表示にする必要があります。

Dir 4.9 推奨(Advisory)

MISRA.DEFINE.FUNC  マクロが関数のように定義されています

Dir 4.10 必要(Required)

MISRA.INCGUARD  インクルードガードが入力されていません

Dir. 4.11 必要(Required)

Dir. 4.12 必要(Required)

Dir. 4.13 推奨(Advisory)

Dir 4.14 必要(Required)

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  セキュリティ決定

Dir. 4.15 必要(Required)

Rule 1.3 必要(Required)

MISRA.ELIF.DEFINED  #elif ディレクティブで不正な 'defined' が使用されています

MISRA.EXPANSION.NARGS  マクロの引数がありません

MISRA.EXPANSION.UNSAFE  安全ではないマクロの使用

MISRA.IF.DEFINED  #if ディレクティブで不正な 'defined' が使用されています

MISRA.INCOMPLETE.STRUCT  不完全な構造タイプが使用されています

MISRA.INCOMPLETE.STRUCT.UNNAMED  名前のない不完全な構造タイプが使用されています

MISRA.INCOMPLETE.UNION  不完全な和集合タイプが使用されています

MISRA.INCOMPLETE.UNION.UNNAMED  名前のない不完全な和集合タイプが使用されています

Rule 2.1 必要(Required)

UNREACH.ENUM  enum が取りうる値が原因で、コードは到達不能になっています

UNREACH.GEN  到達不能コード

UNREACH.RETURN  到達不能な void return文

Rule 2.2 必要(Required)

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

LV_UNUSED.GEN  ローカル変数は使用されません

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

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

Rule 2.3 推奨(Advisory)

MISRA.UNUSED.GLOBAL_TYPE  プロジェクトには未使用の型宣言またはタグ宣言を含めない

MISRA.UNUSED.LOCAL_TYPE  プロジェクトには未使用の型宣言を含めないでください

Rule 2.4 推奨(Advisory)

MISRA.UNUSED.ENUM_TAG  プロジェクトには未使用のタグ宣言を含めないでください

MISRA.UNUSED.GLOBAL_TYPE  プロジェクトには未使用の型宣言またはタグ宣言を含めない

Rule 2.5 推奨(Advisory)

MISRA.UNUSED_MACRO.2012  プロジェクトには未使用のマクロ宣言を含めない

Rule 2.6 推奨(Advisory)

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

Rule 2.7 推奨(Advisory)

MISRA.FUNC.UNUSEDPAR.2012  関数に未使用のパラメーターがあります

Rule 2.8 推奨(Advisory)

MISRA.UNUSED_OBJECT_DEFINITIONS.2023  プロジェクトに未使用のオブジェクト定義を含めないでください

Rule 3.1 必要(Required)

MISRA.TOKEN.BADCOM  コメントに不適切な文字列があります

Rule 4.1 必要(Required)

MISRA.TOKEN.UNTERMINATED.ESCAPE.2012  文字列リテラルに終端されていないエスケープシーケンスがあります

Rule 4.2 推奨(Advisory)

MISRA.CHAR.TRIGRAPH  3 文字表記の使用

Rule 5.1 必要(Required)

MISRA.EXT.IDENT.DISTINCT.2012.C90  外部識別子は、実装によって指定された制限内で一意である必要があります。

Rule 5.2 必要(Required)

MISRA.IDENT.DISTINCT.C90.2012  同一のスコープまたは同一の名前空間で宣言された識別子が区別されていません

Rule 5.3 必要(Required)

MISRA.VAR.HIDDEN  内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています

Rule 5.4 必要(Required)

MISRA.DEFINE.NOT_DISTINCT.C90.2012  識別子名が長すぎます

Rule 5.5 必要(Required)

MISRA.MACRO.IDENT.DISTINCT.C90.2012  識別子は最初の 31 文字内でマクロ名と区別されなければならない

Rule 5.6 必要(Required)

MISRA.TYPEDEF.NOT_UNIQUE.2012  Typedef 名がその他のエンティティ用に使用されています

Rule 5.7 必要(Required)

MISRA.CT.UNIQUE.ID.2012  識別子がタグ名と不整合です

Rule 5.8 必要(Required)

MISRA.IDENT.NONUNIQUE.EXTERNAL.2012  外部リンクを持つオブジェクトまたは関数を定義する識別子は一意でなければなりません。

Rule 5.9 推奨(Advisory)

MISRA.IDENT.NONUNIQUE.INTERNAL.2012  内部リンクを持つオブジェクトまたは関数を定義する識別子は一意でなければなりません。

Rule 5.10 必要(Required)

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

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

Rule 6.1 必要(Required)

MISRA.BITFIELD.TYPE.2012  ビットフィールドの型は、ブール、符号付き/符号なし整数のいずれでもありません

Rule 6.2 必要(Required)

MISRA.BITFIELD.SIGNED  名前付きの符号付きビットフィールドの長さが 2 未満です

Rule 6.3 必要(Required)

MISRA.BITFIELD.UNION  和集合にビットフィールドがメンバーとして含まれています

Rule 7.1 必要(Required)

MISRA.TOKEN.OCTAL.INT  8 進数の整数定数を使用しています

Rule 7.2 必要(Required)

MISRA.LITERAL.UNSIGNED.SUFFIX  'U' 添え字の付かない符号なし整数リテラルです

Rule 7.3 必要(Required)

MISRA.TOKEN.L.SUFFIX.FLOAT  浮動小数点定数では、小文字 "l" 接尾辞を使用

MISRA.TOKEN.L.SUFFIX.INT  整数定数では、小文字 "l" 接尾辞を使用

Rule 7.4 必要(Required)

MISRA.STRING_LITERAL.NON_CONST.2012  オブジェクトの種類が const-qualified char のポインターでない限り、文字列リテラルはオブジェクトに割り当てられません

Rule 8.1 必要(Required)

MISRA.DECL.NO_TYPE  宣言から型が抜けています

Rule 8.2 必要(Required)

MISRA.FUNC.NO_PARAMS  パラメーターのない関数に void パラメータータイプがありません

MISRA.FUNC.PROT_FORM.KR.2012  関数タイプはプロトタイプ形式です

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

MISRA.FUNC.UNNAMED.PARAMS  関数の宣言に名前のないパラメーターがあります

Rule 8.3 必要(Required)

MISRA.DECL.FUNC.NAME.QUAL.2012  オブジェクトまたは関数のすべての宣言は、同じ名前と型の修飾子を使用します

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

MISRA.OBJ.FUNC.PARAMS.IDENT  オブジェクトまたは関数のすべての宣言は、同じ名前と型修飾子を使用します

Rule 8.4 必要(Required)

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

Rule 8.5 必要(Required)

MISRA.DECL.EXTERNAL.MULTIPLE  外部リンクを持つオブジェクトまたは関数の宣言は、1 つの場所にのみ存在する必要があります。

Rule 8.6 必要(Required)

MISRA.DEFINE.EXTERNAL.MULTIPLE  外部リンクを持つオブジェクトまたは関数の定義は、1 つの場所にのみ存在する必要があります。

Rule 8.7 推奨(Advisory)

MISRA.EXT.LINKAGE.REDUNDANT.2012  関数とオブジェクトが 1 つの翻訳単位のみで参照される場合、外部リンケージで定義しないでください

Rule 8.8 必要(Required)

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

Rule 8.9 推奨(Advisory)

CXX.ID_VIS.GLOBAL_VARIABLE.EXTERN  extern グローバル変数の可視範囲が広すぎます

CXX.ID_VIS.GLOBAL_VARIABLE.STATIC  static グローバル変数の可視範囲が広すぎます

Rule 8.11 推奨(Advisory)

MISRA.DECL.ARRAY_SIZE  配列の宣言でサイズが不明です

Rule 8.12 必要(Required)

MISRA.ENUM.IMPLICIT.VAL.NON_UNIQUE.2012  暗黙的列挙子値は一意ではありません

Rule 8.13 推奨(Advisory)

MISRA.PPARAM.NEEDS.CONST  ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません

Rule 9.1 必須(Mandatory)

UNINIT.STACK.ARRAY.MIGHT  未初期化の配列の可能性

UNINIT.STACK.ARRAY.MUST  未初期化の配列

UNINIT.STACK.ARRAY.PARTIAL.MUST  一部が未初期化の配列

UNINIT.STACK.MIGHT  未初期化の変数の可能性

UNINIT.STACK.MUST  未初期化の変数

Rule 9.2 必要(Required)

MISRA.INIT.BRACES.2012  集計または共用体の初期化子が波括弧で囲まれていません

Rule 9.3 必要(Required)

MISRA.INIT.PARTIAL.2012  配列が部分的に初期化されています

Rule 10.1 必要(Required)

MISRA.ETYPE.INAPPR.OPERAND.BINOP.2012   バイナリ演算子へのオペランドには、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.INDEXPR.2012   インデックス式に、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.TERNOP.2012   三項演算子への最初のオペランドには、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.UNOP.2012   単項演算子へのオペランドには、不適切な基本タイプがあります

Rule 10.2 必要(Required)

MISRA.ETYPE.INAPPR.CHAR.2012   加算または減算演算で、基本的な文字タイプの不適切な使用法。

Rule 10.3 必要(Required)

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

Rule 10.4 必要(Required)

MISRA.ETYPE.CATEGORY.DIFFERENT.2012   通常の算術演算変換が実行される演算子のオペランドに、同じ基本タイプカテゴリーがありません。

Rule 10.5 推奨(Advisory)

MISRA.ETYPE.INAPPR.CAST.2012   式の値は、不適切な基本タイプへのキャストです

Rule 10.6 必要(Required)

MISRA.ETYPE.COMP.ASSIGN.2012   複合式の値は、より広い基本タイプを持つオブジェクトに割り当てられました。

Rule 10.7 必要(Required)

MISRA.ETYPE.COMP.CAST.IMPL.WIDER.2012   通常の算術演算変換が実行される演算子のオペランドとして使用される複合式には、より広い基本タイプを持つ他のオペランドがあります。

Rule 10.8 必要(Required)

MISRA.ETYPE.COMP.CAST.EXPL.DIFFERENT.2012   複合式の値は、異なる基本タイプカテゴリーへのキャストです

MISRA.ETYPE.COMP.CAST.EXPL.WIDER.2012   複合式の値は、より広い基本タイプへのキャストです

Rule 11.1 必要(Required)

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

Rule 11.2 必要(Required)

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

Rule 11.3 必要(Required)

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

Rule 11.4 必要(Required)

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

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

Rule 11.5 推奨(Advisory)

MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012   void ポインタから、オブジェクトを指すポインタに実行された変換

Rule 11.6 必要(Required)

MISRA.CAST.VOID_PTR_TO_INT.2012   void を指すポインタと算術演算タイプとの間のキャスト

Rule 11.8 必要(Required)

MISRA.CAST.CONST  キャスト演算により const または volatile がポインターまたは参照から除外されます。

Rule 11.9 必要(Required)

MISRA.LITERAL.NULL.PTR.CONST.2012  マクロ NULL は、唯一許可された整数 null ポインター定数のフォームです。

Rule 12.1 推奨(Advisory)

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

MISRA.EXPR.PARENS.SIZEOF.2012  sizeof 演算子のオペランドは括弧に入れる必要があります。

Rule 12.2 必要(Required)

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

Rule 12.3 推奨(Advisory)

MISRA.COMMA  カンマ演算子が使用されています

Rule 12.4 推奨(Advisory)

MISRA.COMP.WRAPAROUND  条件内でラップアラウンドしています

Rule 12.5 必須(Mandatory)

MISRA.EXPR.SIZEOF.ARRAY_PARAM.2012_AMD1  sizeof 演算子に「配列型」として宣言された関数パラメータとなっているオペランドが含まれています。

Rule 13.2 必要(Required)

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

Rule 13.3 推奨(Advisory)

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

Rule 13.4 推奨(Advisory)

MISRA.ASSIGN.SUBEXPR.2012  代入演算子の結果が使用されます

Rule 13.5 必要(Required)

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

Rule 13.6 必要(Required)

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

Rule 14.1 必要(Required)

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

Rule 14.2 必要(Required)

MISRA.FOR.BODY.LOOP_CTR_MODIFIED  ループカウンターをループ本体で変更しないでください

MISRA.FOR.BODY.LOOP_CTR_MODIFIED.MIGHT  ループカウンターをループ本体で変更しないでください

MISRA.FOR.COND.COUNTER_UNUSED  ループの 2 番目の節は、ループカウンターを使用します

MISRA.FOR.COND.INVALID_USE  ループの 2 番目の節では、ループ本体で変更されたオブジェクトは使用されません。

MISRA.FOR.COND.INVALID_USE.MIGHT  ループの 2 番目の節では、ループ本体で変更されたオブジェクトは使用されません。

MISRA.FOR.COND.PURE  ループの 2 番目の節は、永続的な副作用のない単一式であることが必要です

MISRA.FOR.COND.SINGLE_PURE  ループの 2 番目の節は、永続的な副作用のない単一式であることが必要です

MISRA.FOR.ITER_EXPR.INVALID_USE  ループの 3 番目の節では、ループ本体で変更されたオブジェクトは使用されません。

MISRA.FOR.ITER_EXPR.INVALID_USE.MIGHT  ループの 3 番目の節では、ループ本体で変更されたオブジェクトは使用されません。

MISRA.FOR.ITER_EXPR.MULTI_SIDE_EFFECTS  ループの 3 番目の節は、ループカウンターに対する永続的な副作用のみが含まれます。

MISRA.FOR.ITER_EXPR.ONE_EXPR  ループの 3 番目の節は単一式であることが必要です

MISRA.FOR.MULTI_INIT  ループの最初の節は空にするか、ループカウンターに値を代入します

MISRA.FOR.UNINIT_COUNTER  ループの最初の節は空にするか、ループカウンターに値を代入します

Rule 14.3 必要(Required)

INVARIANT_CONDITION.GEN  不変な条件式

INVARIANT_CONDITION.UNREACH  不変な条件式

Rule 14.4 必要(Required)

MISRA.STMT.COND.NOT_BOOLEAN.2012  'if' ステートメントまたは 'loop' ステートメントの制御式が 'Essentially Boolean' 型ではありません

Rule 15.1 推奨(Advisory)

MISRA.GOTO  goto ステートメントが使用されています

Rule 15.2 必要(Required)

MISRA.GOTO.AFTER_LABEL.2012   Goto は、同じ関数で前に宣言されたラベルにジャンプします。

Rule 15.3 必要(Required)

MISRA.GOTO.NESTED.2012   goto に参照されたラベルは、このブロック、または、それを囲むブロックの中にありません。

Rule 15.4 推奨(Advisory)

MISRA.BREAK_OR_GOTO.MULTIPLE.2012  反復ステートメントに複数の break または for ループ終端への複数の goto があります

Rule 15.5 不适用(Disapplied)

MISRA.RETURN.NOT_LAST  関数内で return が最後のステートメントになっていません

Rule 15.6 必要(Required)

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

MISRA.STMT.NO_COMPOUND  switch、while、do/while または for ステートメントのボディが複合ステートメントではありません

Rule 15.7 必要(Required)

MISRA.IF.NO_ELSE  if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています

Rule 16.1 必要(Required)

MISRA.SWITCH.WELL_FORMED.2012  すべての switch ステートメントは形式が適切である必要があります。

Rule 16.2 必要(Required)

MISRA.SWITCH.WELL_FORMED.NESTED_LABEL.2012  switch ラベルは、最も近くで囲い込む複合ステートメントが switch ステートメントの本文の場合にのみ使用されます。

Rule 16.3 必要(Required)

MISRA.SWITCH.WELL_FORMED.BREAK.2012  条件なしの break ステートメントで各 switch 句を終了するべきです。

Rule 16.4 必要(Required)

MISRA.SWITCH.WELL_FORMED.DEFAULT.2012  各 switch ステートメントはデフォルトラベルを有するべきです。

Rule 16.5 必要(Required)

MISRA.SWITCH.WELL_FORMED.DEFAULT.FIRST_OR_LAST.2012  デフォルトのラベルが switch ステートメントの最初または最後の switch ラベルのいずれかとして表示されるべきです。

Rule 16.6 必要(Required)

MISRA.SWITCH.WELL_FORMED.TWO_CLAUSES.2012  各 switch ステートメントは少なくとも 2 つの switch 句を有するべきです。

Rule 16.7 必要(Required)

MISRA.SWITCH.COND.BOOL.2012  switch 文は基本的にブールデータ型を有しているべきではありません。

Rule 17.1 必要(Required)

MISRA.FUNC.VARARG  関数が可変数の引数を持っています

Rule 17.2 必要(Required)

MISRA.FUNC.RECUR  再帰関数

Rule 17.3 必須(Mandatory)

MISRA.FUNC.NODECL.CALL.2012  関数は暗黙的に宣言されました

Rule 17.4 必須(Mandatory)

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

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

Rule 17.5 必要(Required)

MISRA.ARRAY.ARG_SIZE  配列引数は適切なサイズでなければなりません

MISRA.ARRAY.ARG_SIZE.MIGHT  配列引数は適切なサイズでなければなりません

Rule 17.7 必要(Required)

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

Rule 17.8 推奨(Advisory)

MISRA.FUNC.MODIFIEDPAR.2012  関数パラメーターは変更してはなりません

Rule 17.12 推奨(Advisory)

MISRA.FUNC.IDENTIFIER_USAGE.CHECK.2023  関数ポインターは、'&' が接頭辞の場合に使用するか、または括弧で囲まれたパラメーターリストの一部として使用しなければなりません

Rule 17.13 必要(Required)

MISRA.FUNC.TYPE.TYPE_QUALIFIED  関数型が型修飾子と共に使用されています

Rule 18.1 必要(Required)

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

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

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

MISRA.PTR.ARITH.NOT_SAME.2012  ポインターオペランドの計算から得られるポインターは、そのポインターオペランドと同じ配列の要素をアドレス指定します

Rule 18.2 必要(Required)

MISRA.PTR.SUB  ポインターの減算は、同じ配列を指している場合にのみ適用されます

MISRA.PTR.SUB.OBJECT  ポインターの減算は、同じオブジェクトを指している場合にのみ適用されます

Rule 18.3 必要(Required)

MISRA.PTR.CMP.2008  比較演算子を使用したポインターの比較は、同じ配列を指していて、範囲内にある場合にのみ適用されます

MISRA.PTR.CMP.OBJECT.2008  比較演算子を使用したポインターの比較は、同じオブジェクトを指しており、範囲内である場合にのみ適用されます

Rule 18.4 推奨(Advisory)

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

Rule 18.5 推奨(Advisory)

MISRA.PTR.TO_PTR_TO_PTR  ポインタ宣言に 2 つ以上のレベルの間接指定があります

Rule 18.6 必要(Required)

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

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

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

Rule 18.9 必要(Required)

MISRA.CONV.TEMP_ARRAY_TO_PTR.2023  一時的な有効期間のあるオブジェクトでは、配列からポインターへの変換を行ってはなりません

Rule 19.1 必須(Mandatory)

MISRA.ASSIGN.OVERLAP  オブジェクトがオーバーラップするオブジェクトに割り当てられています

Rule 19.2 推奨(Advisory)

MISRA.UNION  和集合が使用されています

Rule 20.1 推奨(Advisory)

MISRA.INCL.INSIDE  include ディレクティブの前にプリプロセッサ出力トークンがあります

Rule 20.2 必要(Required)

MISRA.INCL.SYMS  ヘッダーファイル名に非標準文字が使用されています

Rule 20.3 必要(Required)

MISRA.INCL.BAD  非標準の include ディレクティブです

Rule 20.4 必要(Required)

MISRA.DEFINE.WRONGNAME.C90.2012  マクロはキーワードと同じ名前で定義してはなりません

Rule 20.5 推奨(Advisory)

MISRA.UNDEF  定義のない使用です

Rule 20.6 必要(Required)

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

Rule 20.7 必要(Required)

MISRA.MACRO_ARG.EXPRESSION.2012  マクロパラメーターを展開した後の式は括弧で囲む必要があります。

Rule 20.8 必要(Required)

MISRA.ELIF.COND.NOT_BOOL.2012  #elif 条件が 0 または 1 ではありません

MISRA.IF.COND.NOT_BOOL.2012  #if 条件が 0 または 1 ではありません

Rule 20.9 必要(Required)

MISRA.ELIF.UNDEF  #elif ディレクティブでマクロが定義されていません

MISRA.IF.UNDEF  #if ディレクティブでマクロが定義されていません

Rule 20.10 推奨(Advisory)

MISRA.DEFINE.SHARP  マクロ定義に # 演算子または ## 演算子が使用されています

Rule 20.11 必要(Required)

MISRA.DEFINE.SHARP.ORDER.2012  複数の '#' または '##' の評価の順番が指定されていません

Rule 20.12 必要(Required)

MISRA.DEFINE.SHARP.REPLACE.2012  それ自身さらなるマクロ置換の影響を受ける、'#' または '##' 演算子のオペランドとして使用されるマクロパラメーターは、これらの演算子のオペランドとしてのみ使用される。

Rule 20.13 必要(Required)

MISRA.USE.UNKNOWNDIR  不明なプリプロセッサディレクティブが使用されています

Rule 20.14 必要(Required)

MISRA.ELIF.OTHERFILE  不適切なファイルでの #elif

MISRA.ELSE.OTHERFILE  不適切なファイルでの #else

MISRA.ENDIF.OTHERFILE  不適切なファイルでの #endif

Rule 20.15 必要(Required)

MISRA.DEFINE.WRONGNAME  標準ライブラリからの名前がマクロ名に使用されています

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

MISRA.UNDEF.WRONGNAME  標準ライブラリからの名前が定義されていません

MISRA.UNDEF.WRONGNAME.UNDERSCORE  予約名が定義されていません

Rule 21.3 必要(Required)

MISRA.STDLIB.MEMORY  動的ヒープメモリ割り当ての使用

Rule 21.4 必要(Required)

MISRA.STDLIB.LONGJMP  setjmp マクロまたは longjmp 関数の使用

Rule 21.5 必要(Required)

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

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

Rule 21.6 必要(Required)

MISRA.DEFINE.STDIO.WCHAR.2012  不適切なマクロ展開です

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

MISRA.STDLIB.STDIO  プロダクションコードで入力/出力ライブラリ stdio.h が使用されています

MISRA.STDLIB.STDIO.WCHAR.2012  stdio.h からワイド文字と同等の識別子は使用しない

Rule 21.7 必要(Required)

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

Rule 21.8 必要(Required)

MISRA.STDLIB.ABORT.2012_AMD2  ライブラリ stdlib.h の 'abort'、'exit'、'quick_exit' または '_Exit' の使用

Rule 21.9 必要(Required)

MISRA.STDLIB.BSEARCH.2012  ライブラリ stdlib.h の 'bsearch' または 'qsort' が使用されています

Rule 21.10 必要(Required)

MISRA.DEFINE.WCSFTIME.2012  'wcsftime' の名前を持つマクロは拡張しない

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

MISRA.STDLIB.TIME  ライブラリ time.h の時間処理関数の使用

MISRA.STDLIB.WCSFTIME.2012  識別子 'wcsftime' は使用しない

Rule 21.13 必須(Mandatory)

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

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

Rule 21.14 必要(Required)

MISRA.MEMCMP.NTS.2012_AMD1  memcmp 関数は、null 以外で終わる文字列を比較するためにのみ使用しなければならない

MISRA.MEMCMP.NTS.GLOBAL.2012_AMD1  memcmp 関数は、null 以外で終わる文字列を比較するためにのみ使用しなければならない

Rule 21.15 必要(Required)

MISRA.STDLIB.INCOMPAT_ARGS.2012_AMD1  Memcpy、memmove、または memcmp へのポインタ引数は互換性のある型へのポインタではありません

Rule 21.16 必要(Required)

MISRA.STDLIB.MEMCMP.PTR_ARG_TYPES  標準ライブラリ関数 memcmp へのポインター引数は、ポインター型、本質的に符号付きの型、本質的に符号なしの型、本質的にブール型、または本質的に列挙型のどれかです

Rule 21.17 必須(Mandatory)

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

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

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

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

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

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

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

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

Rule 21.18 必須(Mandatory)

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

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

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

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

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

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

Rule 21.19 必須(Mandatory)

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

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

Rule 21.20 必須(Mandatory)

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

Rule 21.21 必要(Required)

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

Rule 21.24 必要(Required)

MISRA.STDLIB.RAND_FUNC.2023  'stdlib.h' の関数 rand と srand は使用しないでください

MISRA.STDLIB.RAND_MACRO.2023  'stdlib.h' の 'rand' および 'srand' という名前のマクロは展開されません

Rule 22.1 必要(Required)

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

MLK.MUST  メモリリーク

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

MLK.RET.MUST  メモリリーク

RH.LEAK  リソースリーク

Rule 22.2 必須(Mandatory)

FMM.MIGHT  メモリの解放の不一致の可能性

FMM.MUST  メモリの解放の不一致

FNH.MIGHT  非ヒープメモリの解放の可能性

FNH.MUST  非ヒープメモリの解放

FUM.GEN.MIGHT  未割り当てメモリの解放の可能性

FUM.GEN.MUST  未割り当てメモリの解放

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

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

Rule 22.3 必要(Required)

MISRA.RESOURCES.FILE.OPEN_READ_WRITE.2012  同じファイルに対して複数のストリームが開かれています

Rule 22.4 必須(Mandatory)

MISRA.RESOURCES.FILE.READ_ONLY_WRITE.2012  読み取り専用として開かれたストリームに書き込んではなりません

Rule 22.5 必須(Mandatory)

MISRA.FILE_PTR.DEREF.2012  FILE オブジェクトへのポインターは逆参照してはなりません

MISRA.FILE_PTR.DEREF.CAST.2012  オブジェクトは FILE ポインターにキャストされており、これを逆参照してはなりません。

MISRA.FILE_PTR.DEREF.INDIRECT.2012  FILE オブジェクトへのポインターは、システム関数で間接的に逆参照してはなりません

MISRA.FILE_PTR.DEREF.RETURN.2012  FILE オブジェクト(関数の戻り値)へのポインターは逆参照してはなりません

Rule 22.6 必須(Mandatory)

MISRA.RESOURCES.FILE.USE_AFTER_CLOSE.2012  FILE を指し示すポインターの値は、関連するストリームが閉じられたあとは使用しないでください

Rule 22.7 必要(Required)

MISRA.STDLIB.EOF.BAD_CMP.2012_AMD1  マクロ EOF は、EOF を返すことができる標準ライブラリ関数からの未変更の戻り値とのみ比較されなければなりません。

Rule 22.8 必要(Required)

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

Rule 22.9 必要(Required)

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

Rule 22.10 必要(Required)

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

MISRA C:2025 C99

ガイドライン カテゴリ チェッカー名および説明
Dir. 1.1 必要(Required)

Dir 1.2 推奨(Advisory)

MISRA.LANG.EXTENSIONS  言語拡張は使用するべきではありません

Dir. 2.1 必要(Required)

Dir. 3.1 必要(Required)

Dir 4.1 必要(Required)

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

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

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

ABV.ITERATOR  バッファオーバーフロー - 配列インデックスが範囲外の可能性

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

ABV.NON_ARRAY  非配列オブジェクトが配列として使用される

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

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

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

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

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

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

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

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

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

DBZ.GENERAL.FLOAT  浮動小数点数のゼロ除算が発生した可能性があります

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

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

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

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

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

Dir 4.2 推奨(Advisory)

MISRA.ASM.ENCAPS  アセンブリ言語が分離されていません

Dir 4.3 必要(Required)

MISRA.ASM.ENCAPS  アセンブリ言語が分離されていません

Dir 4.4 推奨(Advisory)

MISRA.TOKEN.COMMENTED.CODE  コメントにはコメントアウトされたソースコードが含まれているようです

Dir. 4.5 推奨(Advisory)

Dir 4.6 推奨(Advisory)

MISRA.BUILTIN_NUMERIC  組み込み数値型が使用されています

Dir 4.7 必要(Required)

SV.RVT.RETVAL_NOTTESTED  戻り値の無視

Dir 4.8 推奨(Advisory)

MISRA.STRUCT_DEF.HIDDEN.2012  構造体または共用体へのポインターが翻訳単位内で逆参照されない場合は、オブジェクトの実装を非表示にする必要があります。

Dir 4.9 推奨(Advisory)

MISRA.DEFINE.FUNC  マクロが関数のように定義されています

Dir 4.10 必要(Required)

MISRA.INCGUARD  インクルードガードが入力されていません

Dir. 4.11 必要(Required)

Dir. 4.12 必要(Required)

Dir. 4.13 推奨(Advisory)

Dir 4.14 必要(Required)

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  セキュリティ決定

Dir. 4.15 必要(Required)

Rule 1.3 必要(Required)

MISRA.ELIF.DEFINED  #elif ディレクティブで不正な 'defined' が使用されています

MISRA.EXPANSION.NARGS  マクロの引数がありません

MISRA.EXPANSION.UNSAFE  安全ではないマクロの使用

MISRA.IF.DEFINED  #if ディレクティブで不正な 'defined' が使用されています

MISRA.INCOMPLETE.STRUCT  不完全な構造タイプが使用されています

MISRA.INCOMPLETE.STRUCT.UNNAMED  名前のない不完全な構造タイプが使用されています

MISRA.INCOMPLETE.UNION  不完全な和集合タイプが使用されています

MISRA.INCOMPLETE.UNION.UNNAMED  名前のない不完全な和集合タイプが使用されています

Rule 1.5 必要(Required)

MISRA.LANG.OBSOLESCENT.BOOL_MACROS.2023  マクロ 'bool'、'true'、および 'false' を定義解除または再定義する機能は C 言語で陳腐化した機能です

MISRA.LANG.OBSOLESCENT.EMPTY_PARENTHESES.2023  空の括弧を含む関数宣言子の使用は、C 言語で陳腐化した機能です

MISRA.LANG.OBSOLESCENT.GETS_FUNCTION.2023  'gets' 関数は陳腐化しており、廃止されています

MISRA.LANG.OBSOLESCENT.INCONSISTENT_LINKAGE.2023  不整合な内部リンクは C 言語で陳腐化した機能です

MISRA.LANG.OBSOLESCENT.KR_FUNCTION_PARAMETERS.2023  (プロトタイプ形式のパラメーター型と識別子の宣言子ではなく) 別個のパラメーター識別子と宣言リストを含む関数定義の使用は、C 言語で陳腐化した機能です

MISRA.LANG.OBSOLESCENT.STORAGE_CLASS_POSITION.2023  宣言内で宣言指定子の先頭以外の場所にストレージクラス指定子を配置することは、陳腐化した機能です

Rule 2.1 必要(Required)

UNREACH.ENUM  enum が取りうる値が原因で、コードは到達不能になっています

UNREACH.GEN  到達不能コード

UNREACH.RETURN  到達不能な void return文

Rule 2.2 必要(Required)

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

LV_UNUSED.GEN  ローカル変数は使用されません

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

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

Rule 2.3 推奨(Advisory)

MISRA.UNUSED.GLOBAL_TYPE  プロジェクトには未使用の型宣言またはタグ宣言を含めない

MISRA.UNUSED.LOCAL_TYPE  プロジェクトには未使用の型宣言を含めないでください

Rule 2.4 推奨(Advisory)

MISRA.UNUSED.ENUM_TAG  プロジェクトには未使用のタグ宣言を含めないでください

MISRA.UNUSED.GLOBAL_TYPE  プロジェクトには未使用の型宣言またはタグ宣言を含めない

Rule 2.5 推奨(Advisory)

MISRA.UNUSED_MACRO.2012  プロジェクトには未使用のマクロ宣言を含めない

Rule 2.6 推奨(Advisory)

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

Rule 2.7 推奨(Advisory)

MISRA.FUNC.UNUSEDPAR.2012  関数に未使用のパラメーターがあります

Rule 2.8 推奨(Advisory)

MISRA.UNUSED_OBJECT_DEFINITIONS.2023  プロジェクトに未使用のオブジェクト定義を含めないでください

Rule 3.1 必要(Required)

MISRA.TOKEN.BADCOM  コメントに不適切な文字列があります

Rule 3.2 必要(Required)

MISRA.TOKEN.CPCOM.MULTILINE.2012  //コメントでラインスプライシングが使用されています

Rule 4.1 必要(Required)

MISRA.TOKEN.UNTERMINATED.ESCAPE.2012  文字列リテラルに終端されていないエスケープシーケンスがあります

Rule 4.2 推奨(Advisory)

MISRA.CHAR.TRIGRAPH  3 文字表記の使用

Rule 5.1 必要(Required)

MISRA.EXT.IDENT.DISTINCT.2012.C99  外部識別子は、実装によって指定された制限内で一意である必要があります。

Rule 5.2 必要(Required)

MISRA.IDENT.DISTINCT.C99.2012  同一のスコープまたは同一の名前空間で宣言された識別子が区別されていません

Rule 5.3 必要(Required)

MISRA.VAR.HIDDEN  内部のスコープで宣言された識別子によって外部のスコープの識別子が非表示になっています

Rule 5.4 必要(Required)

MISRA.DEFINE.NOT_DISTINCT.C99.2012  識別子名が長すぎます

Rule 5.5 必要(Required)

MISRA.MACRO.IDENT.DISTINCT.C99.2012  識別子は最初の 63 文字内でマクロ名と区別されなければならない

Rule 5.6 必要(Required)

MISRA.TYPEDEF.NOT_UNIQUE.2012  Typedef 名がその他のエンティティ用に使用されています

Rule 5.7 必要(Required)

MISRA.CT.UNIQUE.ID.2012  識別子がタグ名と不整合です

Rule 5.8 必要(Required)

MISRA.IDENT.NONUNIQUE.EXTERNAL.2012  外部リンクを持つオブジェクトまたは関数を定義する識別子は一意でなければなりません。

Rule 5.9 推奨(Advisory)

MISRA.IDENT.NONUNIQUE.INTERNAL.2012  内部リンクを持つオブジェクトまたは関数を定義する識別子は一意でなければなりません。

Rule 5.10 必要(Required)

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

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

Rule 6.1 必要(Required)

MISRA.BITFIELD.TYPE.2012  ビットフィールドの型は、ブール、符号付き/符号なし整数のいずれでもありません

Rule 6.2 必要(Required)

MISRA.BITFIELD.SIGNED  名前付きの符号付きビットフィールドの長さが 2 未満です

Rule 6.3 必要(Required)

MISRA.BITFIELD.UNION  和集合にビットフィールドがメンバーとして含まれています

Rule 7.1 必要(Required)

MISRA.TOKEN.OCTAL.INT  8 進数の整数定数を使用しています

Rule 7.2 必要(Required)

MISRA.LITERAL.UNSIGNED.SUFFIX  'U' 添え字の付かない符号なし整数リテラルです

Rule 7.3 必要(Required)

MISRA.TOKEN.L.SUFFIX.FLOAT  浮動小数点定数では、小文字 "l" 接尾辞を使用

MISRA.TOKEN.L.SUFFIX.INT  整数定数では、小文字 "l" 接尾辞を使用

Rule 7.4 必要(Required)

MISRA.STRING_LITERAL.NON_CONST.2012  オブジェクトの種類が const-qualified char のポインターでない限り、文字列リテラルはオブジェクトに割り当てられません

Rule 7.5 必須(Mandatory)

MISRA.INTEGER_CONSTANT.MACRO.FLOAT_VALUE  整数定数マクロの引数は、浮動小数点数であってはなりません

MISRA.INTEGER_CONSTANT.MACRO.RANGE  整数定数マクロの引数は、範囲内でなければなりません

MISRA.INTEGER_CONSTANT.MACRO.SUFFIX  整数定数マクロの引数は、接尾辞が付かない整数定数でなければなりません

Rule 7.6 必要(Required)

MISRA.MACRO.INTEGER_CONSTANT.SMALL_VARIANT.2023  最小幅の整数定数マクロの小さな整数バリアントは使用しないでください

Rule 8.2 必要(Required)

MISRA.FUNC.NO_PARAMS  パラメーターのない関数に void パラメータータイプがありません

MISRA.FUNC.PROT_FORM.KR.2012  関数タイプはプロトタイプ形式です

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

MISRA.FUNC.UNNAMED.PARAMS  関数の宣言に名前のないパラメーターがあります

Rule 8.3 必要(Required)

MISRA.DECL.FUNC.NAME.QUAL.2012  オブジェクトまたは関数のすべての宣言は、同じ名前と型の修飾子を使用します

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

MISRA.OBJ.FUNC.PARAMS.IDENT  オブジェクトまたは関数のすべての宣言は、同じ名前と型修飾子を使用します

Rule 8.4 必要(Required)

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

Rule 8.5 必要(Required)

MISRA.DECL.EXTERNAL.MULTIPLE  外部リンクを持つオブジェクトまたは関数の宣言は、1 つの場所にのみ存在する必要があります。

Rule 8.6 必要(Required)

MISRA.DEFINE.EXTERNAL.MULTIPLE  外部リンクを持つオブジェクトまたは関数の定義は、1 つの場所にのみ存在する必要があります。

Rule 8.7 推奨(Advisory)

MISRA.EXT.LINKAGE.REDUNDANT.2012  関数とオブジェクトが 1 つの翻訳単位のみで参照される場合、外部リンケージで定義しないでください

Rule 8.8 必要(Required)

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

Rule 8.9 推奨(Advisory)

CXX.ID_VIS.GLOBAL_VARIABLE.EXTERN  extern グローバル変数の可視範囲が広すぎます

CXX.ID_VIS.GLOBAL_VARIABLE.STATIC  static グローバル変数の可視範囲が広すぎます

Rule 8.10 必要(Required)

MISRA.DECL.FUNC.INLINE.STATIC.2012  静的ストレージクラス(static)が付与されていないインライン関数の宣言

Rule 8.11 推奨(Advisory)

MISRA.DECL.ARRAY_SIZE  配列の宣言でサイズが不明です

Rule 8.12 必要(Required)

MISRA.ENUM.IMPLICIT.VAL.NON_UNIQUE.2012  暗黙的列挙子値は一意ではありません

Rule 8.13 推奨(Advisory)

MISRA.PPARAM.NEEDS.CONST  ポインタパラメーターを使用しないでアドレスされたオブジェクトを変更していますが、const を指すポインタとして宣言されていません

Rule 8.14 必要(Required)

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

Rule 9.1 必須(Mandatory)

UNINIT.STACK.ARRAY.MIGHT  未初期化の配列の可能性

UNINIT.STACK.ARRAY.MUST  未初期化の配列

UNINIT.STACK.ARRAY.PARTIAL.MUST  一部が未初期化の配列

UNINIT.STACK.MIGHT  未初期化の変数の可能性

UNINIT.STACK.MUST  未初期化の変数

Rule 9.2 必要(Required)

MISRA.INIT.BRACES.2012  集計または共用体の初期化子が波括弧で囲まれていません

Rule 9.3 必要(Required)

MISRA.INIT.PARTIAL.2012  配列が部分的に初期化されています

Rule 9.4 必要(Required)

MISRA.INIT.MULTIPLE.2012  オブジェクトの要素が複数回初期化されています

Rule 9.5 必要(Required)

MISRA.INIT.SIZE.IMPLICIT.2012  指定された初期化子が、配列のサイズが明示的に指定されない場合に、配列オブジェクトを初期化するために使用されます

Rule 9.6 必要(Required)

MISRA.INIT.DESIGNATOR_LIST.2023  連鎖指定子を使用する初期化子には、指定子のない初期化子を含めないでください

Rule 10.1 必要(Required)

MISRA.ETYPE.INAPPR.OPERAND.BINOP.2012   バイナリ演算子へのオペランドには、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.INDEXPR.2012   インデックス式に、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.TERNOP.2012   三項演算子への最初のオペランドには、不適切な基本タイプがあります

MISRA.ETYPE.INAPPR.OPERAND.UNOP.2012   単項演算子へのオペランドには、不適切な基本タイプがあります

Rule 10.2 必要(Required)

MISRA.ETYPE.INAPPR.CHAR.2012   加算または減算演算で、基本的な文字タイプの不適切な使用法。

Rule 10.3 必要(Required)

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

Rule 10.4 必要(Required)

MISRA.ETYPE.CATEGORY.DIFFERENT.2012   通常の算術演算変換が実行される演算子のオペランドに、同じ基本タイプカテゴリーがありません。

Rule 10.5 推奨(Advisory)

MISRA.ETYPE.INAPPR.CAST.2012   式の値は、不適切な基本タイプへのキャストです

Rule 10.6 必要(Required)

MISRA.ETYPE.COMP.ASSIGN.2012   複合式の値は、より広い基本タイプを持つオブジェクトに割り当てられました。

Rule 10.7 必要(Required)

MISRA.ETYPE.COMP.CAST.IMPL.WIDER.2012   通常の算術演算変換が実行される演算子のオペランドとして使用される複合式には、より広い基本タイプを持つ他のオペランドがあります。

Rule 10.8 必要(Required)

MISRA.ETYPE.COMP.CAST.EXPL.DIFFERENT.2012   複合式の値は、異なる基本タイプカテゴリーへのキャストです

MISRA.ETYPE.COMP.CAST.EXPL.WIDER.2012   複合式の値は、より広い基本タイプへのキャストです

Rule 11.1 必要(Required)

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

Rule 11.2 必要(Required)

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

Rule 11.3 必要(Required)

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

Rule 11.4 必要(Required)

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

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

Rule 11.5 推奨(Advisory)

MISRA.CAST.VOID_PTR_TO_OBJ_PTR.2012   void ポインタから、オブジェクトを指すポインタに実行された変換

Rule 11.6 必要(Required)

MISRA.CAST.VOID_PTR_TO_INT.2012   void を指すポインタと算術演算タイプとの間のキャスト

Rule 11.8 必要(Required)

MISRA.CAST.CONST  キャスト演算により const または volatile がポインターまたは参照から除外されます。

Rule 11.9 必要(Required)

MISRA.LITERAL.NULL.PTR.CONST.2012  マクロ NULL は、唯一許可された整数 null ポインター定数のフォームです。

Rule 12.1 推奨(Advisory)

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

MISRA.EXPR.PARENS.SIZEOF.2012  sizeof 演算子のオペランドは括弧に入れる必要があります。

Rule 12.2 必要(Required)

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

Rule 12.3 推奨(Advisory)

MISRA.COMMA  カンマ演算子が使用されています

Rule 12.4 推奨(Advisory)

MISRA.COMP.WRAPAROUND  条件内でラップアラウンドしています

Rule 12.5 必須(Mandatory)

MISRA.EXPR.SIZEOF.ARRAY_PARAM.2012_AMD1  sizeof 演算子に「配列型」として宣言された関数パラメータとなっているオペランドが含まれています。

Rule 13.1 必要(Required)

MISRA.INIT.SIDE_EFFECT  初期化子リスト値には、永続的な副作用が含まれます

Rule 13.2 必要(Required)

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

Rule 13.3 推奨(Advisory)

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

Rule 13.4 推奨(Advisory)

MISRA.ASSIGN.SUBEXPR.2012  代入演算子の結果が使用されます

Rule 13.5 必要(Required)

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

Rule 13.6 必要(Required)

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

Rule 14.1 必要(Required)

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

Rule 14.2 必要(Required)

MISRA.FOR.BODY.LOOP_CTR_MODIFIED  ループカウンターをループ本体で変更しないでください

MISRA.FOR.BODY.LOOP_CTR_MODIFIED.MIGHT  ループカウンターをループ本体で変更しないでください

MISRA.FOR.COND.COUNTER_UNUSED  ループの 2 番目の節は、ループカウンターを使用します

MISRA.FOR.COND.INVALID_USE  ループの 2 番目の節では、ループ本体で変更されたオブジェクトは使用されません。

MISRA.FOR.COND.INVALID_USE.MIGHT  ループの 2 番目の節では、ループ本体で変更されたオブジェクトは使用されません。

MISRA.FOR.COND.PURE  ループの 2 番目の節は、永続的な副作用のない単一式であることが必要です

MISRA.FOR.COND.SINGLE_PURE  ループの 2 番目の節は、永続的な副作用のない単一式であることが必要です

MISRA.FOR.ITER_EXPR.INVALID_USE  ループの 3 番目の節では、ループ本体で変更されたオブジェクトは使用されません。

MISRA.FOR.ITER_EXPR.INVALID_USE.MIGHT  ループの 3 番目の節では、ループ本体で変更されたオブジェクトは使用されません。

MISRA.FOR.ITER_EXPR.MULTI_SIDE_EFFECTS  ループの 3 番目の節は、ループカウンターに対する永続的な副作用のみが含まれます。

MISRA.FOR.ITER_EXPR.ONE_EXPR  ループの 3 番目の節は単一式であることが必要です

MISRA.FOR.MULTI_INIT  ループの最初の節は空にするか、ループカウンターに値を代入します

MISRA.FOR.UNINIT_COUNTER  ループの最初の節は空にするか、ループカウンターに値を代入します

Rule 14.3 必要(Required)

INVARIANT_CONDITION.GEN  不変な条件式

INVARIANT_CONDITION.UNREACH  不変な条件式

Rule 14.4 必要(Required)

MISRA.STMT.COND.NOT_BOOLEAN.2012  'if' ステートメントまたは 'loop' ステートメントの制御式が 'Essentially Boolean' 型ではありません

Rule 15.1 推奨(Advisory)

MISRA.GOTO  goto ステートメントが使用されています

Rule 15.2 必要(Required)

MISRA.GOTO.AFTER_LABEL.2012   Goto は、同じ関数で前に宣言されたラベルにジャンプします。

Rule 15.3 必要(Required)

MISRA.GOTO.NESTED.2012   goto に参照されたラベルは、このブロック、または、それを囲むブロックの中にありません。

Rule 15.4 推奨(Advisory)

MISRA.BREAK_OR_GOTO.MULTIPLE.2012  反復ステートメントに複数の break または for ループ終端への複数の goto があります

Rule 15.5 不适用(Disapplied)

MISRA.RETURN.NOT_LAST  関数内で return が最後のステートメントになっていません

Rule 15.6 必要(Required)

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

MISRA.STMT.NO_COMPOUND  switch、while、do/while または for ステートメントのボディが複合ステートメントではありません

Rule 15.7 必要(Required)

MISRA.IF.NO_ELSE  if/else-if ステートメントのチェインが else で終了していないか、または空の else 句で終了しています

Rule 16.1 必要(Required)

MISRA.SWITCH.WELL_FORMED.2012  すべての switch ステートメントは形式が適切である必要があります。

Rule 16.2 必要(Required)

MISRA.SWITCH.WELL_FORMED.NESTED_LABEL.2012  switch ラベルは、最も近くで囲い込む複合ステートメントが switch ステートメントの本文の場合にのみ使用されます。

Rule 16.3 必要(Required)

MISRA.SWITCH.WELL_FORMED.BREAK.2012  条件なしの break ステートメントで各 switch 句を終了するべきです。

Rule 16.4 必要(Required)

MISRA.SWITCH.WELL_FORMED.DEFAULT.2012  各 switch ステートメントはデフォルトラベルを有するべきです。

Rule 16.5 必要(Required)

MISRA.SWITCH.WELL_FORMED.DEFAULT.FIRST_OR_LAST.2012  デフォルトのラベルが switch ステートメントの最初または最後の switch ラベルのいずれかとして表示されるべきです。

Rule 16.6 必要(Required)

MISRA.SWITCH.WELL_FORMED.TWO_CLAUSES.2012  各 switch ステートメントは少なくとも 2 つの switch 句を有するべきです。

Rule 16.7 必要(Required)

MISRA.SWITCH.COND.BOOL.2012  switch 文は基本的にブールデータ型を有しているべきではありません。

Rule 17.1 必要(Required)

MISRA.FUNC.VARARG  関数が可変数の引数を持っています

Rule 17.2 必要(Required)

MISRA.FUNC.RECUR  再帰関数

Rule 17.3 必須(Mandatory)

MISRA.FUNC.NODECL.CALL.2012  関数は暗黙的に宣言されました

Rule 17.4 必須(Mandatory)

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

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

Rule 17.5 必要(Required)

MISRA.ARRAY.ARG_SIZE  配列引数は適切なサイズでなければなりません

MISRA.ARRAY.ARG_SIZE.MIGHT  配列引数は適切なサイズでなければなりません

Rule 17.7 必要(Required)

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

Rule 17.8 推奨(Advisory)

MISRA.FUNC.MODIFIEDPAR.2012  関数パラメーターは変更してはなりません

Rule 17.12 推奨(Advisory)

MISRA.FUNC.IDENTIFIER_USAGE.CHECK.2023  関数ポインターは、'&' が接頭辞の場合に使用するか、または括弧で囲まれたパラメーターリストの一部として使用しなければなりません

Rule 17.13 必要(Required)

MISRA.FUNC.TYPE.TYPE_QUALIFIED  関数型が型修飾子と共に使用されています

Rule 18.1 必要(Required)

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

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

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

MISRA.PTR.ARITH.NOT_SAME.2012  ポインターオペランドの計算から得られるポインターは、そのポインターオペランドと同じ配列の要素をアドレス指定します

Rule 18.2 必要(Required)

MISRA.PTR.SUB  ポインターの減算は、同じ配列を指している場合にのみ適用されます

MISRA.PTR.SUB.OBJECT  ポインターの減算は、同じオブジェクトを指している場合にのみ適用されます

Rule 18.3 必要(Required)

MISRA.PTR.CMP.2008  比較演算子を使用したポインターの比較は、同じ配列を指していて、範囲内にある場合にのみ適用されます

MISRA.PTR.CMP.OBJECT.2008  比較演算子を使用したポインターの比較は、同じオブジェクトを指しており、範囲内である場合にのみ適用されます

Rule 18.4 推奨(Advisory)

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

Rule 18.5 推奨(Advisory)

MISRA.PTR.TO_PTR_TO_PTR  ポインタ宣言に 2 つ以上のレベルの間接指定があります

Rule 18.6 必要(Required)

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

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

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

Rule 18.7 必要(Required)

MISRA.MEMB.FLEX_ARRAY.2012  柔軟な配列メンバーは宣言しないでください

Rule 18.8 必要(Required)

MISRA.ARRAY.VAR_LENGTH.2012  変数の長さの配列種類は使用しないでください

Rule 18.9 必要(Required)

MISRA.CONV.TEMP_ARRAY_TO_PTR.2023  一時的な有効期間のあるオブジェクトでは、配列からポインターへの変換を行ってはなりません

Rule 18.10 必須(Mandatory)

MISRA.PTR.VAR_MOD_ARRAY.2023  TRANSLATE ME: A pointer to a variably modified array type shall not be used to initialize a non-pointer object or as a parameter declaration

Rule 19.1 必須(Mandatory)

MISRA.ASSIGN.OVERLAP  オブジェクトがオーバーラップするオブジェクトに割り当てられています

Rule 19.2 推奨(Advisory)

MISRA.UNION  和集合が使用されています

Rule 20.1 推奨(Advisory)

MISRA.INCL.INSIDE  include ディレクティブの前にプリプロセッサ出力トークンがあります

Rule 20.2 必要(Required)

MISRA.INCL.SYMS  ヘッダーファイル名に非標準文字が使用されています

Rule 20.3 必要(Required)

MISRA.INCL.BAD  非標準の include ディレクティブです

Rule 20.4 必要(Required)

MISRA.DEFINE.WRONGNAME.C99.2012  マクロはキーワードと同じ名前で定義してはなりません

Rule 20.5 推奨(Advisory)

MISRA.UNDEF  定義のない使用です

Rule 20.6 必要(Required)

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

Rule 20.7 必要(Required)

MISRA.MACRO_ARG.EXPRESSION.2012  マクロパラメーターを展開した後の式は括弧で囲む必要があります。

Rule 20.8 必要(Required)

MISRA.ELIF.COND.NOT_BOOL.2012  #elif 条件が 0 または 1 ではありません

MISRA.IF.COND.NOT_BOOL.2012  #if 条件が 0 または 1 ではありません

Rule 20.9 必要(Required)

MISRA.ELIF.UNDEF  #elif ディレクティブでマクロが定義されていません

MISRA.IF.UNDEF  #if ディレクティブでマクロが定義されていません

Rule 20.10 推奨(Advisory)

MISRA.DEFINE.SHARP  マクロ定義に # 演算子または ## 演算子が使用されています

Rule 20.11 必要(Required)

MISRA.DEFINE.SHARP.ORDER.2012  複数の '#' または '##' の評価の順番が指定されていません

Rule 20.12 必要(Required)

MISRA.DEFINE.SHARP.REPLACE.2012  それ自身さらなるマクロ置換の影響を受ける、'#' または '##' 演算子のオペランドとして使用されるマクロパラメーターは、これらの演算子のオペランドとしてのみ使用される。

Rule 20.13 必要(Required)

MISRA.USE.UNKNOWNDIR  不明なプリプロセッサディレクティブが使用されています

Rule 20.14 必要(Required)

MISRA.ELIF.OTHERFILE  不適切なファイルでの #elif

MISRA.ELSE.OTHERFILE  不適切なファイルでの #else

MISRA.ENDIF.OTHERFILE  不適切なファイルでの #endif

Rule 20.15 必要(Required)

MISRA.DEFINE.WRONGNAME  標準ライブラリからの名前がマクロ名に使用されています

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

MISRA.UNDEF.WRONGNAME  標準ライブラリからの名前が定義されていません

MISRA.UNDEF.WRONGNAME.UNDERSCORE  予約名が定義されていません

Rule 21.3 必要(Required)

MISRA.STDLIB.MEMORY  動的ヒープメモリ割り当ての使用

Rule 21.4 必要(Required)

MISRA.STDLIB.LONGJMP  setjmp マクロまたは longjmp 関数の使用

Rule 21.5 必要(Required)

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

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

Rule 21.6 必要(Required)

MISRA.DEFINE.STDIO.WCHAR.2012  不適切なマクロ展開です

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

MISRA.STDLIB.STDIO  プロダクションコードで入力/出力ライブラリ stdio.h が使用されています

MISRA.STDLIB.STDIO.WCHAR.2012  stdio.h からワイド文字と同等の識別子は使用しない

Rule 21.7 必要(Required)

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

Rule 21.8 必要(Required)

MISRA.STDLIB.ABORT.2012_AMD2  ライブラリ stdlib.h の 'abort'、'exit'、'quick_exit' または '_Exit' の使用

Rule 21.9 必要(Required)

MISRA.STDLIB.BSEARCH.2012  ライブラリ stdlib.h の 'bsearch' または 'qsort' が使用されています

Rule 21.10 必要(Required)

MISRA.DEFINE.WCSFTIME.2012  'wcsftime' の名前を持つマクロは拡張しない

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

MISRA.STDLIB.TIME  ライブラリ time.h の時間処理関数の使用

MISRA.STDLIB.WCSFTIME.2012  識別子 'wcsftime' は使用しない

Rule 21.11 推奨(Advisory)

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

Rule 21.12 必要(Required)

MISRA.STDLIB.FENV.2012  fenv.h からの浮動小数点の例外機能機能が使用されています

MISRA.STDLIB.FENV.MACRO.2012  fenv.h からの浮動小数点の例外機能機能が使用されています

Rule 21.13 必須(Mandatory)

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

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

Rule 21.14 必要(Required)

MISRA.MEMCMP.NTS.2012_AMD1  memcmp 関数は、null 以外で終わる文字列を比較するためにのみ使用しなければならない

MISRA.MEMCMP.NTS.GLOBAL.2012_AMD1  memcmp 関数は、null 以外で終わる文字列を比較するためにのみ使用しなければならない

Rule 21.15 必要(Required)

MISRA.STDLIB.INCOMPAT_ARGS.2012_AMD1  Memcpy、memmove、または memcmp へのポインタ引数は互換性のある型へのポインタではありません

Rule 21.16 必要(Required)

MISRA.STDLIB.MEMCMP.PTR_ARG_TYPES  標準ライブラリ関数 memcmp へのポインター引数は、ポインター型、本質的に符号付きの型、本質的に符号なしの型、本質的にブール型、または本質的に列挙型のどれかです

Rule 21.17 必須(Mandatory)

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

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

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

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

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

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

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

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

Rule 21.18 必須(Mandatory)

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

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

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

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

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

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

Rule 21.19 必須(Mandatory)

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

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

Rule 21.20 必須(Mandatory)

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

Rule 21.21 必要(Required)

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

Rule 21.22 必須(Mandatory)

MISRA.STDLIB.TGMATH.MACRO.ESSENTIAL_TYPE.2023  TRANSLATE ME: All operand arguments passed to the type-generic macros defined in tgmath.h shall have essentially signed, essentially unsigned or essentially floating (either essentially real floating or essentially complex floating) type

Rule 21.23 必要(Required)

MISRA.STDLIB.TGMATH.MACRO.2023  tgmath.h で定義された複引数マクロに渡されるすべてのオペランド引数は同じ標準型でなければなりません

Rule 21.24 必要(Required)

MISRA.STDLIB.RAND_FUNC.2023  'stdlib.h' の関数 rand と srand は使用しないでください

MISRA.STDLIB.RAND_MACRO.2023  'stdlib.h' の 'rand' および 'srand' という名前のマクロは展開されません

Rule 22.1 必要(Required)

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

MLK.MUST  メモリリーク

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

MLK.RET.MUST  メモリリーク

RH.LEAK  リソースリーク

Rule 22.2 必須(Mandatory)

FMM.MIGHT  メモリの解放の不一致の可能性

FMM.MUST  メモリの解放の不一致

FNH.MIGHT  非ヒープメモリの解放の可能性

FNH.MUST  非ヒープメモリの解放

FUM.GEN.MIGHT  未割り当てメモリの解放の可能性

FUM.GEN.MUST  未割り当てメモリの解放

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

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

Rule 22.3 必要(Required)

MISRA.RESOURCES.FILE.OPEN_READ_WRITE.2012  同じファイルに対して複数のストリームが開かれています

Rule 22.4 必須(Mandatory)

MISRA.RESOURCES.FILE.READ_ONLY_WRITE.2012  読み取り専用として開かれたストリームに書き込んではなりません

Rule 22.5 必須(Mandatory)

MISRA.FILE_PTR.DEREF.2012  FILE オブジェクトへのポインターは逆参照してはなりません

MISRA.FILE_PTR.DEREF.CAST.2012  オブジェクトは FILE ポインターにキャストされており、これを逆参照してはなりません。

MISRA.FILE_PTR.DEREF.INDIRECT.2012  FILE オブジェクトへのポインターは、システム関数で間接的に逆参照してはなりません

MISRA.FILE_PTR.DEREF.RETURN.2012  FILE オブジェクト(関数の戻り値)へのポインターは逆参照してはなりません

Rule 22.6 必須(Mandatory)

MISRA.RESOURCES.FILE.USE_AFTER_CLOSE.2012  FILE を指し示すポインターの値は、関連するストリームが閉じられたあとは使用しないでください

Rule 22.7 必要(Required)

MISRA.STDLIB.EOF.BAD_CMP.2012_AMD1  マクロ EOF は、EOF を返すことができる標準ライブラリ関数からの未変更の戻り値とのみ比較されなければなりません。

Rule 22.8 必要(Required)

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

Rule 22.9 必要(Required)

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

Rule 22.10 必要(Required)

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

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