SonarQube扫描常见Bug、漏洞修复整理(持续更新中)

这篇具有很好参考价值的文章主要介绍了SonarQube扫描常见Bug、漏洞修复整理(持续更新中)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DMS

1、A “NullPointerException” could be thrown; “sra” is nullable here.

这种提示是指可能存在空指针异常,需要增加空值检测。
说明:未做非空校验,可能产生空指针
解决方案:加上非空校验
解决方式:先判断或者先实例化,再访问里面的属性或者成员。

2、Cast one of the operands of this multiplication operation to a “long”

说明:int数运算最终再把结果转为long将有可能产生溢出

 解决方案:转换为long型预算 
 举例: 
 long bigNum = Integer.MAX_VALUE + 2; // Noncompliant. Yields -2147483647 
 换为 
 long bigNum = Integer.MAX_VALUE + 2L;

3、Call “remove()” on “requestContainer”.

说明:防止内存泄露溢出,ThreadLocal字段【requestContainer】应该至少调用一次remove()方法。

 // 解决方案:定义删除方法
 public void removeRequest() {
      requestContainer.remove();
 }

4、Use try-with-resources or close this “FileInputStream” in a “finally” clause.

说明:使用try-with-resources或在 “finally” 子句中关闭此 “BufferedOutputStream”。

 // 解决方案1:使用try-with-resources
 BufferedOutputStream out = null;
 try(BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File("C://test"))) {
     out.write(file.getBytes());
     out.flush();
     return Result.success("上传成功!", null);
 } catch (IOException e) {
    return Result.error("上传失败!");
 }
 // 解决方案2:“finally” 子句中关闭流
 BufferedOutputStream out = null;
 try {
     out = new BufferedOutputStream(new FileOutputStream(new File("C://test"));
     out.write(file.getBytes());
     out.flush();
     return Result.success("上传成功!", null);
 } catch (IOException e) {
    return Result.error("上传失败!");
 } finally {
     CloseIoUtils.closeAll(out);
 }

5、Change this condition so that it does not always evaluate to “false”

说明:checkInsertParam方法没有返回false的情况一直是true,所以条件判断后一直返回的结果为false。需要改条件判断或者添加方案中异常false情况返回。

6、Use the “equals” method if value comparison was intended.

说明:使用引用等式==或!=,比较java.lang.String或装箱类型(如java.lang.Integer)的两个实例几乎总是一个错误,因为它不是比较实际值,而是比较内存中的位置

 解决:将 “==” 换成 equals 比较

7、Do something with the “boolean” value returned by “delete”.

//解决方案:增加false判断
if (!csvFile.delete()) {
      log.error("文件删除失败");
}

8、Either re-interrupt this method or rethrow the “InterruptedException” that can be caught here.

 //解决方案 
 try(){
	 //业务代码...
 }catch (InterruptedException e){//抛出InterruptedException   异常需要重新清除线程的中断状态,添加如下
 	 Thread.currentThread().interrupt();
 }

DQC

1、Use “BigDecimal.valueOf” instead.

说明:由于浮点不精确,您不太可能从BigDecimal(double)构造函数中获得预期的值。

 //解决方案
 BigDecimal.valueOf((double) (Float) r)

2、Remove this “break” statement or make it conditional.

说明:移除break;或者把它放在条件中

3、Remove this conditional structure or edit its code blocks so that they’re not all the same.

说明:写if else的时候,卡条件卡得离散了一点,本身可以合成一个的,结果写成了多级if,增加了程序的复杂度。
解决:去掉if else语句文章来源地址https://www.toymoban.com/news/detail-554519.html

到了这里,关于SonarQube扫描常见Bug、漏洞修复整理(持续更新中)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 主机、web漏洞修复整理

    维护系统项目验收前需要做安全扫描,检测主机、web等安全漏洞,现把发现的漏洞修复整理记录一下 1. ICMP timestamp请求响应漏洞 , 描述: 远程主机会回复ICMP_TIMESTAMP查询并返回它们系统的当前时间。这可能允许攻击者攻击一些基于时间认证的协议。 修复: 在您的防火墙上过

    2024年02月11日
    浏览(77)
  • 论文阅读笔记整理(持续更新)

    FAST 2021 Paper 泛读笔记 针对LSM树同时优化读写性能的问题,现有方法通过压缩提升读性能,但会导致读放大或写放大。作者利用新存储硬件的性能,随机读和顺序读性能相近,因此提出构建逻辑排序视图优化范围查询,因为减少了真正的压缩操作,同时减少了写放大。 ATC 2

    2024年01月23日
    浏览(35)
  • 中值滤波(资料整理,持续更新)

    中值滤波(Median Filter),用于图像的中值滤波最早是由美国普林斯顿大学的John Wilder Tukey教授提出来的。常见的线性滤波器,用于图像处理时,有可能导致细节模糊或破坏边缘,更关键的是无法滤除脉冲干扰,而中值滤波,作为一种典型的非线性滤波器,则可以较好地解决此类

    2024年02月09日
    浏览(32)
  • Redis面试题整理(持续更新)

    1. 缓存穿透? 缓存穿透是指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致DB挂掉,这种情况大概率是遭到了攻击。 解决方案: 布隆过滤器: 它的底层主要是先去初始化一个比较大数组,

    2024年02月20日
    浏览(32)
  • 常见的安全扫描漏洞的工具、漏洞分类及处理

    Nikto 这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目进行全面的测试。其扫描项目和插件经常更新并且可以自动更新。Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显。不过,如果你想试验一下,它也可以支持 LibWhisker的反IDS方法

    2023年04月08日
    浏览(38)
  • CXL论文阅读笔记整理(持续更新)

    arXiv Paper 对CXL技术进行介绍,包括CXL 1.0、CXL 2.0、CXL 3.0,对各规范的提升做介绍。整理了现有的CXL实现方法,延迟测试结果,对未来发展进行展望。 Queue 2023 Paper 泛读笔记 CXL提供的是粗力度的内存共享,没有提供细粒度的内存保护功能,作者提出用针对特定领域优化的去中心

    2024年04月15日
    浏览(32)
  • 线性代数复习公式整理(自用/持续更新)

    设A、B为n阶矩阵 ∣ A T ∣ = ∣ A ∣ left | A^T right | =left | A right | ​ A T ​ = ∣ A ∣ ∣ A m ∣ = ∣ A ∣ m left | A^m right | =left | A right | ^m ∣ A m ∣ = ∣ A ∣ m ∣ k A ∣ = k n ∣ A ∣ left | kA right | =k^nleft | A right | ∣ k A ∣ = k n ∣ A ∣ ∣ A B ∣ = ∣ A ∣ ∣ B ∣ left | AB right |

    2024年02月13日
    浏览(34)
  • SSL/TLS RC4 信息泄露漏洞(CVE-2013-2566)【原理扫描】修复方案

    SSL/TLS协议 RC4信息泄露漏洞被扫描出来,一般出现的问题在ssh和https服务上使用了RC4算法,修改配置文件就可以了 1.使用nmap扫描出来: nmap -sV --script ssl-enum-ciphers -p 443 ip 2.使用绿盟扫描 扫描出来显示CVE-2013-2566 apache: 1.禁止apache服务器使用RC4加密算法 2.重启apache服务 Nginx: 1.禁

    2024年02月16日
    浏览(30)
  • Java代码漏洞检测-常见漏洞与修复建议

    背景: 在工作中,项目交付团队在交付项目时,客户方可能会有项目安全要求,会使用一些第三方工具(奇安信等)对项目代码进行扫描,特别是一些对安全性要求比较高的企业,比如涉及到一些证券公司、银行、金融等。他们会在项目上线前进行代码安全检测,通过了对方

    2024年01月16日
    浏览(27)
  • unity移动端性能优化技术整理(持续更新)

    本文主要针对一些常见的性能优化的点进行总结。属于一个high level的overview。需要注意只有当这些模块确定成为制约帧时间的瓶颈时,才能够进行针对性地优化,否则可能会适得其反,事倍功半。 一般来说,移动端性能优化,如果同时支持ios和android,建议先从ios开始优化,

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包