mirror of
https://github.com/github/codeql.git
synced 2026-03-01 05:13:41 +01:00
Merge pull request #3897 from aibaars/util-objects
Java: data flow for `java.util.Objects`
This commit is contained in:
@@ -400,6 +400,19 @@ predicate simpleLocalFlowStep(Node node1, Node node2) {
|
||||
node2.asExpr().(ChooseExpr).getAResultExpr() = node1.asExpr()
|
||||
or
|
||||
node2.asExpr().(AssignExpr).getSource() = node1.asExpr()
|
||||
or
|
||||
exists(MethodAccess ma, Method m |
|
||||
ma = node2.asExpr() and
|
||||
m = ma.getMethod() and
|
||||
m.getDeclaringType().hasQualifiedName("java.util", "Objects") and
|
||||
(
|
||||
m.hasName(["requireNonNull", "requireNonNullElseGet"]) and node1.asExpr() = ma.getArgument(0)
|
||||
or
|
||||
m.hasName("requireNonNullElse") and node1.asExpr() = ma.getAnArgument()
|
||||
or
|
||||
m.hasName("toString") and node1.asExpr() = ma.getArgument(1)
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user