C 和 C++ 检查器参考

检查器名称 描述 默认严重性 默认情况下是否启用? 版本
ABV.ANY_SIZE_ARRAY 缓冲区溢出 — 数组索引超出边界 1 False 2020.1 之前
ABV.GENERAL 缓冲区溢出 — 数组索引超出边界 1 True 2020.1 之前
ABV.GENERAL.MULTIDIMENSION 缓冲区溢出 — 数组索引超出边界 1 True 2022.3
ABV.ITERATOR 缓冲区溢出 — 数组索引可能超出边界 1 True 2020.1 之前
ABV.MEMBER 缓冲区溢出 — 数组索引超出边界 1 True 2020.1 之前
ABV.STACK 缓冲区溢出 — 局部数组索引超出边界 1 True 2020.1 之前
ABV.TAINTED 因未经验证的输入而导致缓冲区溢出 1 True 2020.1 之前
ABV.UNICODE.BOUND_MAP 映射特征函数中出现缓冲区溢出 1 False 2020.1 之前
ABV.UNICODE.FAILED_MAP 映射函数失败 1 False 2020.1 之前
ABV.UNICODE.NNTS_MAP 映射特征函数中出现缓冲区溢出 1 False 2020.1 之前
ABV.UNICODE.SELF_MAP 映射函数失败 1 False 2020.1 之前
ABV.UNKNOWN_SIZE 缓冲区溢出 — 数组索引超出边界 1 True 2020.1 之前
ASSIGCOND.CALL 条件语句中的赋值(调用) 3 False 2020.1 之前
ASSIGCOND.GEN 条件语句中的赋值 3 False 2020.1 之前
BSTR.CAST.C 转换为 BSTR 的 C 样式类型 4 False 2020.1 之前
BSTR.CAST.CPP 转换为 BSTR 的 C++ 样式类型 4 False 2020.1 之前
BSTR.FUNC.ALLOC 对 BSTR 分配函数的错误调用 4 False 2020.1 之前
BSTR.FUNC.FREE 对 BSTR 释放函数的错误调用 4 False 2020.1 之前
BSTR.FUNC.LEN 尝试使用 BSTR 相关函数获取非 BSTR 字符串的长度 4 False 2020.1 之前
BSTR.FUNC.REALLOC 对 BSTR 重新分配函数的错误调用 4 False 2020.1 之前
BSTR.IA.ASSIGN BSTR 变量分配到非 BSTR 值 4 False 2020.1 之前
BSTR.IA.INIT BSTR 变量使用非 BSTR 值初始化 4 False 2020.1 之前
BSTR.OPS.ARITHM 采用 BSTR 值进行了非法算术运算 4 False 2020.1 之前
BSTR.OPS.COMP 非法比较 BSTR 值 4 False 2020.1 之前
BSTR.OPS.EQS 非法相等比较 BSTR 值 4 False 2020.1 之前
BYTEORDER.HTON.SEND 缺少从主机到网络字节顺序的转换 3 False 2020.1 之前
BYTEORDER.HTON.WRITE 缺少从主机到网络字节顺序的转换 3 False 2020.1 之前
BYTEORDER.NTOH.READ 缺少从网络到主机字节顺序的转换 3 False 2020.1 之前
BYTEORDER.NTOH.RECV 缺少从网络到主机字节顺序的转换 3 False 2020.1 之前
CERT.ARR.PTR.ARITH 指针用于算术表达式 4 False 2022.3
CERT.CONC.ATOMIC_TWICE_EXPR 不要在表达式中重复引用原子变量 4 False 2022.3
CERT.EXIT.HANDLER_TERMINATE 所有退出处理程序必须正常返回 2 False 2022.2
CERT.EXPR.PARENS 应将运算符在表达式中的优先级设置为显式。 4 False 2022.1
CERT.FILE_PTR.DEREF 不应取消引用指向 FILE 对象的指针 4 False 2022.1
CERT.FILE_PTR.DEREF.CAST 对象被转换为 FILE 指针,并且不应取消引用该对象 4 False 2022.1
CERT.FILE_PTR.DEREF.INDIRECT 系统函数不应间接取消引用指向 FILE 对象的指针 4 False 2022.1
CERT.FILE_PTR.DEREF.RETURN 不应取消引用指向 FILE 对象(由函数返回)的指针 4 False 2022.1
CERT.FIO.NO_FLUSH 缺少刷新或定位函数调用 3 False 2022.2
CERT.FSETPOS.VALUE 仅为 fsetpos() 使用从 fgetpos() 返回的值 3 False 2022.2
CERT.MEMCMP.FLOAT_MEMBER 当成员为浮点时不进行比较 4 False 2021.3
CERT.MEMCMP.PADDED_DATA 不要比较填充数据 4 False 2021.3
CERT.OOP.CTOR.VIRTUAL_FUNC 请勿从构造函数或析构函数调用虚拟函数 4 False 2022.1
CERT.PUTENV.AUTO_VARIABLE 不要使用指向自动变量的指针作为参数来调用 putenv() 4 False 2022.1
CERT.STDLIB.SIGNAL 不得从计算异常信号处理程序返回 4 False 2022.2
CERT.VA_ARG.TYPE 不要通过类型错误的参数来调用 va_arg 4 False 2022.2
CERT.VA_START.TYPE 将类型正确的对象传递给 va_start 4 False 2022.2
CL.ASSIGN.NON_CONST_ARG 赋值运算符声明了非常量引用自变量 4 True 2020.1 之前
CL.ASSIGN.RETURN_CONST 赋值运算符返回常量引用 4 True 2020.1 之前
CL.ASSIGN.VOID 赋值运算符返回虚值 4 True 2020.1 之前
CL.FFM.ASSIGN 使用了释放内存(双重释放)- 无赋值 (=) 运算 3 True 2020.1 之前
CL.FFM.COPY 使用了释放内存(双重释放)- 无复制构造函数 3 True 2020.1 之前
CL.FMM 释放不匹配内存 - 在析构函数中 3 True 2020.1 之前
CL.MLK 内存泄漏 - 在析构函数中 3 True 2020.1 之前
CL.MLK.ASSIGN 内存泄漏 - 在赋值运算符中 3 True 2020.1 之前
CL.MLK.VIRTUAL 内存泄漏 - 可能在析构函数中 2 True 2020.1 之前
CL.SELF-ASSIGN 使用了释放内存(双重释放)- 在赋值 (=) 运算中 2 True 2020.1 之前
CL.SHALLOW.ASSIGN 使用了释放内存(双重释放)- 在赋值 (=) 运算中进行浅层复制 2 True 2020.1 之前
CL.SHALLOW.COPY 使用了释放内存(双重释放)- 在复制构造函数中进行浅层复制 2 True 2020.1 之前
CONC.DBL_LOCK 双重锁定 2 False 2021.2
CONC.DBL_UNLOCK 双重解锁 2 False 2021.2
CONC.DL 死锁 2 False 2020.1 之前
CONC.NO_LOCK 缺少变量锁定 2 False 2021.2
CONC.NO_UNLOCK 缺少变量解锁 2 True 2022.3
CONC.SLEEP 函数可能在关键部分被阻止 3 True 2022.3
CWARN.ALIGNMENT 使用了不正确的指针缩放 4 True 2020.1 之前
CWARN.BAD.PTR.ARITH 指针算术运算错误 4 False 2020.1 之前
CWARN.BITOP.SIZE 位运算符中不同大小的操作数 4 True 2020.3
CWARN.BOOLOP.INC 布尔值递增或递减 4 True 2020.1 之前
CWARN.CAST.VIRTUAL_INHERITANCE 从指向含虚拟方法的对象的指针到指向其派生类的指针的 C 样式转换 4 False 2020.1 之前
CWARN.CMPCHR.EOF “char”表达式与 EOF 常量进行比较 4 False 2020.1 之前
CWARN.CONSTCOND.DO “do”控制表达式为常量 4 False 2020.1 之前
CWARN.CONSTCOND.IF “if”控制表达式为常量 4 False 2020.1 之前
CWARN.CONSTCOND.SWITCH “Switch”选择器表达式为常量 4 False 2020.1 之前
CWARN.CONSTCOND.TERNARY 条件表达式中的控制条件为常量 4 False 2020.1 之前
CWARN.CONSTCOND.WHILE “while”控制表达式为常量 4 False 2020.1 之前
CWARN.COPY.NOASSIGN 类定义复制构造函数,但未定义赋值运算符 4 False 2020.1 之前
CWARN.DTOR.NONVIRT.DELETE 删除含虚拟方法且无虚拟析构函数的类中对象的表达式 2 True 2020.1 之前
CWARN.DTOR.NONVIRT.NOTEMPTY 类具有继承自基本类的虚拟函数,但其析构函数不为虚拟和空 2 True 2020.1 之前
CWARN.DTOR.VOIDPTR 删除类型为“指向 void 的指针”的对象的表达式 3 True 2020.1 之前
CWARN.EMPTY.LABEL 空标签语句 4 False 2020.1 之前
CWARN.EMPTY.TYPEDEF 缺少 typedef 名称 4 False 2020.1 之前
CWARN.FUNCADDR 使用函数地址替代此函数的调用 2 False 2020.1 之前
CWARN.HIDDEN.PARAM 参数被局部变量隐藏 4 False 2020.1 之前
CWARN.IMPLICITINT 过时的“implicit int” 4 False 2023.4
CWARN.INCL.ABSOLUTE 绝对路径用于 include 指令中 4 False 2020.1 之前
CWARN.INCL.NO_INTERFACE 源文件不包含其接口标题 4 False 2020.1 之前
CWARN.INLINE.NONFUNC inline 与非函数一起使用 4 False 2020.1 之前
CWARN.MEMBER.INIT.ORDER 初始化列表中的成员没有按在类中的声明顺序列出 4 False 2020.1 之前
CWARN.MEM.NONPOD 内存操作例程应用于非 POD 对象 4 True 2020.1 之前
CWARN.MEMSET.SIZEOF.PTR 为应用于指针的 sizeof 调用了 memset 类型函数 4 False 2020.1 之前
CWARN.MOVE.CONST 常量值用作 std::move 的参数 4 True 2020.1
CWARN.NOEFFECT.OUTOFRANGE 值超出范围 3 False 2020.1 之前
CWARN.NOEFFECT.SELF_ASSIGN 变量赋值到本身 4 False 2020.1 之前
CWARN.NOEFFECT.UCMP.GE 无符号值与 0 的比较始终为 true 4 True 2020.1 之前
CWARN.NOEFFECT.UCMP.GE.MACRO 宏中无符号值与 0 的比较始终为 true 4 False 2020.1 之前
CWARN.NOEFFECT.UCMP.LT 无符号值与 0 的比较始终为 false 4 True 2020.1 之前
CWARN.NOEFFECT.UCMP.LT.MACRO 宏中无符号值与 0 的比较始终为 false 4 False 2020.1 之前
CWARN.NULLCHECK.FUNCNAME 函数地址直接与 0 比较 4 True 2020.1 之前
CWARN.OVERRIDE.CONST 由于 const 限定符不匹配,函数重写失败 4 True 2020.1 之前
CWARN.PACKED.TYPEDEF 属性“packed”在 typedef 中被忽略 4 False 2020.1 之前
CWARN.PASSBYVALUE.ARG 由值传递的函数参数过大 4 False 2020.1 之前
CWARN.PASSBYVALUE.EXC 由值传递的异常对象过大 4 False 2020.1 之前
CWARN.RET.MAIN main 返回错误类型 4 True 2020.1 之前
CWARN.SIGNEDBIT 有符号的一位字段 4 True 2020.1 之前
CXX.BITOP.BOOL_OPERAND 潜在的逻辑错误:布尔表达式不应直接用作位运算符参数。可考虑改为使用 逻辑运算符。 4 False 2021.1
CXX.BITOP.NON_CONST_OPERAND 位运算符只能应用于常数 4 False 2021.1
CXX.CAST.OBJ_PTR_TO_OBJ_PTR 指向对象类型的指针与指向不同对象类型的指针之间的转换 4 False 2021.3
CXX.CAST.SIGNED_CHAR_TO_INTEGER 在将字符型转换为更大的整型大小之前,先将其转换为无符号字符型 4 False 2021.3
CXX.DIFF.WIDTH.STR_AND_FUNC 在调用函数时窄和宽字符串之间的隐式转换 4 False 2021.3
CXX.ERRNO.INCORRECTLY_CHECKED 调用库函数后不需要进行 Errno 条件检查 3 False 2021.2
CXX.ERRNO.NOT_CHECKED 调用库函数后缺少 Errno 条件检查 3 False 2021.2
CXX.ERRNO.NOT_SET 调用库函数前 Errno 未重置为零 3 False 2021.2
CXX.ID_VIS.GLOBAL_VARIABLE.EXTERN 外部全局变量的可见范围太宽 4 False 2020.1 之前
CXX.ID_VIS.GLOBAL_VARIABLE.STATIC 静态全局变量的可见范围太宽 4 False 2020.1 之前
CXX.INT_TO_FLOAT.CONV 在算术运算中使用隐式转换 4 False 2021.2
CXX.LOGICAL_OP.INT_OPERAND 潜在的逻辑错误:整型表达式不应直接用作逻辑运算符操作数。应改为使用 布尔表达式。 4 False 2021.1
CXX.LOGICAL_OP.NON_BOOL_CONSTANT 逻辑运算符不应直接应用于常数 4 False 2021.1
CXX.OVERWRITE_CONST_CHAR 尝试覆盖常数字符串 3 False 2021.1
CXX.POSSIBLE_COPY_PASTE.FSTRING.APPEND_SAME_STRING 潜在的复制粘贴错误:同一 FString 附加了两次 4 False 2021.1
CXX.POSSIBLE_COPY_PASTE.LOGICAL_OP.CMP_SAME_OBJECT 潜在的复制粘贴错误:对象不应与自身进行逻辑上的对比 4 False 2021.1
CXX.POSSIBLE_COPY_PASTE.TERNARY_OP 在三元运算符的 'then' 和 'else' 分支中可能存在复制粘贴操作 4 False 2021.1
CXX.SQL.INJECT SQL 注入 2 False 2021.2
CXX.STDLIB.ILLEGAL_REUSE 在对标准库函数 asctime 和类似函数的后续调用之后不应使用由同一函数 返回的指针 4 False 2021.3
CXX.STDLIB.ILLEGAL_WRITE 只有在标准库函数 localeconv、getenv、setlocale 或 strerror 具有指向常量限定类型的指针时,才能使用 由这些函数返回的指针 4 False 2021.3
CXX.SUSPICIOUS_INDEX_CHECK 在进行边界检查后对索引进行可疑的使用 1 False 2023.4
CXX.SUSPICIOUS_INDEX_CHECK.CALL 在进行边界检查后对函数调用中的索引进行可疑的使用 1 False 2023.4
CXX.SUSPICIOUS_INDEX_CHECK.ZERO 在进行针对零的索引检查后对索引进行可疑的使用 1 False 2023.4
CXX.SV.INSECURE_COOKIE 不安全的 Cookie 4 False 2023.1
CXX.SV.PERSISTENT_COOKIE 非法使用永久性 Cookie 4 False 2023.1
CXX.SV.PRIVATE_KEY.EMPTY_PASSWD 尝试以未经授权的方式序列化私钥 3 False 2023.2
CXX.SV.PRIVATE_KEY.UNENCRYPTED 尝试以未经授权的方式序列化私钥 3 False 2023.2
CXX.SV.PWD.PLAIN 尝试使用纯文本字符串设置密码 2 False 2023.2
CXX.SV.PWD.PLAIN.LENGTH 尝试设置字符长度小于 15 的密码 3 False 2023.2
CXX.SV.PWD.PLAIN.LENGTH.ZERO 尝试设置字符长度为 0 的密码 3 False 2023.2
CXX.SV.PWD_INPUT.REVIEW 应通过检查密码验证来阻止暴力破解攻击。 4 False 2023.2
CXX.SV.XXE 在解析 XML 文件时试图解析外部实体可能导致 XXE 攻击 4 False 2023.1
DBZ.CONST 出现零常量为除数的情况 1 False 2020.2
DBZ.CONST.CALL 值“0”被传递到可将此值用作除数的函数 1 False 2020.1 之前
DBZ.GENERAL 可能出现零为除数的情况 1 False 2023.3
DBZ.ITERATOR 循环迭代器中可能出现零为除数的情况 1 False 2020.1 之前
DBZ.ITERATOR.CALL 函数调用中可能出现除以零的情况 1 False 2020.1 之前
EFFECT 语句无效 4 False 2020.1 之前
FMM.MIGHT 可能释放不匹配内存 2 True 2020.1 之前
FMM.MUST 释放不匹配内存 1 True 2020.1 之前
FNH.MIGHT 可能释放非堆内存 1 True 2020.1 之前
FNH.MUST 释放非堆内存 2 True 2020.1 之前
FREE.INCONSISTENT 内存释放不一致 3 False 2020.1 之前
FUM.GEN.MIGHT 可能释放未分配内存 1 True 2020.1 之前
FUM.GEN.MUST 释放未分配内存 1 True 2020.1 之前
FUNCRET.GEN 非 void 函数未返回值 1 True 2020.1 之前
FUNCRET.IMPLICIT 隐式返回 int 的非 void 函数未返回值 2 True 2020.1 之前
HCC 使用硬编码凭据 2 True 2020.1 之前
HCC.PWD 使用硬编码密码 2 True 2020.1 之前
HCC.USER 使用硬编码用户名 2 True 2020.1 之前
INCONSISTENT.LABEL 案例标签不一致 4 True 2020.1 之前
INCORRECT.ALLOC_SIZE 不正确的分配大小 3 True 2020.1 之前
INFINITE_LOOP.GLOBAL 无限循环 2 False 2020.1 之前
INFINITE_LOOP.LOCAL 无限循环 2 True 2020.1 之前
INFINITE_LOOP.MACRO 无限循环 2 False 2020.1 之前
INVARIANT_CONDITION.GEN 条件中的不变表达式 3 False 2020.1
INVARIANT_CONDITION.UNREACH 条件中的不变表达式 3 False 2020.1 之前
ITER.CONTAINER.MODIFIED 使用了无效迭代器 3 True 2020.1 之前
ITER.END.DEREF.MIGHT 取消引用“末端”迭代器 3 True 2020.1 之前
ITER.END.DEREF.MUST 取消引用“末端”迭代器 3 True 2020.1 之前
ITER.INAPPROPRIATE 使用含有不适当的容器对象的迭代器 4 True 2020.1 之前
ITER.INAPPROPRIATE.MULTIPLE 使用含有不适当的容器对象的迭代器 4 True 2020.1 之前
LA_UNUSED 未使用标签 4 False 2020.1 之前
LOCRET.ARG 函数返回局部变量的地址 1 True 2020.1 之前
LOCRET.GLOB 函数返回局部变量的地址 1 True 2020.1 之前
LOCRET.RET 函数返回局部变量的地址 1 True 2020.1 之前
LS.CALL GUI 函数中非本地化字符串的可疑使用 3 False 2020.1 之前
LS.CALL.STRING GUI 函数中非本地化字符串的可疑使用 3 False 2020.1 之前
LV_UNUSED.GEN 未使用局部变量 4 False 2020.3
MLK.MIGHT 内存可能泄漏 2 True 2020.1 之前
MLK.MUST 内存泄漏 2 True 2020.1
MLK.RET.MIGHT 内存可能泄漏 2 False 2020.1 之前
MLK.RET.MUST 内存泄漏 2 True 2020.1 之前
NNTS.MIGHT 缓冲区溢出 - 非 null 结尾字符串 1 True 2020.1 之前
NNTS.MUST 缓冲区溢出 - 非 null 结尾字符串 1 True 2020.1 之前
NNTS.TAINTED 未经验证的用户输入导致缓冲区溢出 - 非 Null 结尾的字符串 1 True 2020.1 之前
NPD.CHECK.CALL.MIGHT 在对指针主动进行 NULL 检查后,指针可能被传递给可将其取消引用的函数 1 True 2020.1 之前
NPD.CHECK.CALL.MUST 在对指针主动进行 NULL 检查后,指针将被传递给可能将其取消引用的函数 1 True 2020.1 之前
NPD.CHECK.MIGHT 在对指针主动进行 NULL 检查后,指针可能被取消引用 1 True 2020.1 之前
NPD.CHECK.MUST 在对指针主动进行 NULL 检查后,指针将被取消引用 1 True 2020.1 之前
NPD.CONST.CALL NULL 将被传递给可将其取消引用的函数 1 False 2020.1 之前
NPD.CONST.DEREF NULL 已被取消引用 1 False 2020.1 之前
NPD.FUNC.CALL.MIGHT 对于可能返回 NULL 的函数,其结果可能被传递给可能将其取消引用的其他函数 1 False 2020.1 之前
NPD.FUNC.CALL.MUST 对于可能返回 NULL 的函数,其结果将被传递给可能将其取消引用的其他函数 1 False 2020.1 之前
NPD.FUNC.MIGHT 对于可能返回 NULL 的函数,其结果可能被取消引用 1 True 2020.1 之前
NPD.FUNC.MUST 对于可能返回 NULL 的函数,其结果将被取消引用 1 True 2020.1 之前
NPD.GEN.CALL.MIGHT Null 指针可能被传递给可能将其取消引用的函数 1 True 2020.1 之前
NPD.GEN.CALL.MUST Null 指针将被传递给可能将其取消引用的函数 1 True 2020.1 之前
NPD.GEN.MIGHT Null 指针可能被取消引用 1 True 2020.1 之前
NPD.GEN.MUST Null 指针将被取消引用 1 True 2020.1 之前
NUM.OVERFLOW 可能溢出 3 False 2020.1 之前
NUM.OVERFLOW.DF 可能的数值溢出或环绕 3 False 2022.3
PORTING.BITFIELDS 在结构中使用了位域 4 False 2020.1 之前
PORTING.BSWAP.MACRO 在不进行字节顺序检查的情况下使用了自定义字节交换宏 4 False 2020.1 之前
PORTING.BYTEORDER.SIZE 对“ntohl”等网络宏使用了不兼容的类型 4 False 2020.1 之前
PORTING.CAST.FLTPNT 将浮点表达式转换为非浮点类型 4 False 2020.1 之前
PORTING.CAST.PTR 并非都为指针或都不为指针类型之间的转换 4 False 2020.1 之前
PORTING.CAST.PTR.FLTPNT 将浮点表达式的指针转换为非浮点类型指针 4 False 2020.1 之前
PORTING.CAST.PTR.SIZE 尝试将表达式转换为可能大小不兼容的类型 4 False 2020.1 之前
PORTING.CAST.SIZE 表达式被转换为可能大小不同的类型 4 False 2020.1 之前
PORTING.CMPSPEC.EFFECTS.ASSIGNMENT 函数参数中的分配 4 False 2020.1 之前
PORTING.CMPSPEC.TYPE.BOOL 对布尔型的赋值大于 1 字节 4 False 2020.1 之前
PORTING.CMPSPEC.TYPE.LONGLONG 使用“long long” 4 False 2020.1 之前
PORTING.MACRO.NUMTYPE 使用了描述内建数字型的宏 4 False 2020.1 之前
PORTING.OPTS 使用了编译器相关选项 4 False 2020.1 之前
PORTING.PRAGMA.ALIGN #pragma align 的使用情况 4 False 2020.1 之前
PORTING.PRAGMA.PACK #pragma pack 的使用情况 4 False 2020.1 之前
PORTING.SIGNED.CHAR 使用了“char”但没有明确指定符号规范 4 False 2020.1 之前
PORTING.STORAGE.STRUCT 结构中元素的字节位置可能取决于对齐和封装属性。 4 False 2020.1 之前
PORTING.STRUCT.BOOL 结构/类存在布尔型成员 4 False 2020.1 之前
PORTING.UNIONS 封闭结构/封闭类/其他联合中使用了联合 4 False 2020.1 之前
PORTING.UNSIGNEDCHAR.OVERFLOW.FALSE 关系表达式可能始终为 false,具体取决于“char”类型符号规范 4 False 2020.1 之前
PORTING.UNSIGNEDCHAR.OVERFLOW.TRUE 关系表达式可能始终为 true,具体取决于“char”类型符号规范 4 False 2020.1 之前
PORTING.UNSIGNEDCHAR.RELOP 明确有符号/无符号的字符型以及没有符号规范的字符型之间使用了关系运算 4 False 2020.1 之前
PORTING.VAR.EFFECTS 变量在一个表达式中使用了两次,且其中一次会产生副作用 4 False 2020.1 之前
PRECISION.LOSS 出现精度损失 4 False 2020.1 之前
PRECISION.LOSS.CALL 在函数调用期间出现精度损失 4 False 2020.1 之前
PRECISION.LOSS.INIT 初始化期间出现精度丢失 4 False 2023.3
RABV.CHECK 在进行边界检查前对索引进行可疑的使用 1 True 2020.1 之前
RCA 使用了有风险的密码算法 2 True 2020.1 之前
RCA.HASH.SALT.EMPTY 在 salt 为空的情况下使用单向哈希 2 True 2020.1 之前
RETVOID.GEN 非虚函数返回虚值 2 True 2020.1 之前
RETVOID.IMPLICIT 隐式 int 函数返回虚值 2 True 2020.1 之前
RH.LEAK 资源泄露 2 True 2020.1
RN.INDEX 在进行负值检查前对索引进行可疑的使用 1 True 2020.1 之前
RNPD.CALL 在 NULL 检查前对函数调用中的指针进行可疑的取消引用 1 True 2020.1 之前
RNPD.DEREF 在 NULL 检查前对指针进行可疑的取消引用 1 True 2020.1 之前
SEMICOL 可能放错位置的分号 4 False 2020.1 之前
SPECTRE.VARIANT1 预测执行的可能利用 3 False 2020.1 之前
STRONG.TYPE.ASSIGN 赋值未遵循强类型指定 4 False 2020.1 之前
STRONG.TYPE.ASSIGN.ARG 赋值未遵循强类型指定 4 False 2020.1 之前
STRONG.TYPE.ASSIGN.CONST 赋值未遵循强类型指定 4 False 2022.4
STRONG.TYPE.ASSIGN.INIT 赋值未遵循强类型指定 4 False 2020.3
STRONG.TYPE.ASSIGN.RETURN 赋值未遵循强类型指定 4 False 2020.3
STRONG.TYPE.ASSIGN.ZERO 赋值未遵循强类型指定 4 False 2020.1 之前
STRONG.TYPE.EXTRACT 赋值未遵循强类型指定 4 False 2020.1 之前
STRONG.TYPE.JOIN.CMP 与二进制运算符的结合未遵循强类型指定 4 False 2020.1 之前
STRONG.TYPE.JOIN.CONST 与二进制运算符的结合未遵循强类型指定 4 False 2020.1
STRONG.TYPE.JOIN.EQ 与二进制运算符的结合未遵循强类型指定 4 False 2020.1 之前
STRONG.TYPE.JOIN.OTHER 与二进制运算符的结合未遵循强类型指定 4 False 2020.1 之前
STRONG.TYPE.JOIN.ZERO 与二进制运算符的结合未遵循强类型指定 4 False 2020.1
SV.BANNED.RECOMMENDED.ALLOCA 已禁用的建议的 API:堆栈分配函数 4 False 2020.1 之前
SV.BANNED.RECOMMENDED.NUMERIC 已禁用的建议的 API:不安全的数值转换函数 4 False 2020.1 之前
SV.BANNED.RECOMMENDED.OEM 已禁用的建议的 API:OEM 字符页面转换函数 4 False 2020.1 之前
SV.BANNED.RECOMMENDED.PATH 已禁用的建议的 API:不安全的路径名称操作函数 4 False 2020.1 之前
SV.BANNED.RECOMMENDED.SCANF 已禁用的建议的 API:不安全的 scanf 类型函数 4 False 2020.1 之前
SV.BANNED.RECOMMENDED.SPRINTF 已禁用的建议的 API:不安全的 sprintf 类型函数 4 False 2020.1 之前
SV.BANNED.RECOMMENDED.STRLEN 已禁用的建议的 API:不安全的字符串长度函数 4 False 2020.1 之前
SV.BANNED.RECOMMENDED.TOKEN 已禁用的建议的 API:不安全的字符串令牌化函数 4 False 2020.1 之前
SV.BANNED.RECOMMENDED.WINDOW 已禁用的建议的 API:不安全的窗口函数 4 False 2020.1 之前
SV.BANNED.REQUIRED.CONCAT 已禁用的建议的 API:不安全的字符串串联函数 4 False 2020.1 之前
SV.BANNED.REQUIRED.COPY 已禁用的建议的 API:不安全的缓冲区复制函数 4 False 2020.1 之前
SV.BANNED.REQUIRED.GETS 已禁用的建议的 API:不安全的流读取函数 4 False 2020.1 之前
SV.BANNED.REQUIRED.ISBAD 已禁用的所需的 API:IsBad 类型函数 4 False 2020.1 之前
SV.BANNED.REQUIRED.SPRINTF 已禁用的所需的 API:不安全的 sprintf 类型函数 4 False 2020.1 之前
SV.BFC.USING_STRUCT 在 struct sockaddr_in 结构的 sin_addr.s_addr 字段中使用 INADDR_ANY 来调用 bind 函数 4 False 2020.1 之前
SV.BRM.HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE 被用作注册表操作函数的“hkey”参数 4 False 2020.1 之前
SV.CODE_INJECTION.SHELL_EXEC 命令注入 shell 执行 3 False 2020.1 之前
SV.DLLPRELOAD.NONABSOLUTE.DLL 潜在的 DLL 预加载劫持载体 2 False 2020.1 之前
SV.DLLPRELOAD.NONABSOLUTE.EXE 潜在进程注入矢量 2 False 2020.1 之前
SV.DLLPRELOAD.SEARCHPATH 不要使用 SearchPath 查找 DLL 2 False 2020.1 之前
SV.FIU.PROCESS_VARIANTS 使用危险的进程创建 4 False 2020.1 之前
SV.FMTSTR.GENERIC 格式字符串漏洞 1 False 2020.1 之前
SV.FMT_STR.BAD_SCAN_FORMAT 输入格式说明符错误 2 True 2020.1 之前
SV.FMT_STR.PRINT_FORMAT_MISMATCH.BAD 打印函数参数的不兼容类型 2 True 2020.1 之前
SV.FMT_STR.PRINT_FORMAT_MISMATCH.UNDESIRED 打印函数参数的非预期类型 4 True 2020.1 之前
SV.FMT_STR.PRINT_IMPROP_LENGTH 打印函数调用中的长度修饰符使用不当 2 True 2020.1 之前
SV.FMT_STR.PRINT_PARAMS_WRONGNUM.FEW 打印函数调用中的自变量过少 2 True 2020.1 之前
SV.FMT_STR.PRINT_PARAMS_WRONGNUM.MANY 打印函数调用中的自变量过多 2 True 2020.1 之前
SV.FMT_STR.SCAN_FORMAT_MISMATCH.BAD 扫描函数参数的不兼容类型 2 True 2020.1 之前
SV.FMT_STR.SCAN_FORMAT_MISMATCH.UNDESIRED 扫描函数参数的非预期类型 2 True 2021.4
SV.FMT_STR.SCAN_IMPROP_LENGTH 扫描函数调用中的长度修饰符使用不当 2 True 2020.1 之前
SV.FMT_STR.SCAN_PARAMS_WRONGNUM.FEW 扫描函数调用中的自变量过少 2 True 2020.1 之前
SV.FMT_STR.SCAN_PARAMS_WRONGNUM.MANY 扫描函数调用中的自变量过多 2 True 2020.1 之前
SV.FMT_STR.UNKWN_FORMAT 打印函数调用中存在未知格式说明符 3 True 2020.1 之前
SV.FMT_STR.UNKWN_FORMAT.SCAN 扫描函数调用中存在未知格式说明符 3 True 2020.1 之前
SV.INCORRECT_RESOURCE_HANDLING.URH 不安全的资源处理 3 False 2020.1 之前
SV.INCORRECT_RESOURCE_HANDLING.WRONG_STATUS 不安全的资源处理 3 False 2020.1 之前
SV.LPP.CONST 危险函数使用不安全的宏 3 False 2020.1 之前
SV.LPP.VAR 危险函数使用不安全的函数 3 False 2020.1 之前
SV.PCC.CONST 在调用 CreateFile 时使用了不安全的(常量)临时文件名 4 False 2020.1 之前
SV.PCC.INVALID_TEMP_PATH 在调用 CreateFile 时使用了不安全的临时文件名 4 False 2020.1 之前
SV.PCC.MISSING_TEMP_CALLS.MUST 在调用 CreateFile 时缺少安全的临时文件名 4 False 2020.1 之前
SV.PCC.MISSING_TEMP_FILENAME 在调用 CreateFile 时缺少临时文件名 4 False 2020.1 之前
SV.PCC.MODIFIED_BEFORE_CREATE 在调用 CreateFile 之前修改了临时文件名 4 False 2020.1 之前
SV.PIPE.CONST 潜在的管道劫持 3 False 2020.1 之前
SV.PIPE.VAR 潜在的管道劫持 3 False 2020.1 之前
SV.RVT.RETVAL_NOTTESTED 返回值被忽略 4 False 2021.2
SV.SIP.CONST 危险函数使用不安全的宏 3 False 2020.1 之前
SV.SIP.VAR 危险函数使用不安全的函数 3 False 2020.1 之前
SV.STRBO.BOUND_COPY.OVERFLOW 绑定字符串复制中的缓冲区溢出 1 False 2023.4
SV.STRBO.BOUND_COPY.UNTERM 随后字符串运算中可能的缓冲区溢出 2 False 2020.1 之前
SV.STRBO.BOUND_SPRINTF 绑定 sprintf 中的缓冲区溢出 1 False 2020.1 之前
SV.STRBO.UNBOUND_COPY 非绑定字符串复制中的缓冲区溢出 1 False 2020.1 之前
SV.STRBO.UNBOUND_SPRINTF 非绑定 sprintf 中的缓冲区溢出 1 False 2020.1 之前
SV.STR_PAR.UNDESIRED_STRING_PARAMETER 文件路径包含不希望出现的字符串 4 False 2020.1 之前
SV.TAINTED.ALLOC_SIZE 在内存分配中使用未经验证的整数 2 True 2020.1 之前
SV.TAINTED.BINOP 在二进制运算中使用未经验证的整数 3 False 2021.2
SV.TAINTED.CALL.BINOP 在二进制运算中使用未经验证的整数 3 False 2020.1 之前
SV.TAINTED.CALL.DEREF 取消引用未验证的指针 3 False 2020.1 之前
SV.TAINTED.CALL.GLOBAL 在赋值运算中使用未经验证的整数 3 False 2020.2
SV.TAINTED.CALL.INDEX_ACCESS 通过函数调用将未经验证的整数用作数组索引 2 True 2020.1 之前
SV.TAINTED.CALL.LOOP_BOUND 通过函数调用在循环条件使用未经验证的整数 2 True 2020.1 之前
SV.TAINTED.DEREF 取消引用未验证的指针 3 False 2020.1 之前
SV.TAINTED.FMTSTR 在格式字符串中使用未经验证的数据 1 True 2020.1 之前
SV.TAINTED.GLOBAL 在赋值运算中使用未经验证的整数 3 False 2020.2
SV.TAINTED.INDEX_ACCESS 将未经验证的整数用作数组索引 1 True 2020.1 之前
SV.TAINTED.INJECTION 命令注入 3 True 2020.1 之前
SV.TAINTED.LOOP_BOUND 在循环条件中使用未经验证的整数 2 True 2020.1 之前
SV.TAINTED.PATH_TRAVERSAL 在路径遍历中使用未经验证的数据 1 True 2020.1 之前
SV.TAINTED.SECURITY_DECISION 安全性决策 3 False 2020.1 之前
SV.TAINTED.XSS.REFLECTED 跨站点脚本漏洞 3 False 2020.3
SV.TOCTOU.FILE_ACCESS 文件访问中的时间创建/时间争用条件 4 False 2020.1 之前
SV.UNBOUND_STRING_INPUT.CIN 将 cin 用于无边界字符串输入 1 True 2020.1 之前
SV.UNBOUND_STRING_INPUT.FUNC 使用无边界字符串输入 1 True 2020.1 之前
SV.USAGERULES.PERMISSIONS 使用权限提升 4 False 2020.1 之前
SV.USAGERULES.PROCESS_VARIANTS 使用危险的进程创建函数 4 False 2020.1 之前
SV.USAGERULES.SPOOFING 使用易遭受电子欺骗的函数 4 False 2020.1 之前
SV.WEAK_CRYPTO.WEAK_HASH 不安全的哈希函数 4 False 2020.1 之前
UFM.DEREF.MIGHT 可能使用了释放内存(访问) 1 True 2020.1 之前
UFM.DEREF.MUST 通过指针使用了已释放内存 1 True 2020.1 之前
UFM.FFM.MIGHT 可能使用了释放内存(双重释放) 1 True 2020.1 之前
UFM.FFM.MUST 释放已释放的内存 1 True 2020.1 之前
UFM.RETURN.MIGHT 可能使用了已释放内存(返回) 2 True 2020.1 之前
UFM.RETURN.MUST 返回时使用了已释放内存 2 True 2020.1 之前
UFM.USE.MIGHT 可能使用了释放内存 2 True 2020.1 之前
UFM.USE.MUST 使用了已释放内存 2 True 2020.1 之前
UNINIT.CTOR.MIGHT 构造函数中可能存在未初始化的变量 1 True 2020.1 之前
UNINIT.CTOR.MUST 构造函数中存在未初始化的变量 2 False 2020.1
UNINIT.HEAP.MIGHT 使用的堆可能未初始化 1 True 2020.1 之前
UNINIT.HEAP.MUST 使用的堆未初始化 1 True 2020.1 之前
UNINIT.STACK.ARRAY.MIGHT 数组可能未初始化 1 True 2020.1 之前
UNINIT.STACK.ARRAY.MUST 数组未初始化 1 True 2020.1 之前
UNINIT.STACK.ARRAY.PARTIAL.MUST 部分未初始化的数组 1 True 2020.1 之前
UNINIT.STACK.MIGHT 变量可能未初始化 1 True 2020.1 之前
UNINIT.STACK.MUST 变量未初始化 1 True 2020.1 之前
UNREACH.ENUM 由于枚举的可能值而无法访问代码 3 False 2021.3
UNREACH.GEN 无法访问的代码 3 False 2020.1 之前
UNREACH.RETURN 无法访问的返回虚值 3 False 2020.1 之前
UNREACH.SIZEOF 体系结构相关的无法访问代码 3 False 2020.1 之前
UNUSED.FUNC.GEN 已定义但未使用的函数 4 False 2023.4
UNUSED.FUNC.STL_EMPTY 忽略 STL 对象 empty() 方法的返回值 3 True 2020.1
UNUSED.FUNC.WARN 可能的未使用函数 4 False 2020.1 之前
VA.LIST.INDETERMINATE 尝试在具有未定值的 va_list 中调用 va_arg() 3 False 2021.2
VA_UNUSED.GEN 赋值后从未使用过值 4 False 2020.1 之前
VA_UNUSED.INIT 值在初始化后从未使用过 4 False 2020.1 之前
VOIDRET Void 函数返回值 2 True 2020.1 之前