Merge pull request #2266 from tausbn/python-multiple-calls-to-init-join-order-fix

Python: Fix bad join order for `py/multiple-calls-to-init`.
This commit is contained in:
Rasmus Wriedt Larsen
2019-11-07 15:38:43 +01:00
committed by GitHub

View File

@@ -3,11 +3,16 @@ import python
// Helper predicates for multiple call to __init__/__del__ queries.
pragma [noinline]
private predicate multiple_invocation_paths(FunctionInvocation top, FunctionInvocation i1, FunctionInvocation i2, FunctionObject multi) {
private predicate multiple_invocation_paths_helper(FunctionInvocation top, FunctionInvocation i1, FunctionInvocation i2, FunctionObject multi) {
i1 != i2 and
i1 = top.getACallee+() and
i2 = top.getACallee+() and
i1.getFunction() = multi and
i1.getFunction() = multi
}
pragma [noinline]
private predicate multiple_invocation_paths(FunctionInvocation top, FunctionInvocation i1, FunctionInvocation i2, FunctionObject multi) {
multiple_invocation_paths_helper(top, i1, i2, multi) and
i2.getFunction() = multi
}