Skip to content
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

Java: Finish dataflow refactor #12751

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

egregius313
Copy link
Contributor

No description provided.

@egregius313 egregius313 added the no-change-note-required This PR does not need a change note label Apr 3, 2023
@egregius313 egregius313 requested a review from a team as a code owner April 3, 2023 18:03
@github-actions github-actions bot added the Java label Apr 3, 2023
Copy link
Contributor

@atorralba atorralba left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly LGTM, with a couple of comments.

predicate sensitiveResultReceiver(
DataFlow::PathNode src, DataFlow::PathNode sink, DataFlow::Node recSrc
SensitiveResultReceiverFlow::PathNode src, SensitiveResultReceiverFlow::PathNode sink,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Won't this API change affect potential users of this predicate, since it's public? In other words: should we deprecate sensitiveResultReceiver and create a new predicate that uses SensitiveResultReceiverFlow::PathNode?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I've done the deprecation in cac00b6.

override predicate allowImplicitRead(DataFlow::Node node, DataFlow::ContentSet c) {
super.allowImplicitRead(node, c)
or
this.isSink(node)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still necessary. Note that the default implementation only allows implicit reads in sinks if defaultImplicitTaintRead holds, which is not the case here.

The failure in the tests is caused by this.

@egregius313 egregius313 force-pushed the egregius313/dataflow-refactor-cleanup branch from 889a974 to 72907eb Compare April 10, 2023 15:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Java no-change-note-required This PR does not need a change note
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants