cppcheck 自定义规则_cppcheck扫描规则

cppcheck 是一款静态代码分析工具,用于检测 C/C++ 代码中的潜在问题。本文详细介绍了如何自定义规则,包括数组越界、缓冲区访问、指针处理等多个方面,帮助提升代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

规则

描述

arrayIndexOutOfBounds

数组下标越界

arrayIndexThenCheck

数组越界访问

bufferAccessOutOfBounds

缓冲区访问越界

CastIntegerToAddressAtRetu

rn

把整数返回地址

catchExceptionByValue

函数返回的整数指针类型是不可移植的

charArrayIndex

类型用作数组索引,如果该值可以超过

127

将会有一

个缓冲区下溢

clarifyCalculation

可疑的计算;不明确计算的优先级

clarifyCondition

可疑的条件

clarifyStatement

可疑的声明

class_X_Y

信息处理,

You can use -I or --include to add

handling of this code.

compareBoolExpressionWithI

nt

布尔表达式与整形比较

comparisonError

比较错误

comparisonOfBoolWithInt

布尔表达式与整形比较

comparisonOfFuncReturningB

oolError

比较函数返回布尔值的错误

ConfigurationNotChecked

配置不检查

constStatement

常量的声明

copyCtorPointerCopying

指针指向分配的内存

,

复制构造函数

,

而不是分配新的

内存。

cstyleCast

c

语言风格的指针铸造

deallocDealloc

回收一个分配指针

deallocuse

dealloc

函数的使用

duplicateBreak

重复

duplicateExpression

连续的

return, break, continue, goto or throw

statements

是没有必要的

.

第二个语句无法执行

,

此应该被删除。

duplInheritedMember

成员变量的名称与父类的相同

eraseDereference

迭代器中,无效后元素指向被删除。非关联化或比较

它与另一个迭代器是无效的操作。

exceptRethrowCopy

重新抛出了异常

,

没有不必要的复制

exceptThrowInDestructor

析构函数中抛出异常。

fflushOnInputStream

fflus

调用输入流,结果是未定义的

incorrectLogicOperator

不正确的逻辑操作符

incorrectStringBooleanErro

r

不正确的字符串逻辑

incorrectStringCompare

不正确的字符串比较

insecureCmdLineArgs

长命令行参数可能使缓冲区溢出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值