Python: exclude global vars from local flow

This commit is contained in:
Rasmus Lerchedahl Petersen
2020-07-03 08:41:10 +02:00
parent bdc68ce6b6
commit a9e0288e5b
5 changed files with 2 additions and 52 deletions

View File

@@ -90,6 +90,8 @@ module EssaFlow {
* excludes SSA flow through instance fields.
*/
predicate simpleLocalFlowStep(Node nodeFrom, Node nodeTo) {
not nodeFrom.(EssaNode).getVar() instanceof GlobalSsaVariable and
not nodeTo.(EssaNode).getVar() instanceof GlobalSsaVariable and
EssaFlow::essaFlowStep(nodeFrom, nodeTo)
}

View File

@@ -135,4 +135,3 @@ Try recovering an existing taint tracking query by implementing sources, sinks,
- What should the enclosable callable for global variables be? C++ makes it the variable itself, C# seems to not have nodes for these but only for their reads and writes.
- Is `yield` another return type? If not, how is it handled?
- Should `OutNode` include magic function calls?
- Remove local flow to/from global variables