diff --git a/java/ql/lib/semmle/code/java/dataflow/NullGuards.qll b/java/ql/lib/semmle/code/java/dataflow/NullGuards.qll index b165d1516d6..709bb1e3d47 100644 --- a/java/ql/lib/semmle/code/java/dataflow/NullGuards.qll +++ b/java/ql/lib/semmle/code/java/dataflow/NullGuards.qll @@ -105,6 +105,13 @@ Expr clearlyNotNullExpr(Expr reason) { result = v.getARead() and not result = baseNotNullExpr() ) + or + exists(Field f | + result = f.getAnAccess() and + f.isFinal() and + f.getInitializer() = clearlyNotNullExpr(reason) and + not result = baseNotNullExpr() + ) } /** Holds if `v` is an SSA variable that is provably not `null`. */