详细描述
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;
}
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END