首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【规则分享】CC++返回值处理检查

CodeAnalysis 国内镜像:https://git.code.tencent.com/Tencent_Open_Source/CodeAnalysis 项目需求 ▼ 在C/C++中,如果函数有返回值...,但在调用它时没有处理返回值,可能会导致错误处理不足、未定义行为、资源泄漏和性能损失等问题。...因此,始终检查返回值、错误码和异常是一种良好的编程实践,可以帮助我们及时发现潜在的错误和问题,并采取适当的处理措施来确保程序的正确性和稳定性。...基于以上编程实践,需要实现满足的代码分析规则: 检查C/C++代码中有返回值(void除外的)的函数但没有处理返回值的情况。...代码案例: 分析规则 ▼ TCA独立工具 TCA-Armory-Q1 的 Unused_Return 支持该场景,支持检测一个函数返回值没有被检查的情况。

14210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    智能合约安全审计之路-返回值检查漏洞

    描述:未检查低级别调用的返回值,在solidity中的低级别调用与其他函数调用不同,如果调用中发生了异常并不会将异常传递,而只是返回true或false。...因此程序中必须对低级别调用的返回值进行检查,而不能期待其出错后促使整个调用回滚。 核心问题:对低级别调用的函数没有对返回值进行检查。 ?...概念 低级别调用(Low Level Calls)包含: call():发出低级别调用,若发生异常则返回false callcode():发出低级别调用(类似代码注入),若发生异常则返回false delegatecall...,异常会沿着函数调用栈向上传递 低级别调用中抛出异常,仅会返回false 引发问题:对于低级别的调用,如果不对返回值进行检验,将不能获知低级别调用的结果 低级别调用中产生异常的原因: 代码中主动revert...function() public payable{ revert(); } } 漏洞点:在提币的时候使用可send()低级别调用函数,在转账的过程中没有对返回值进行检查

    1.2K10

    C语言函数返回 1 和返回 0 哪个好?

    按照C语言语法, 0 表示假,非零(常常用 1)表示真,那是否函数也用 0 返回值表示“失败”,1 返回值表示“成功”呢?...02 行业“潜规则” C语言函数当然可以使用返回值 0 表示“失败”,用返回值 1 表示“成功”。...当然,我们也可以说“实数要么是 1,要么非 1”,不过这显然也不是“行业潜规则”。...例如我们可以规定,如果 myopen() 函数因为“文件或者目录不存在”的原因失败,返回 -1,如果因为“权限不够”的原因失败,则返回 -2。...-1 和 -2 都是“非零值”,而成功作为失败的对立面,也即“非零值”的对立面,myopen() 函数使用返回值 0 表示成功无可厚非。

    2.5K20

    C语言函数返回1和返回0区别?

    按照C语言语法, 0 表示假,非零(常常用 1)表示真,那是否函数也用 0 返回值表示“失败”,1 返回值表示“成功”呢?...“行业潜规则” C语言函数当然可以使用返回值 0 表示“失败”,用返回值 1 表示“成功”。...当然,我们也可以说“实数要么是 1,要么非 1”,不过这显然也不是“行业潜规则”。...例如我们可以规定,如果 myopen() 函数因为“文件或者目录不存在”的原因失败,返回 -1,如果因为“权限不够”的原因失败,则返回 -2。...-1 和 -2 都是“非零值”,而成功作为失败的对立面,也即“非零值”的对立面,myopen() 函数使用返回值 0 表示成功无可厚非。

    5.3K2119

    高阶Python|返回类型提示技巧 (1)

    本文[1]将通过实例向您展示,如何为一个从电子邮件地址中解析出域名的函数定义多种可能的返回类型。同时,您还将学习到如何为那些接受函数作为参数或者作为回调的函数添加类型提示。...考虑使用多种返回类型的情境包括: 条件判断:当函数通过条件判断返回不同类型结果时,您可以利用类型提示来指明函数可能返回的多种类型。...可选返回值:有时函数可能不返回任何值,这时您可以用类型提示来标明偶尔的无返回值情况。 异常处理:如果函数运行中遇到错误,您可能希望返回一个特定的错误对象,这与正常返回结果的类型不同。...email_address.split("@") return username return None 在上面的示例中,parse_email() 函数有一个条件语句,用于检查作为参数传递的电子邮件地址是否包含...您想要声明一个函数,它不仅返回从电子邮件地址解析出的用户名,还希望同时返回域名。

    17110

    C语言函数执行成功时,返回1和返回0,究竟哪个好?

    按照C语言语法, 0 表示假,非零(常常用 1)表示真,那是否函数也用 0 返回值表示“失败”,1 返回值表示“成功”呢?...“行业潜规则” C语言函数当然可以使用返回值 0 表示“失败”,用返回值 1 表示“成功”。...当然,我们也可以说“实数要么是 1,要么非 1”,不过这显然也不是“行业潜规则”。...例如我们可以规定,如果 myopen() 函数因为“文件或者目录不存在”的原因失败,返回 -1,如果因为“权限不够”的原因失败,则返回 -2。...-1 和 -2 都是“非零值”,而成功作为失败的对立面,也即“非零值”的对立面,myopen() 函数使用返回值 0 表示成功无可厚非。

    2.8K20

    使用Tensorflow实现口算检查器(1):模型选择

    周末在家帮娃检查口算作业,发现一个非常有意思的应用:拿手机对着作业拍照,立马就能知道有没有做错的题目。如果做错了,还会标记出来,并给出正确答案。 ?...OCR是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件...结果如下: WHWM$Efifi%35—5: 28-6= 38-8: 27-4: 25—4: 29—2: 25—3: 24—4: 49—4= 22—1: 47—5: 26-6=42—1: 41—1: 44—...这样如果检查出错误后,无法明确标识错误的位置,无法满足需求。 目标检测(Object detection) 因为之前也稍微了解过深度学习中的目标检测,所以自然就想到借助目标检测技术来实现。...训练 有了自己的数据,就可以利用迁移学习原理,在现有的ssd_mobilenet_v1_coco模型上训练出我们自己的模型。

    1.5K30

    Mysql复制数据一致性检查1

    检查数据不一致 使用 pt-table-checksum 进行不一致数据检查 pt-table-checksum performs an online replication consistency check...检查示例 [mysql@replication-check-vm ~]$ pt-table-checksum --nocheck-replication-filters --nocheck-binlog-format...abc_test_db.users [mysql@replication-check-vm ~]$ Option Comment --nocheck-replication-filters 如果有复制过滤就不进行检查...--nocheck-binlog-format 不对binlog_format进行检查 --replicate 将结果存入指定的表中 --tables 指定要检查的表,可以是一个列表,使用逗号分割 -...-databases 指定要检查的库,可以是一个列表,使用逗号分割 h=xxx,u=xxx DSN选项,h代表host,u代表用户名,使用逗号分割 --ask-pass 使用提示密码的方式连接数据库,而不是使用

    25510
    领券