-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Data flow: Restrict public PathNode
s to those that may reach a sink
#11060
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Data flow: Restrict public PathNode
s to those that may reach a sink
#11060
Conversation
315e92f
to
2198eaa
Compare
2198eaa
to
edbf7e5
Compare
4dd2747
to
1711efc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C++ expected test output changes 👍
|
||
/** | ||
* A `Node` augmented with a call context (except for sinks), an access path, and a configuration. | ||
* Only those `PathNode`s that are reachable from a source, and which can reach a sink, are generated. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not entirely accurate. Nodes that are used in a subpath are also included.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One minor nit re. a qldoc, otherwise LGTM.
Merge commit: 587e673
Merge commit: 587e673
Merge commit: 587e673
Merge commit: 587e673
Just like
PathNode::getASuccessor
is restricted to nodes that can reach a sink, it also makes sense to only expose nodes that can reach a sink. This means that the exposedPathNode
class and thenodes
predicate contain the same elements.The reason for the updated C++ test output is because
DefaultTaintTracking.qll
did not previously restrict thenodes
relation to nodes that can reach a sink.