In the example below, Infer report no warnings, but there is a NULL_DEREFERENCE bug at line 6.
import com.android.annotations.Nullable;
class A {
@Nullable
A obj;
public void fun() {
synchronized (obj) { // report no warnings
synchronized (this) {}
}
}
}
However, if I use androidx.annotation.Nullable instead of com.android.annotations.Nullable, Infer can report a warning at line 6. Hence, I think it is a false negative.
error: Null Dereference object `obj` last accessed on line 6 could be null and is dereferenced at line 6.
Version.
Infer version v1.1.0
OS.Ubuntu 22.04.3 LTS
Command.infer run -- mvn clean compile
I found a false negative about the rule NULL_DEREFERENCE.
In the example below, Infer report no warnings, but there is a NULL_DEREFERENCE bug at line 6.
However, if I use
androidx.annotation.Nullable
instead ofcom.android.annotations.Nullable
, Infer can report a warning at line 6. Hence, I think it is a false negative.