mirror of
https://github.com/github/codeql.git
synced 2025-12-22 19:56:32 +01:00
Python: Use config for dataflow-consistency.ql
And ignore post-update nodes for `**kwargs` arguments
This commit is contained in:
@@ -0,0 +1,11 @@
|
|||||||
|
import semmle.python.dataflow.new.DataFlow::DataFlow
|
||||||
|
import semmle.python.dataflow.new.internal.DataFlowPrivate
|
||||||
|
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
||||||
|
|
||||||
|
// TODO: this should be promoted to be a REAL consistency query by being placed in
|
||||||
|
// `python/ql/consistency-queries`. For for now it resides here.
|
||||||
|
private class MyConsistencyConfiguration extends ConsistencyConfiguration {
|
||||||
|
override predicate argHasPostUpdateExclude(ArgumentNode n) {
|
||||||
|
exists(ArgumentPosition apos | n.argumentOf(_, apos) and apos.isDictSplat())
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -17,20 +17,5 @@ uniquePostUpdate
|
|||||||
postIsInSameCallable
|
postIsInSameCallable
|
||||||
reverseRead
|
reverseRead
|
||||||
argHasPostUpdate
|
argHasPostUpdate
|
||||||
| argumentPassing.py:75:59:75:80 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| argumentPassing.py:105:35:105:45 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| argumentPassing.py:106:29:106:39 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| argumentPassing.py:106:44:106:54 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| argumentPassing.py:106:59:106:69 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| argumentPassing.py:120:30:120:40 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| argumentPassing.py:182:19:182:22 | ControlFlowNode for args | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| argumentPassing.py:196:21:196:24 | ControlFlowNode for args | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| argumentPassing.py:199:13:199:16 | ControlFlowNode for args | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| file:///home/rasmus/.pyenv/versions/3.9.5/lib/python3.9/functools.py:400:58:400:70 | ControlFlowNode for Attribute | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| test.py:396:30:396:42 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| test.py:422:33:422:46 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| test.py:512:30:512:42 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| test.py:529:33:529:46 | ControlFlowNode for Dict | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
| test.py:838:17:838:18 | ControlFlowNode for dd | ArgumentNode is missing PostUpdateNode. |
|
|
||||||
postWithInFlow
|
postWithInFlow
|
||||||
viableImplInCallContextTooLarge
|
viableImplInCallContextTooLarge
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
import semmle.python.dataflow.new.internal.DataFlowImplConsistency::Consistency
|
import python
|
||||||
|
import experimental.dataflow.TestUtil.DataFlowConsistency
|
||||||
|
|||||||
Reference in New Issue
Block a user