Skip to content

Commit 4df449d

Browse files
committed
PS: Add an edge from the root node to automatic variables, and from a member read qualifier to a read.
1 parent 4b14e5e commit 4df449d

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

powershell/ql/lib/semmle/code/powershell/ApiGraphs.qll

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -527,8 +527,18 @@ module API {
527527
pred = MkNamespaceOfTypeNameNode(typeName) and
528528
succ = getForwardStartNode(typeName)
529529
)
530-
// or
531-
// TODO: Handle getAMember when the predecessor is a MkUsingNode?
530+
or
531+
pred = MkRoot() and
532+
exists(DataFlow::AutomaticVariableNode automatic |
533+
automatic.getName() = name and
534+
succ = getForwardStartNode(automatic)
535+
)
536+
or
537+
exists(MemberExprReadAccess read |
538+
read.getMemberName().toLowerCase() = name and
539+
pred = getForwardEndNode(getALocalSourceStrict(getNodeFromExpr(read.getQualifier()))) and
540+
succ = getForwardStartNode(getNodeFromExpr(read))
541+
)
532542
}
533543

534544
cached

0 commit comments

Comments
 (0)