当前位置: 首页 > news >正文

Java代码弱点与修复之——Dereference null return value(间接引用空返回值)

弱点描述

Dereference null return value,间接引用空返回值。是Coverity Scan静态代码分析工具中的一个警告,表示代码中有对可能为空(null)的方法或函数返回值进行间接引用(Dereference)操作。

该类型的漏洞可能会导致 NullPointerException 异常,并且会导致程序崩溃或出现其他异常。

示例代码

	public String dereferenceNullReturnValue() {return getObj().toString();}

这里getObj()方法的返回值可能为空,如果为空的化则会发生空指针异常。

扫描方式和结果

  • 使用Coverity 命令工具扫描的提示如下:
Dereference null return value (NULL_RETURNS)

修复方式

在使用方法返回值之前进行判空,对于上面的示例修改如下:

	public String dereferenceNullReturnValueSafe() {String rtnStr = null;if(getObj()!=null) {rtnStr = getObj().toString();}return rtnStr;}

完整代码示例

http://www.lryc.cn/news/31887.html

相关文章:

  • 【冲刺蓝桥杯的最后30天】day3
  • 光伏发电嵌入式ARM工控机
  • 推荐 7 个 Vue.js 插件,也许你的项目用的上(五)
  • 1.1基于知识图谱的项目实战:优酷搜索泛查询意图优化
  • [java Spring JdbcTemplate配合mysql实现数据批量删除
  • uos 20 统信 fprintd 记录
  • vue移动端h5,文本溢出显示省略号,且展示‘更多’按钮
  • php宝塔搭建部署实战兰空图床程序网站PHP源码
  • 软件测试面试:拿到一个产品(版本)如何开展测试?
  • 【Opencv项目实战】图像的像素值反转
  • Swagger生成接口在线文档
  • 104.第十九章 MySQL数据库 -- MySQL主从复制、 级联复制和双主复制(十四)
  • 第一次使用Python for Qt中的问题
  • .Net Core WebApi 在Linux系统Deepin上部署Nginx并使用(一)
  • Java——打开轮盘锁
  • JavaScript(2)
  • FFMPEG 安装教程windowslinux(CentOS版)
  • 【虹科案例】虹科任意波形发生器在量子计算中的应用
  • 【强化学习】强化学习数学基础:随机近似理论与随机梯度下降
  • ThreadLocal 学习常见问题
  • 文件包含漏洞1 | iwebsec
  • 基于MindAR实现的网页端WebAR图片识别叠加动作模型追踪功能(含源码)
  • ssh 远程连接方式总结
  • springboot+mybatisPlus简单实现数据分页显示
  • axios的基本使用
  • 核心 Android 调节音量的过程
  • 用C/C++制作一个简单的俄罗斯方块小游戏
  • 使用免费负载生成器swingbench对oracle数据库进行压力测试(测试Oracle的功能或评估性能)
  • 【预告】ORACLE Primavera P6 v22.12 虚拟机发布
  • 机器学习100天(四十):040 线性支持向量机-公式推导