FindBugs中的误报MS_PKGPROTECT错误

时间:2016-02-26 10:59:47

标签: java findbugs

我很确定我从FindBugs那里得到了误报。我的代码如下:

public class MyClass {
    protected static String fileNamePrefix;
}        

这就是我得到的错误:

  

字段应受包保护

     

可变静态字段可能被恶意代码或意外更改。可以对该字段进行包保护以避免此漏洞。

     

Bug种类和模式:MS - MS_PKGPROTECT

这真是假阳性还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

protected modifier允许第三方子类意外地提升对字段的访问权。

class MyAccidentSubClass extends MyClass {
    static {
        fileNamePrefix = "../" + fileNamePrefix;
    }
}

FindBugs指出,'protected'不会保护该字段免受野外意外公共访问。如果该字段受到包保护,那么我们知道其目的是在可信赖的朋友之间分享一些秘密。

通常,隐藏字段并创建访问器方法,因为它在封装,线程安全和延迟加载方面更灵活。