"混合最小規則" 規則セット
Microsoft は、共通言語ランタイムをサポートする C++ の最も重要な問題に、セキュリティ ホールが最小規則に重点を置くプロジェクト混乱し、アプリケーションがクラッシュします。共通言語ランタイムをサポートする C++ プロジェクトにカスタムの規則セットを作成する場合は、必ずこの規則セットを含める必要があります。
規則 |
説明 |
---|---|
初期化されていないメモリの使用 |
|
Null ポインターの逆参照 |
|
未確認の値の使用 |
|
呼び出しの 0 での終了 |
|
不適切な連結 |
|
Format 関数への文字列引数がない |
|
Format 関数への整数引数がない |
|
Format 関数へのポインター引数がない |
|
Format 関数への文字列ポインター引数がない |
|
初期化されていないメモリを返します |
|
インデックスがバッファーの最大値を超過 |
|
インデックスがスタック バッファーの最大値を超過 |
|
Format 関数への Float 引数がない |
|
Format 関数への余分な引数 |
|
Format 関数への Float でない引数 |
|
関数の書式を指定する整数以外 Argumen |
|
Format 関数への文字でない引数 |
|
無効な文字列のキャスト |
|
無効な CreateProcess 呼び出し |
|
Format 関数への無効なオブジェクト引数 |
|
論理否定演算子ビットごとの and 優先順位 |
|
論理否定演算子ビットごとの OR の優先順位 |
|
Format 関数への無効な文字列引数 |
|
Format 関数への無効なワイド文字列引数 |
|
サイズと数の使用の不一致 |
|
不適切な変数引数の関数呼び出し |
|
引数の型の不一致の可能性 |
|
読み取りのオーバーラン |
|
書き込みのオーバーラン |
|
無効なパラメーター値 |
|
無効な属性プロパティ |
|
属性プロパティ値の競合 |
|
参照は Null にはできない |
|
非ポインターでの Null |
|
Void での MustCheck |
|
非ポインターまたは配列でのバッファー サイズ |
|
逆参照ゼロの空白の不一致 |
|
定数での書き込みアクセス |
|
前提条件で使用される Return |
|
非ポインターでの Null 終了 |
|
MustCheck は Yes または No でなければならない |
|
バッファー サイズのない要素サイズ |
|
バッファー サイズが配列サイズを超過 |
|
非ポインターでのバッファー サイズ |
|
属性にプロパティがない |
|
読み取り可能でないバッファーでの有効なサイズ |
|
書き込み可能でないバッファーでの書き込み可能サイズ |
|
無効な注釈です: 「NeedsRelease」プロパティの値がはいといいえの指定 |
|
無効なサイズの文字列参照解除 |
|
無効なサイズの文字列型 |
|
無効なサイズを文字列パラメーター |
|
無効なサイズの到達不能な場所の文字列 |
|
無効なサイズの文字列バッファーの型 |
|
無効な注釈です: 'NeedsRelease' プロパティは、void 型の値では使用できません |
|
認識されない書式指定文字列スタイル |
|
この関数の属性の注釈を使用すると、既存の__declspec 注釈がすべて無効になります。 |
|
無効なサイズ指定です: 解析できる式 |
|
無効な Deref= または Notref=: 解析できる式 |
|
値が有効な Yes/No/Maybe 値ではありません。 |
|
値は、文字列値ではありません。 |
|
value が数ではありません。 |
|
予期しない注釈の式のエラー |
|
注釈の引数の予期された数は、注釈の引数の実際の数は一致しません |
|
注釈の予期しないエラーの注釈 |
|
注釈が付けられているパラメーターはポインターである必要があります |
|
NULL ポインターを逆参照しています。ポインターは別のポインターと同じ null 値が含まれます。 |
|
静的でないメンバーへの参照が正しくありません |
|
クラス メンバーへのあいまいな参照です。 |
|
_Success_ または _On_failure_ が無効なコンテキスト内で使用されています |
|
左のオペランドは構造体、使用"ポイント> |
|
左のオペランドは構造体、使用「」。 |
|
__on_failure のコンテキストの注釈はコンテキストに明示前にある必要があります。 |
|
SAL_context には静的コンテキスト名が必要です |
|
注釈にはポインター式が必要です |
|
_Use_decl_annotations_ 注釈は、変更、先行する宣言なしで、参照に使用される必要があります。 |
|
属性パラメーター名は、p1...p9 である必要があります |
|
typefix は、既に typefix のあるパラメーターには適用できません |
|
checkReturn の注釈は、関数のパラメーターの事後条件にのみ適用されます。 |
|
関数では、注釈に渡すパラメーターの個数はファイルにある一致しません。 |
|
関数の paramteer では、注釈のパラメーターはファイルにある一致しません。 |
|
注釈 (注釈のパラメーター) には列挙型のメンバーが必要です |
|
整数式は、注釈で注釈のパラメーターが必要です。 |
|
注釈のパラメーターには文字列式が必要です |
|
注釈には __yes、__no、または __maybe が必要です |
|
注釈、パラメーターの予期されるトークンまたは識別子が見つかりませんでした |
|
注釈にはパラメーターが必要です |
|
注釈の必須パラメーターの正しい数が見つかりませんでした |
|
注釈は、PrimOp (現在の宣言内) になることもできません |
|
注釈は、PrimOp (前の宣言を参照) になることもできません |
|
注釈パラメーター: 型の注釈は使用できません |
|
注釈はパラメーターをサポートしません |
|
パラメーターの型とメンバーはありません。 |
|
注釈は配列でのみ有効です |
|
前に、注釈に適用されないポスト、または deref |
|
前に、POST、または deref はブロックに適用します。 |
|
__at の式は、現在の関数には適用されません。 |
|
関数は、注釈としてスタンドアロンのできません |
|
注釈は式では使用できません |
|
パラメーターの注釈はサポートされていません。 |
|
注釈は、パラメーターの値 stringValue と longValue 1 を超える場合があります。paramn=xxx を使用してください |
|
パラメーターの注釈の値、stringValue、または longValue;があります。と paramn=xxx。paramn=xxx のみを使用してください |
|
パラメーターに注釈を付けることに param2 param1 はありません |
|
パラメーターを使用する関数の注釈が認識されない |
|
パラメーターを使用する関数の注釈を実際の型で注釈が付けられた割り当てよりも多くの逆参照が必要です。 |
|
関数の注釈は非メンバー関数の" this "注釈を |
|
関数のパラメーター注釈は、パラメーターの型と一致しません。 |
|
関数の競合する注釈: 前のインスタンスにエラーがあります。 |
|
関数の競合する注釈: このインスタンスにエラーがあります。 |
|
関数の競合する注釈: パラメーターにこのインスタンスの別の注釈があります。 |
|
関数の競合する注釈: パラメーターにこのインスタンスの別の注釈があります。 |
|
dynamic_cast が<>注釈 () でサポートされていません |
|
注釈の構文エラーは、注釈の関数で、見つかりました |
|
条件で構文エラーは、基本的な注釈に見つかりました |
|
結果リストの値は定数である必要があります。 |
|
注釈の構文エラーは、関数で見つかった注釈です。 |
|
確認が関数宣言と矛盾しているときに、関数パラメーターの注釈 |
|
関数の場合、手掛かりが関数宣言と一致しません。 |
|
_Macro_value_ へのパラメーターが null です |
|
シンボルについては、「 () 」が見つかりました。一致の末尾「なし" |
|
シンボルについては、「終了」が一致しない中「で始まり」 |
|
書式指定文字列は、前提条件の中に存在する必要があります |
|
関数の場合、パラメーターの構文エラー |
|
関数の場合、最後の近くに構文エラーがあります。 |
|
関数の場合、_At_() の注釈 (認識されないパラメーター名) の構文エラー |
|
関数の場合、_At_() の注釈 (無効なパラメーターの名前) の構文エラー |
|
関数の場合: ReadableTo または WritableTo にパラメーターとして制限仕様はありませんでした。 |
|
関数の注釈は、パラメーターの実際の数よりも多くの外部が含まれます。 |
|
deref レベル 0 の投稿の空白と notnull は関数ごとに無意味です。 |
|
演算子に対する互換性のない型の、式のオペランドです |
|
関数の最初の宣言の注釈はありません。 |
|
追加_Deref_の演算子は、注釈で見つかりました。 |
|
あいまいな_Deref_の演算子は、注釈で見つかりました。 |
|
不適切に配置_Notref_の演算子はトークンに適用見つかりました。 |
|
トークンを解析することが検出されると、エラーが発生します。 |
|
注釈は、条件付きで適用できない状況を示します。 |
|
注釈は、動的な値 (変数) が条件のどこに使用できないことを示します。 |
|
破棄可能なフィールドを所有する型は、破棄可能でなければなりません |
|
空のファイナライザーを削除します |
|
破棄可能なフィールドは破棄されなければなりません |
|
ValueType.Equals のオーバーライドで、演算子 equals をオーバーロードします。 |