【发布时间】:2022-02-02 23:20:02
【问题描述】:
我最近查看了很多 Fortify 的发现,我试图了解为什么 Fortify SCA 将一些(不是全部)Java 三元条件标记为“始终为假”或“始终为真”。以下示例。
任何人都可以提供对此的见解吗?提前致谢。
这些例子都在实体类中。
这被标记为“始终为假”。
public void setGmtInd(String gmtInd) {
this.gmtInd = gmtInd != null ? gmtInd.toUpperCase() : gmtInd;
}
这被标记为“始终正确”。
public void setDefaultValueInd(String defaultValueInd) {
this.defaultValueInd = defaultValueInd != null ? defaultValueInd.toUpperCase() : defaultValueInd;
}
这未被标记为发现。
public void setUserid(String userid) {
this.userid = userid != null ? userid.toUpperCase() : userid;
}
【问题讨论】:
-
检查所有呼叫。
-
感谢@JoopEggen 您的评论让我回过头来深入研究这个应用程序。现在是时候更正一些代码了。