“混合最少量规则”规则集
Microsoft 组合最小"规则集侧重于在支持公共语言运行库的 C++ 项目的最重要的问题,包括潜在的安全漏洞,应用程序失败。 应在您为支持公共语言运行时的 C++ 项目创建的任何自定义规则集中包含此规则集。
规则 |
描述 |
---|---|
使用未初始化的内存 |
|
取消引用 null 指针 |
|
对未经检查的值的使用 |
|
零终止从调用 |
|
串联错误 |
|
格式设置功能的缺少字符串参数 |
|
格式设置功能的缺少整数参数 |
|
格式设置功能的丢失的指针参数 |
|
格式设置功能的缺少字符串指针参数 |
|
返回未初始化的内存 |
|
索引超出缓冲区的最大数量 |
|
索引超出堆栈缓冲区的最大数量 |
|
格式设置功能的缺少的参数 |
|
格式设置功能的额外参数 |
|
格式设置功能的非浮点参数 |
|
非整数格式设置功能的 Argumen |
|
格式设置功能的非字符参数 |
|
无效字符串转换 |
|
无效 CreateProcess 调用 |
|
对布局功能的对象参数无效 |
|
逻辑不按位与优先级 |
|
逻辑不按位或优先级 |
|
格式设置功能的无效字符字符串参数 |
|
格式设置功能的无效的宽字符字符串参数 |
|
不匹配的大小和计数使用 |
|
不正确的变量参数函数调用 |
|
潜在的参数类型不匹配 |
|
读取超过 |
|
编写超过 |
|
参数值无效 |
|
无效的特性属性 |
|
冲突的属性属性值 |
|
引用不能为空 |
|
在非指针的空 |
|
在无效的 MustCheck |
|
在非指针或数组的缓冲区区域大小 |
|
在取消引用零的空不匹配 |
|
常数中编写 |
|
返回使用在前置条件 |
|
null 终止在非指针 |
|
MustCheck 必须是或 no |
|
不缓冲区域大小的元素的大小 |
|
缓冲区区域大小超过数组大小 |
|
在非指针的缓冲区区域大小 |
|
在属性上无特性 |
|
在不可读的缓冲区的有效范围 |
|
在非可写缓冲区的可写的大小 |
|
无效的批注:“NeedsRelease”属性的值必须是或 no |
|
无效范围字符串取消引用 |
|
无效范围字符串类型 |
|
无效范围字符串参数 |
|
无效范围字符串无法访问的位置 |
|
无效范围字符串缓冲区类型 |
|
无效的批注:“NeedsRelease”属性在无效类型的值不能使用 |
|
无法识别的格式字符串样式 |
|
使用此功的属性批注将无效其所有现有__declspec 批注 |
|
大小规格无效:parsable 的表达式 |
|
无效 Deref= 或 Notref=:parsable 的表达式 |
|
该值不 + 一有效是/否/可能值 |
|
该值不是字符串值 |
|
该值不是数字 |
|
意外的批注表达式错误 |
|
参数的预期数字的批注不匹配参数的实际数目的批注 |
|
批注的意外的批注错误 |
|
批注的参数必须是指针 |
|
取消对 NULL 指针的引用。 指针包含与其他指针的 null 值。 |
|
非法引用非静态成员 |
|
对类成员的不明确引用。 |
|
用于一个非法上下文或_On_failure_的_Success_ |
|
左操作个指向结构,使用“- >” |
|
左操作的是结构,使用“”。 |
|
__on_failure 上下文的批注不能在显式之前上下文 |
|
为 SAL_context 预期的静态上下文名称 |
|
批注预期的指针表达式 |
|
_Use_decl_annotations_ 批注必须用于引用(无需修改)以前的声明。 |
|
属性参数名称必须是 p1… p9 |
|
typefix 无法应用于已具有 typefix 的参数 |
|
checkReturn 批注只应用于特定函数参数的后置条件。 |
|
为函数,参数数目到批注的不匹配的所有文件 |
|
指向函数 paramteer,批注的参数不匹配的所有文件 |
|
批注中的参数应为枚举成员 |
|
整数表达式批注应在该批注的参数 |
|
为批注的参数所需的字符串表达式 |
|
__yes、批注预期的__no 或__maybe |
|
未找到预期的标记/标识符批注的参数, |
|
批注需要参数 |
|
没有看到需的正确数目的参数批注中 |
|
批注不能同时是 PrimOp (在当前声明) |
|
批注不能同时是 PrimOp (请参见前面声明) |
|
批注参数:不能使用类型批注 |
|
批注不支持参数 |
|
参数的类型没有成员。 |
|
批注只适用于数组 |
|
之前,后置或 deref 未应用于任何批注 |
|
之前,后置或 deref 适用于块 |
|
__at 表达式不适用于流函数 |
|
函数不能单独并肩作战与批注 |
|
批注将不能在表达式 |
|
在参数的批注不再支持 |
|
在参数的批注具有多个值、stringValue 和 longValue。 使用 paramn=xxx |
|
在参数的批注具有两个值、stringValue 或 longValue;并 paramn=xxx。 仅使用 paramn=xxx |
|
在参数的批注没有 param2,但 param1 |
|
函数的批注参数中不识别 |
|
函数的批注在参数比批注的实际类型允许需要更多的取消引用 |
|
函数的批注说明“this”在非成员函数 |
|
函数的参数批注不匹配参数的类型 |
|
函数的不一致的批注:前面的实例有错误。 |
|
函数的不一致的批注:此实例都有一个错误。 |
|
函数的不一致的批注:参数具有此实例的另一个批注。 |
|
函数的不一致的批注:参数具有此实例的另一个批注。 |
|
dynamic_cast<>() 在注释不支持 |
|
在该批注的语法错误在函数中,批注的 |
|
在一个条件批注的语法错误为内部批注找到 |
|
结果列表值必须是常量。 |
|
在注释的语法错误是在函数中找到的批注。 |
|
函数的参数,批注,则请与函数声明不一致。 |
|
对于功能,主管与函数声明不一致。 |
|
为_Macro_value_的参数为 null |
|
对于符号,“启动”中找到,没有匹配的“结束” |
|
对于符号,“结束”中找到,而不匹配“开始” |
|
格式字符串必须在前置条件 |
|
为函数,参数中的语法错误 |
|
为函数,在尾部附近的语法错误 |
|
为函数,在 _At_() 批注 (无法识别的参数名) 中的语法错误 |
|
为函数,在 _At_() 批注 (无效参数名) 中的语法错误 |
|
为功能:ReadableTo 或 WritableTo 没有限制规范作为参数 |
|
函数的批注的参数的实际数目包含多个外部 |
|
发送 null/notnull 在 deref 级别 0 对于功能是无意义的。 |
|
不兼容的类型表达式运算符的操作。 |
|
函数的第一个声明的未批注。 |
|
一个额外的_Deref_运算符在注释中。 |
|
不明确的_Deref_运算符在注释中。 |
|
找到了不正确放置的_Notref_运算符应用于标记。 |
|
错误,则标记以查看后分析。 |
|
批注描述不是有条件地适用的情况。 |
|
批注描述动态值 (变量) 的位置不能用于此情况。 |
|
类型拥有一次性字段应为可释放的 |
|
移除空的终结器 |
|
应配置一次性字段 |
|
超加载到重写 ValueType.Equals 的相等运算符 |