-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
CPP: Convert SQL tainted away from away from DefaultTaintTracking. #13985
Conversation
53812fc
to
5c24159
Compare
b784e02
to
c76b8cf
Compare
The "multiple versions" issue is indeed annoying. It's a problem that should be fixed inside dataflow, and I'm currently in the process of doing this. It definitely shouldn't block this PR.
Indeed, this is related to the issue above. Ideally, we should be using
Yeah, I think we should try to do this change in a separate PR 👍. |
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.
LGTM other than a small comment.
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.
LGTM!
This converts away from
DefaultTaintTracking
towards the newer API.This does end up with some changes I noticed:
argv
is repeated multiple times. This is at often 3 times (argv, *argv, **argv) + sometimes more (sometimes there seems multiple versions of some indirections?).argv
use to theargv
argument.I'm not sure about
node.asConvertedExpr()
vsasExpr
for the sink. The issue with usingasExpr
is that multiple levels of conversions are reachable without going through each over due to the references. So having fewer possible sinks seems better.I tried setting
ArgvSource
to usethis.asParameter(2)
instead ofthis.asParameter(_)
and it seems to fix these issues, but I am not sure of the consequences.