现有java代码如下:
。。。
if (fitz == null) {
synchronized (this) {
if (fitz == null) {
fitz = new Fitzer();
}
}
}
return fitz;
。。。
使用fortify扫描出Code Correctness: Double-Checked Locking漏洞,解决办法如下:
。。。
synchronized (this) {
if (fitz == null) {
fitz = new Fitzer();
}
return fitz;
}
。。。
去掉最外层的判断即可