详细描述
Add an end condition to this loop翻译就是向这个循环添加一个结束条件。
loops should not be infinite 循环不应该是无限的。
通过SonarQube检查出来这两个问题,一般都是发生在使用while(true)或者do while,for(;;)做无限循环里面,由于没用给他设置终止条件导致了扫描出现这个bug
解决方案
官方已经给我们提供了解决方案,其实就是加上一个兼容条件,理论上还是无限循环,下面主要说一下java的,其他语言的前去对应的分类下查看
java参考官方提供改动的代码方法如下:
int j;
while (true) { // reachable end condition added
j++;
if (j == Integer.MIN_VALUE) { // true at Integer.MAX_VALUE +1
break;
}
}
int k;
boolean b = true;
while (b) {
k++;
b = k < Integer.MAX_VALUE;
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。