CPP: Convert SQL tainted away from away from DefaultTaintTracking.#13985
CPP: Convert SQL tainted away from away from DefaultTaintTracking.#13985MathiasVP merged 2 commits intogithub:mainfrom
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 👍. |
MathiasVP
left a comment
There was a problem hiding this comment.
LGTM other than a small comment.
This converts away from
DefaultTaintTrackingtowards the newer API.This does end up with some changes I noticed:
argvis repeated multiple times. This is at often 3 times (argv, *argv, **argv) + sometimes more (sometimes there seems multiple versions of some indirections?).argvuse to theargvargument.I'm not sure about
node.asConvertedExpr()vsasExprfor the sink. The issue with usingasExpris 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
ArgvSourceto usethis.asParameter(2)instead ofthis.asParameter(_)and it seems to fix these issues, but I am not sure of the consequences.