(完整word版)cppcheck扫描规则

更新时间:2023-05-08 19:13:23 阅读: 评论:0

规则
描述
arrayIndexOutOfBounds
数组下标越界
arrayIndexThenCheck
数组越界访问
bufferAccessOutOfBounds
缓冲区访问越界
CastIntegerToAddressAtReturn
把整数返回地址
catchExceptionByValue
函数返回的整数指针类型是不可移植的
charArrayIndex
类型用作数组索引,如果该值可以超过127将会有一个缓冲区下溢
clarifyCalculation
可疑的计算;不明确计算的优先级
clarifyCondition
可疑的条件
clarifyStatement
可疑的声明
class_X_Y
信息处理,You can u —I or —-include to add handling of this code。
compareBoolExpressionWithInt
布尔表达式与整形比较
comparisonError
比较错误
comparisonOfBoolWithInt
布尔表达式与整形比较
comparisonOfFuncReturningBoolError
比较函数返回布尔值的错误
ConfigurationNotChecked
配置不检查
constStatement
常量的声明
copyCtorPointerCopying
指针指向分配的内存,复制构造函数,而不是分配新的内存.
cstyleCast
c语言风格的指针铸造
deallocDealloc
回收一个分配指针
deallocu
dealloc函数的使用
duplicateBreak
重复
duplicateExpression
连续的 return, break, continue, goto or throw statements 是没有必要的。第二个语句无法执行,因此应该被删除。
duplInheritedMember
成员变量的名称与父类的相同
eraDereference
迭代器中,无效后元素指向被删除。非关联化或比较它与另一个迭代器是无效的操作。
exceptRethrowCopy
重新抛出了异常,没有不必要的复制
exceptThrowInDestructor
析构函数中抛出异常。
fflushOnInputStream
fflus调用输入流,结果是未定义的
incorrectLogicOperator
不正确的逻辑操作符
incorrectStringBooleanError
不正确的字符串逻辑
incorrectStringCompare
不正确的字符串比较
incureCmdLineArgs
长命令行参数可能使缓冲区溢出.
invalidPointerCast
不兼容的二进制表示
invalidPrintfArgType_int
无效的整形输出格式
invalidPrintfArgType_s
无效的字符串输出格式
invalidPrintfArgType_sint
无效的sint输出格式
invalidPrintfArgType_uint
无效的uint输出格式
invalidscanf
字段没有字符长度限制
IOWithoutPositioning
读和写操作没有调用Positioning函数
memleak
内存泄露
memleakOnRealloc
常见的Realloc错误:调用失败的空值没有释放
memtClass
使用memt类包含一个虚拟方法是不安全的,因为构造函数、析构函数和拷贝操作符调用omitted.这些都是必要的对于这个non-POD确保创建一个有效的对象类型。
memtValueOutOfRange
memt()参数并不适合一个无符号字符
memtZeroBytes
memt()调用0字节的tmp
mismatchAllocDealloc
分配和回收失败
multiCondition
表达式总是错误的
noConstructor
没有构造函数
noCopyConstructor
没有拷贝构造函数
nullPointer
空指针
obsoleteFunctionsasctime
过时的函数asctime调用.推荐使用strftime函数。
obsoleteFunctionsgets
过时的函数被调用。推荐使用fgets函数.
operatorEq
操作符不符合C++的标准
operatorEqToSelf
使用运算符“=”检查自己的作业时应该避免动态内存的问题。
operatorEqVarError
错误的使用=赋值成员变量
oppositeInnerCondition
相反的内在条件
pasdByValue
在c++中,函数参数strDir应该以引用的方式传递。
pointerLessThanZero
指针小于零是无意义的
postfixOperator
前缀+ + / -基本类型操作是低效率的
publicAllocationError
在公共函数可能泄漏。缓冲区的指针不收回之前分配。
redundantAssignInSwitch
Switch中冗余分配值
redundantAssignment
冗余分配:变量是重新分配一个被使用旧的值.
redundantCopy
冗余拷贝:缓冲路径写入之前旧的内容已经被使用。
redundantIfRemove
冗余检查然后再删除它
resourceLeak
资源泄露
returnLocalVariable
返回局部变量
lfAssignment
自动赋值
sizeofCalculation
内部计算sizeof函数
sizeofwithnumericparameter
可疑的使用sizeof数字常数作为参数。
sprintfOverlappingData
重叠数据
stlcstrParam
c_str()的结果传递给一个函数,采用string作为参数.是缓慢和冗余。
stlcstrReturn
返回的结果c_str()函数,它返回string是缓慢和冗余。
stlOutOfBounds
字符串越界
stlSize
字符串的长度限制
strncatUsage
strncat附加在max三参数数量的字符。安全的方式使用strncat是计算剩余空间缓冲区和使用它作为第三个参数.
strPlusChar
不寻常的指针算术.一个char类型的值添加到字符串文字。
syntaxError
语法错误
thisSubtraction
可疑的指针减法。
unassignedVariable
未赋值的变量
uninitMemberVar
在构筑函数中没有赋值成员变量
uninitStructMember
未初始化结构体成员
uninitvar
未初始化变量
unnecessaryQualification
是不必要的或是由许多编译器造成的错误
unreachableCode
执行不到的代码
unreadVariable
未读的变量
unsignedLessThanZero
无符号变量永远不会是负的,所以它是无意义的检查
unudAllocatedMemory
未使用分配的内存
unudPrivateFunction
未使用的私有函数
unudStructMember
未使用结构体成员
unudVariable
未使用的变量
uAutoPointerArray
数组操作使用自由的指针
uInitializationList
构造函数体内的分配变量。考虑初始化列表中进行初始化。
ulessAssignmentPtrArg
无用的参数
variableScope
变量值的范围太大
wrongPrintfScanfArgNum
函数缺少参数

本文发布于:2023-05-08 19:13:23,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/558558.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:使用   函数   指针   参数   变量   没有
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图