小编Duc*_*bri的帖子

如何避免Fortify中出现误报“空解除引用”错误

我在一个Java项目上使用“ HP Fortify v3.50”,但由于“ Fortify”看不到针对null的控件是另一种方法,因此在“ Null Dereference”上发现了很多误报。如何减少误报并维持规则?

这是一个POC

public class MyClass {
    public static void main(String[] args) {
        String string01 = null;
        String string02 = null;     
        int i;

        if (args[0].equals("A")) {
            string01 = "X";
            string02 = "Y";
        }

        if (!isNull(string02)){
            i = string02.length();} //False Positive
        else {
            i = string02.length();
        } // Yes, it is an error!
    }

    public static boolean isNull(Object toBeTested){
        return (null == toBeTested);        
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:

[E8837DB548E01DB5794FA71F3D5F51C8 : medium : Null Dereference : controlflow ]
    MyClass.java(13) …
Run Code Online (Sandbox Code Playgroud)

java fortify

5
推荐指数
1
解决办法
1万
查看次数

xpath中的参数化深度查询

我正在尝试选择<BBB>在他们的后代中至少有两个不同深度的相同类型元素的元素.我发现它有可能:

//BBB//BBB//BBB 
Run Code Online (Sandbox Code Playgroud)

但如果我想改变查询的深度,我必须写:

//BBB//BBB//BBB//BBB
or
//BBB//BBB  
Run Code Online (Sandbox Code Playgroud)

是否可以使用参数指定查询的深度?

xpath

4
推荐指数
1
解决办法
922
查看次数

标签 统计

fortify ×1

java ×1

xpath ×1