MISRA-C 2020

37 篇文章 2 订阅
11 篇文章 1 订阅
检查器代码描述默认严重性默认情况下是否启用?已创建已修改
ABV.ANY_SIZE_ARRAY缓冲区溢出 — 数组索引超出边界1falsePre-9.29.5
ABV.GENERAL缓冲区溢出 — 数组索引超出边界1true9.610.1、10.3、10.4、11.0、11.1、11.2, 2017.3
ABV.ITERATOR缓冲区溢出 — 数组索引可能超出边界1truePre-9.29.5、10.3
ABV.MEMBER缓冲区溢出 — 数组索引超出边界1true9.510.3
ABV.STACK缓冲区溢出 — 局部数组索引超出边界1truePre-9.29.5
ABV.TAINTED因未经验证的输入而导致缓冲区溢出1truePre-9.29.5、10.3、11.2
ABV.UNICODE.BOUND_MAP映射特征函数中出现缓冲区溢出1falsePre-9.29.5
ABV.UNICODE.FAILED_MAP映射函数失败1falsePre-9.29.5
ABV.UNICODE.NNTS_MAP映射特征函数中出现缓冲区溢出1falsePre-9.29.5
ABV.UNICODE.SELF_MAP映射函数失败1false9.6
ABV.UNKNOWN_SIZE缓冲区溢出 — 数组索引超出边界1true9.6
ASSIGCOND.CALL条件语句中的赋值(调用)3falsePre-9.2
ASSIGCOND.GEN条件语句中的赋值3falsePre-9.2
BSTR.CAST.C转换为 BSTR 的 C 样式类型4falsePre-9.2
BSTR.CAST.CPP转换为 BSTR 的 C++ 样式类型4falsePre-9.2
BSTR.FUNC.ALLOC对 BSTR 分配函数的错误调用4falsePre-9.2
BSTR.FUNC.FREE对 BSTR 释放函数的错误调用4falsePre-9.2
BSTR.FUNC.LEN尝试使用 BSTR 相关函数获取非 BSTR 字符串的长度4falsePre-9.2
BSTR.FUNC.REALLOC对 BSTR 重新分配函数的错误调用4falsePre-9.2
BSTR.IA.ASSIGNBSTR 变量分配到非 BSTR 值4falsePre-9.2
BSTR.IA.INITBSTR 变量使用非 BSTR 值初始化4falsePre-9.2
BSTR.OPS.ARITHM采用 BSTR 值进行了非法算术运算4falsePre-9.2
BSTR.OPS.COMP非法比较 BSTR 值4falsePre-9.2
BSTR.OPS.EQS非法相等比较 BSTR 值4falsePre-9.2
BYTEORDER.HTON.SEND缺少从主机到网络字节顺序的转换3false9.2
BYTEORDER.HTON.WRITE缺少从主机到网络字节顺序的转换3false9.2
BYTEORDER.NTOH.READ缺少从网络到主机字节顺序的转换3false9.2
BYTEORDER.NTOH.RECV缺少从网络到主机字节顺序的转换3false9.2
CL.ASSIGN.NON_CONST_ARG赋值运算符声明了非常量引用自变量4true9.5
CL.ASSIGN.RETURN_CONST赋值运算符返回常量引用4true9.5
CL.ASSIGN.VOID赋值运算符返回虚值4true9.5
CL.FFM.ASSIGN使用了释放内存(双重释放)- 无赋值 (=) 运算3truePre-9.29.5
CL.FFM.COPY使用了释放内存(双重释放)- 无复制构造函数3truePre-9.29.5
CL.FMM释放不匹配内存 - 在析构函数中3truePre-9.29.5、10.1
CL.MLK内存泄漏 - 在析构函数中3truePre-9.29.5
CL.MLK.ASSIGN内存泄漏 - 在赋值运算符中3true10.1
CL.MLK.VIRTUAL内存泄漏 - 可能在析构函数中2truePre-9.29.5
CL.SELF-ASSIGN使用了释放内存(双重释放)- 在赋值 (=) 运算中2truePre-9.29.5
CL.SHALLOW.ASSIGN使用了释放内存(双重释放)- 在赋值 (=) 运算中进行浅层复制2true10.1
CL.SHALLOW.COPY使用了释放内存(双重释放)- 在复制构造函数中进行浅层复制2true10.1
CONC.DL死锁2false9.2
CONC.NO_UNLOCK缺少变量解锁2truePre-9.2
CONC.SLEEP函数可能在关键部分被阻止3truePre-9.2
CWARN.ALIGNMENT使用了不正确的指针缩放4true9.5
CWARN.BAD.PTR.ARITH错误指针算术运算4false10.0
CWARN.BITOP.SIZE位运算符中不同大小的操作数4true10.0
CWARN.BOOLOP.INC布尔值递增或递减4truePre-9.29.5
CWARN.CAST.VIRTUAL_INHERITANCE从指向含虚拟方法的对象的指针到指向其派生类的指针的 C 样式转换4false10.0
CWARN.CMPCHR.EOF“char”表达式与 EOF 常量进行比较4false9.29.5
CWARN.CONSTCOND.DO“do”控制表达式为常量4falsePre-9.29.5
CWARN.CONSTCOND.IF“if”控制表达式为常量4falsePre-9.29.5
CWARN.CONSTCOND.SWITCH“Switch”选择器表达式为常量4falsePre-9.29.5
CWARN.CONSTCOND.TERNARY条件表达式中的控制条件为常量4falsePre-9.29.5
CWARN.CONSTCOND.WHILE"while"控制表达式为常量4falsePre-9.29.5
CWARN.COPY.NOASSIGN类定义复制构造函数,但未定义赋值运算符4falsePre-9.29.5、11.0
CWARN.DTOR.NONVIRT.DELETE删除含虚拟方法且无虚拟析构函数的类中对象的表达式2truePre-9.29.5
CWARN.DTOR.NONVIRT.NOTEMPTY类具有继承自基本类的虚拟函数,但其析构函数不为虚拟和空2truePre-9.29.5
CWARN.DTOR.NONVIRT.NOTEMPTY删除类型为“指向 void 的指针”的对象的表达式2truePre-9.29.5
CWARN.DTOR.VOIDPTR删除类型为“指向 void 的指针”的对象的表达式3true2019.3
CWARN.EMPTY.LABEL空标签语句4falsePre-9.29.5
CWARN.EMPTY.TYPEDEF缺少 typedef 名称4falsePre-9.29.5
CWARN.FUNCADDR使用函数地址替代此函数的调用2falsePre-9.29.5
CWARN.HIDDEN.PARAM参数被局部变量隐藏4falsePre-9.29.5
CWARN.IMPLICITINT过时的“implicit int”4falsePre-9.29.5
CWARN.INCL.ABSOLUTE绝对路径用于 include 指令中4false9.6
CWARN.INCL.NO_INTERFACE源文件不包含其接口标题4false10.0
CWARN.INLINE.NONFUNC“inline”与非函数一起使用4falsePre-9.29.5
CWARN.MEMBER.INIT.ORDER初始化列表中的成员没有按在类中的声明顺序列出4false9.510.4
CWARN.MEM.NONPOD内存操作例程应用于非 POD 对象4true10.0
CWARN.MEMSET.SIZEOF.PTR为应用于指针的“sizeof”调用了 memset 类型函数4false10.010.3、11.1
CWARN.NOEFFECT.OUTOFRANGE值超出范围3false10.1
CWARN.NOEFFECT.SELF_ASSIGN变量赋值到本身4false9.29.5、10.4
CWARN.NOEFFECT.UCMP.GE无符号值与 0 的比较始终为 true4truePre-9.29.5
CWARN.NOEFFECT.UCMP.GE.MACRO宏中无符号值与 0 的比较始终为 true4falsePre-9.29.5
CWARN.NOEFFECT.UCMP.LT无符号值与 0 的比较始终为 false4truePre-9.29.5
CWARN.NOEFFECT.UCMP.LT.MACRO宏中无符号值与 0 的比较始终为 false4falsePre-9.29.5
CWARN.NULLCHECK.FUNCNAME函数地址直接与 0 比较4truePre-9.29.5
CWARN.OVERRIDE.CONST由于“const”限定符不匹配,函数重写失败4truePre-9.29.5
CWARN.PACKED.TYPEDEF属性“packed”在 typedef 中被忽略4falsePre-9.29.5
CWARN.PASSBYVALUE.ARG由值传递的函数参数过大4falsePre-9.29.5
CWARN.PASSBYVALUE.EXC由值传递的异常对象过大4falsePre-9.29.5
CWARN.RET.MAINmain 返回错误类型4truePre-9.29.5
CWARN.SIGNEDBIT有符号的一位字段4truePre-9.29.5
DBZ.CONST出现零常量为除数的情况1false10.3
DBZ.CONST.CALL值“0”被传递到可将此值用作除数的函数1false10.3
DBZ.GENERAL可能出现零为除数的情况1false10.3
DBZ.ITERATOR循环迭代器中可能出现零为除数的情况1false10.3
EFFECT语句无效4falsePre-9.2
FMM.MIGHT可能释放不匹配内存2truePre-9.210.1
FMM.MUST释放不匹配内存1truePre-9.210.1
FNH.MIGHT可能释放非堆内存1truePre-9.2
FNH.MUST释放非堆内存2truePre-9.2
FREE.INCONSISTENT内存释放不一致3falsePre-9.2
FUM.GEN.MIGHT可能释放未分配内存1truePre-9.2
FUM.GEN.MUST释放未分配内存1truePre-9.2
FUNCRET.GEN非 void 函数未返回值1truePre-9.2
FUNCRET.IMPLICIT隐式返回 int 的非 void 函数未返回值2truePre-9.2
HCC使用硬编码凭据2true11.1
HCC.PWD使用硬编码密码2true11.1
HCC.USER使用硬编码用户名2true11.1
INCONSISTENT.LABEL案例标签不一致4truePre-9.29.5
INCORRECT.ALLOC_SIZE分配大小不正确3truePre-9.2
INFINITE_LOOP.GLOBAL无限循环2false9.5
INFINITE_LOOP.LOCAL无限循环2true9.510.1、2017、 2017.3
INFINITE_LOOP.MACRO无限循环2false9.5
INVARIANT_CONDITION.GEN条件中的不变表达式3false10.110.2
INVARIANT_CONDITION.UNREACH条件中的不变表达式3false10.110.2
ITER.CONTAINER.MODIFIED使用了无效迭代器3truePre-9.22017
ITER.END.DEREF.MIGHT取消引用“末端”迭代器3true9.5
ITER.END.DEREF.MUST取消引用“末端”迭代器3true9.5
ITER.INAPPROPRIATE使用含有不适当的容器对象的迭代器4true9.5
ITER.INAPPROPRIATE.MULTIPLE使用含有不适当的容器对象的迭代器4true9.5
LA_UNUSED未使用标签4falsePre-9.2
LOCRET.ARG函数返回局部变量的地址1truePre-9.29.5
LOCRET.GLOB函数返回局部变量的地址1truePre-9.29.5
LOCRET.RET函数返回局部变量的地址1truePre-9.29.5
LS.CALLGUI 函数中非本地化字符串的可疑使用3false11.0
LS.CALL.STRINGGUI 函数中非本地化字符串的可疑使用3false11.0
LV_UNUSED.GEN未使用局部变量4falsePre-9.2
MLK.MIGHT内存可能泄漏2truePre-9.29.2、9.5
MLK.MUST内存泄漏2truePre-9.29.2、9.5、11.1、11.3
MLK.RET.MIGHT内存可能泄漏2false9.6
MLK.RET.MUST内存泄漏2true9.6
NNTS.MIGHT缓冲区溢出 - 非 null 结尾字符串1truePre-9.29.2、10.3
NNTS.MUST缓冲区溢出 - 非 null 结尾字符串1truePre-9.29.2、10.3
NNTS.TAINTED未经验证的用户输入导致缓冲区溢出 - 非 Null 结尾的字符串1truePre-9.29.2、10.3
NPD.CHECK.CALL.MIGHT在对指针主动进行 NULL 检查后,指针可能被传递给可将其取消引用的函数1truePre-9.29.2、9.5
NPD.CHECK.CALL.MUST在对指针主动进行 NULL 检查后,指针将被传递给可能将其取消引用的函数1truePre-9.29.2、9.5
NPD.CHECK.MIGHT在对指针主动进行 NULL 检查后,指针可能被取消引用1truePre-9.29.2、9.5
NPD.CHECK.MUST在对指针主动进行 NULL 检查后,指针将被取消引用1truePre-9.29.2、9.5
NPD.CONST.CALLNULL 被传递给可将其取消引用的函数1falsePre-9.29.2、9.5
NPD.CONST.DEREFNULL 被取消引用1falsePre-9.29.2、9.5
NPD.FUNC.CALL.MIGHT可能返回 NULL 的函数的结果可能被传递给可能将其取消引用的其他函数1falsePre-9.29.2、9.5
NPD.FUNC.CALL.MUST可能返回 NULL 的函数的结果将被传递给可能将其取消引用的其他函数1falsePre-9.29.2、9.5
NPD.FUNC.MIGHT可以返回 NULL 的函数的结果可能被取消引用1truePre-9.29.2、9.5
NPD.FUNC.MUST可能返回 NULL 的函数的结果将被取消引用1truePre-9.29.2、9.5、10.4
NPD.GEN.CALL.MIGHTNull 指针可能被传递给可能将其取消引用的函数1truePre-9.29.2、9.5
NPD.GEN.CALL.MUSTNull 指针将被传递给可能将其取消引用的函数1truePre-9.29.2、9.5
NPD.GEN.MIGHTNull 指针可能被取消引用1truePre-9.29.2、9.5
NPD.GEN.MUSTNull 指针将被取消引用1truePre-9.29.2、9.5、11.0、2018.2
NUM.OVERFLOW可能溢出3false10.1
PORTING.BITFIELDS在结构中使用了位域4false9.29.5
PORTING.BSWAP.MACRO在不进行字节顺序检查的情况下使用了自定义字节交换宏4false9.29.5
PORTING.BYTEORDER.SIZE对“ntohl”等网络宏使用了不兼容的类型4false9.29.5
PORTING.CAST.FLTPNT将浮点表达式转换为非浮点类型4false9.29.5
PORTING.CAST.PTR并非都为指针或都不为指针类型之间的转换4false9.29.5
PORTING.CAST.PTR.FLTPNT将浮点表达式的指针转换为非浮点类型指针4false9.29.5
PORTING.CAST.PTR.SIZE尝试将表达式转换为可能大小不兼容的类型4false9.29.5
PORTING.CAST.SIZE表达式被转换为可能大小不同的类型4false9.29.5
PORTING.CMPSPEC.EFFECTS.ASSIGNMENT函数参数中的分配4false9.29.5、10.3
PORTING.CMPSPEC.TYPE.BOOL对布尔型的赋值大于 1 字节4false9.29.5
PORTING.CMPSPEC.TYPE.LONGLONG使用“long long”4false9.29.5
PORTING.MACRO.NUMTYPE使用了描述内建数字型的宏4false9.29.5
PORTING.OPTS使用了编译器相关选项4false9.29.5
PORTING.PRAGMA.ALIGN#pragma align 的使用情况4false9.29.5
PORTING.PRAGMA.PACK#pragma pack 的使用情况4false9.29.5
PORTING.SIGNED.CHAR使用了“char”但没有明确指定符号规范4false9.29.5
PORTING.STORAGE.STRUCT结构中元素的字节位置可能取决于对齐和封装属性。4false9.29.5
PORTING.STRUCT.BOOL结构/类存在布尔型成员4false9.29.5
PORTING.UNIONS封闭结构/封闭类/其他联合中使用了联合4false9.29.5
PORTING.UNSIGNEDCHAR.OVERFLOW.FALSE关系表达式可能始终为 false,具体取决于“char”类型符号规范4false9.29.5
PORTING.UNSIGNEDCHAR.OVERFLOW.TRUE关系表达式可能始终为 true,具体取决于“char”类型符号规范4false9.29.5
PORTING.UNSIGNEDCHAR.RELOP明确有符号/无符号的字符型以及没有符号规范的字符型之间使用了关系运算4false9.29.5
PORTING.VAR.EFFECTS变量在一个表达式中使用了两次,且其中一次会产生副作用4false9.29.5
PRECISION.LOSS出现精度损失4falsePre-9.29.5
PRECISION.LOSS.CALL在函数调用期间出现精度损失4falsePre-9.29.5
RABV.CHECK在进行边界检查前对索引进行可疑的使用1true11.32017
RCA使用了存在风险的密码算法2true11.02017
RCA.HASH.SALT.EMPTY在 salt 为空的情况下使用单向哈希2true11.1
RETVOID.GEN非虚函数返回虚值2truePre-9.2
RETVOID.IMPLICIT隐式 int 函数返回虚值2truePre-9.2
RH.LEAK资源泄露2truePre-9.29.5、11.1
RN.INDEX在进行负值检查前对索引进行可疑的使用1true9.5
RNPD.CALL在函数调用中在进行 NULL 检查前对指针进行可疑的取消引用1truePre-9.2
RNPD.DEREF在进行 NULL 检查前对指针进行可疑的取消引用1truePre-9.2
SEMICOL可能放错位置的分号4falsePre-9.2
SPECTRE.VARIANT1预测执行的可能利用3false2017.3, 2018, 2018.1*
STRONG.TYPE.ASSIGN赋值未遵循强类型指定4false9.2
STRONG.TYPE.ASSIGN.ARG赋值未遵循强类型指定4false9.2
STRONG.TYPE.ASSIGN.CONST赋值未遵循强类型指定4false9.2
STRONG.TYPE.ASSIGN.INIT赋值未遵循强类型指定4false9.2
STRONG.TYPE.ASSIGN.RETURN赋值未遵循强类型指定4false9.2
STRONG.TYPE.ASSIGN.ZERO赋值未遵循强类型指定4false9.2
STRONG.TYPE.EXTRACT赋值未遵循强类型指定4false9.2
STRONG.TYPE.JOIN.CMP与二进制运算符的结合未遵循强类型指定4false9.2
STRONG.TYPE.JOIN.CONST与二进制运算符的结合未遵循强类型指定4false9.2
STRONG.TYPE.JOIN.EQ与二进制运算符的结合未遵循强类型指定4false9.2
STRONG.TYPE.JOIN.OTHER与二进制运算符的结合未遵循强类型指定4false9.2
STRONG.TYPE.JOIN.ZERO与二进制运算符的结合未遵循强类型指定4false9.2
SV.BANNED.RECOMMENDED.ALLOCA已禁用的建议的 API:堆栈分配函数4false9.5
SV.BANNED.RECOMMENDED.NUMERIC已禁用的建议的 API:不安全的数值转换函数4false9.5
SV.BANNED.RECOMMENDED.OEM已禁用的建议的 API:OEM 字符页面转换函数4false9.5
SV.BANNED.RECOMMENDED.PATH已禁用的建议的 API:不安全的路径名称操作函数4false9.5
SV.BANNED.RECOMMENDED.SCANF已禁用的建议的 API:不安全的 scanf 类型函数4false9.5
SV.BANNED.RECOMMENDED.SPRINTF已禁用的建议的 API:不安全的 sprintf 类型函数4false9.5
SV.BANNED.RECOMMENDED.STRLEN已禁用的建议的 API:不安全的字符串长度函数4false9.5
SV.BANNED.RECOMMENDED.TOKEN已禁用的建议的 API:不安全的字符串令牌化函数4false9.5
SV.BANNED.RECOMMENDED.WINDOW已禁用的建议的 API:不安全的窗口函数4falsePre-9.2
SV.BANNED.REQUIRED.CONCAT已禁用的建议的 API:不安全的字符串串联函数4false9.5
SV.BANNED.REQUIRED.COPY已禁用的建议的 API:不安全的缓冲区复制函数4false9.5
SV.BANNED.REQUIRED.GETS已禁用的建议的 API:不安全的流读取函数4falsePre-9.2
SV.BANNED.REQUIRED.ISBAD已禁用的所需的 API:IsBad-type 函数4false9.5
SV.BANNED.REQUIRED.SPRINTF已禁用的所需的 API:不安全的 sprintf 类型函数4false9.5
SV.BFC.USING_STRUCT在 struct sockaddr_in 结构的 sin_addr.s_addr 字段中使用 INADDR_ANY 来调用 bind 函数4falsePre-9.2
SV.BRM.HKEY_LOCAL_MACHINEHKEY_LOCAL_MACHINE 被用作注册表操作函数的“hkey”参数4falsePre-9.2
SV.CODE_INJECTION.SHELL_EXEC命令注入 shell 执行3falsePre-9.2
SV.DLLPRELOAD.NONABSOLUTE.DLL潜在的 DLL 预加载劫持载体2false9.5
SV.DLLPRELOAD.NONABSOLUTE.EXE潜在进程注入矢量2false9.5
SV.DLLPRELOAD.SEARCHPATH不要使用 SearchPath 查找 DLL2false9.5
SV.FIU.PROCESS_VARIANTS使用危险的进程创建4falsePre-9.211.3
SV.FMTSTR.GENERIC格式字符串漏洞1falsePre-9.211.2
SV.FMT_STR.BAD_SCAN_FORMAT输入格式说明符错误2truePre-9.29.5
SV.FMT_STR.PRINT_FORMAT_MISMATCH.BAD打印函数参数的不兼容类型2truePre-9.29.5
SV.FMT_STR.PRINT_FORMAT_MISMATCH.UNDESIRED打印函数参数的非预期类型4truePre-9.29.5
SV.FMT_STR.PRINT_IMPROP_LENGTH打印函数调用中的长度修饰符使用不当2truePre-9.29.5
SV.FMT_STR.PRINT_PARAMS_WRONGNUM.FEW打印函数调用中的自变量过少2truePre-9.29.5
SV.FMT_STR.PRINT_PARAMS_WRONGNUM.MANY打印函数调用中的自变量过多2truePre-9.29.5
SV.FMT_STR.SCAN_FORMAT_MISMATCH.BAD扫描函数参数的不兼容类型2true10.011.3
SV.FMT_STR.SCAN_FORMAT_MISMATCH.UNDESIRED扫描函数参数的非预期类型2true10.0
SV.FMT_STR.SCAN_IMPROP_LENGTH扫描函数调用中的长度修饰符使用不当2truePre-9.29.5
SV.FMT_STR.SCAN_PARAMS_WRONGNUM.FEW扫描函数调用中的自变量过少2truePre-9.29.5
SV.FMT_STR.SCAN_PARAMS_WRONGNUM.MANY扫描函数调用中的自变量过多2truePre-9.29.5
SV.FMT_STR.UNKWN_FORMAT打印函数调用中存在未知格式说明符3truePre-9.29.5
SV.FMT_STR.UNKWN_FORMAT.SCAN扫描函数调用中存在未知格式说明符3truePre-9.29.5
SV.INCORRECT_RESOURCE_HANDLING.URH不安全的资源处理3falsePre-9.2
SV.INCORRECT_RESOURCE_HANDLING.WRONG_STATUS不安全的资源处理3falsePre-9.2
SV.LPP.CONST危险函数使用不安全的宏3false9.5
SV.LPP.VAR危险函数使用不安全的函数3false9.5
SV.PCC.CONST在调用 CreateFile 时使用了不安全的(常量)临时文件名4falsePre-9.2
SV.PCC.INVALID_TEMP_PATH在调用 CreateFile 时使用了不安全的临时文件名4falsePre-9.2
SV.PCC.MISSING_TEMP_CALLS.MUST在调用 CreateFile 时缺少安全的临时文件名4falsePre-9.2
SV.PCC.MISSING_TEMP_FILENAME在调用 CreateFile 时缺少临时文件名4falsePre-9.2
SV.PCC.MODIFIED_BEFORE_CREATE在调用 CreateFile 之前修改了临时文件名4falsePre-9.2
SV.PIPE.CONST潜在的管道劫持3false9.5
SV.PIPE.VAR潜在的管道劫持3false9.5
SV.RVT.RETVAL_NOTTESTED返回值被忽略4falsePre-9.2
SV.SIP.CONST危险函数使用不安全的宏3false9.6
SV.SIP.VAR危险函数使用不安全的函数3false9.6
SV.STRBO.BOUND_COPY.OVERFLOW绑定字符串复制中的缓冲区溢出1false10.0
SV.STRBO.BOUND_COPY.UNTERM随后字符串运算中可能的缓冲区溢出2false10.0
SV.STRBO.BOUND_SPRINTF绑定 sprintf 中的缓冲区溢出1falsePre-9.210.3
SV.STRBO.UNBOUND_COPY非绑定字符串复制中的缓冲区溢出1falsePre-9.2
SV.STRBO.UNBOUND_SPRINTF非绑定 sprintf 中的缓冲区溢出1falsePre-9.2
SV.STR_PAR.UNDESIRED_STRING_PARAMETER文件路径包含不希望出现的字符串4falsePre-9.2
SV.TAINTED.ALLOC_SIZE在内存分配中使用未经验证的整数2truePre-9.210.1、10.2
SV.TAINTED.BINOP在二进制运算中使用未经验证的整数3false10.3
SV.TAINTED.CALL.BINOP在二进制运算中使用未经验证的整数3false10.3
SV.TAINTED.CALL.DEREF取消引用未经验证的指针3false11.2
SV.TAINTED.CALL.INDEX_ACCESS通过函数调用将未经验证的整数用作数组索引2truePre-9.210.1、10.2
SV.TAINTED.CALL.LOOP_BOUND通过函数调用在循环条件使用未经验证的整数2truePre-9.210.1、10.2
SV.TAINTED.DEREF取消引用未经验证的指针3false11.2
SV.TAINTED.FMTSTR在格式字符串中使用未经验证的数据1truePre-9.210.1
SV.TAINTED.INDEX_ACCESS将未经验证的整数用作数组索引1truePre-9.210.1、10.2、11.1、2017
SV.TAINTED.INJECTION命令注入3truePre-9.210.1
SV.TAINTED.LOOP_BOUND在循环条件中使用未经验证的整数2truePre-9.210.1、10.2
SV.TAINTED.PATH_TRAVERSAL在路径遍历中使用未经验证的数据1true11.0
SV.TAINTED.SECURITY_DECISION安全性决策3false10.4
SV.TOCTOU.FILE_ACCESS文件访问中的时间创建/时间争用条件4falsePre-9.211.3
SV.UNBOUND_STRING_INPUT.CIN将 cin 用于无边界字符串输入1true9.5
SV.UNBOUND_STRING_INPUT.FUNC使用无边界字符串输入1true9.5
SV.USAGERULES.PERMISSIONS使用权限提升4falsePre-9.211.3
SV.USAGERULES.PROCESS_VARIANTS使用危险的进程创建函数4falsePre-9.2
SV.USAGERULES.SPOOFING使用易遭受电子欺骗的函数4falsePre-9.2
SV.WEAK_CRYPTO.WEAK_HASH不安全的哈希函数4falsePre-9.2
UFM.DEREF.MIGHT可能使用了释放内存(访问)1truePre-9.29.2、9.5
UFM.DEREF.MUST通过指针使用了已释放内存1truePre-9.29.2、9.5
UFM.FFM.MIGHT可能使用了释放内存(双重释放)1truePre-9.29.2、9.5
UFM.FFM.MUST释放已释放内存1truePre-9.29.2、9.5
UFM.RETURN.MIGHT可能使用了已释放内存(返回)2truePre-9.29.2、9.5
UFM.RETURN.MUST返回时使用了已释放内存2truePre-9.29.2、9.5
UFM.USE.MIGHT可能使用了释放内存2truePre-9.29.2、9.5
UFM.USE.MUST使用了已释放内存2truePre-9.29.2、9.5
UNINIT.CTOR.MIGHT构造函数中可能存在未初始化的变量1truePre-9.29.2、9.5
UNINIT.CTOR.MUST构造函数中存在未初始化的变量2falsePre-9.29.2、9.5
UNINIT.HEAP.MIGHT使用的堆可能未初始化1truePre-9.29.2、9.5
UNINIT.HEAP.MUST使用的堆未初始化1truePre-9.29.2、9.5
UNINIT.STACK.ARRAY.MIGHT数组可能未初始化1truePre-9.29.2、9.5
UNINIT.STACK.ARRAY.MUST数组未初始化1truePre-9.29.2、9.5
UNINIT.STACK.ARRAY.PARTIAL.MUST数组部分未初始化1truePre-9.29.2、9.5
UNINIT.STACK.MIGHT变量可能未初始化1truePre-9.29.2、9.5、2018.2
UNINIT.STACK.MUST变量未初始化1truePre-9.29.2、9.5、11.2
UNREACH.GEN无法访问的代码3falsePre-9.29.2、9.5、10.1、10.3、10.4、11.2
UNREACH.RETURN无法访问的返回虚值3falsePre-9.29.2、9.5、11.2
UNREACH.SIZEOF体系结构相关的无法访问代码3false10.1
UNUSED.FUNC.GEN已定义但未使用的函数4false10.111.3
UNUSED.FUNC.STL_EMPTY忽略 STL 对象 empty() 方法的返回值3true2019.3
UNUSED.FUNC.WARN可能的未使用函数4false10.111.3
VA_UNUSED.GEN赋值后从未使用过值4falsePre-9.29.5
VA_UNUSED.INIT值在初始化后从未使用过4falsePre-9.29.5、11.2
VOIDRETVoid 函数返回值2truePre-9.29.5
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值