Skip to content

Conversation

@jbj
Copy link
Contributor

@jbj jbj commented Jan 24, 2020

We designed the IR's DataFlow::Node.asExpr very carefully so that it's suitable for taint tracking (see #774), but then we didn't use it in DefaultTaintTracking.qll. This meant that the sources in ArithmeticWithExtremeValues.ql didn't get associated with any Instruction and thus didn't propagate anywhere.

With this PR, the mapping of Expr-based sources to IR data-flow nodes uses asExpr.

We designed the IR's `DataFlow::Node.asExpr` very carefully so that it's
suitable for taint tracking, but then we didn't use it in
`DefaultTaintTracking.qll`. This meant that the sources in
`ArithmeticWithExtremeValues.ql` didn't get associated with any
`Instruction` and thus didn't propagate anywhere.

With this commit, the mapping of `Expr`-based sources to IR data-flow
nodes uses `asExpr`.
@jbj jbj added the C++ label Jan 24, 2020
@jbj jbj requested a review from a team as a code owner January 24, 2020 08:51
Copy link
Contributor

@rdmarsh2 rdmarsh2 left a comment

Choose a reason for hiding this comment

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

LGTM

@rdmarsh2 rdmarsh2 merged commit 0180672 into github:master Jan 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants