@@ -151,36 +151,35 @@ predicate containerStep(DataFlow::CfgNode nodeFrom, DataFlow::Node nodeTo) {
151
151
storeStep ( nodeFrom , _, nodeTo )
152
152
or
153
153
// constructor call
154
- exists ( CallNode call | call = nodeTo . asCfgNode ( ) |
155
- call .getFunction ( ) .( NameNode ) .getId ( ) in [
154
+ exists ( DataFlow :: CallCfgNode call | call = nodeTo |
155
+ call .getFunction ( ) .asCfgNode ( ) . ( NameNode ) .getId ( ) in [
156
156
"list" , "set" , "frozenset" , "dict" , "defaultdict" , "tuple"
157
157
] and
158
- call .getArg ( 0 ) = nodeFrom . getNode ( )
158
+ call .getArg ( 0 ) = nodeFrom
159
159
)
160
160
or
161
161
// functions operating on collections
162
- exists ( CallNode call | call = nodeTo . asCfgNode ( ) |
163
- call .getFunction ( ) .( NameNode ) .getId ( ) in [ "sorted" , "reversed" , "iter" , "next" ] and
164
- call .getArg ( 0 ) = nodeFrom . getNode ( )
162
+ exists ( DataFlow :: CallCfgNode call | call = nodeTo |
163
+ call .getFunction ( ) .asCfgNode ( ) . ( NameNode ) .getId ( ) in [ "sorted" , "reversed" , "iter" , "next" ] and
164
+ call .getArg ( 0 ) = nodeFrom
165
165
)
166
166
or
167
167
// methods
168
- exists ( CallNode call , string name | call = nodeTo . asCfgNode ( ) |
168
+ exists ( DataFlow :: CallCfgNode call , string name | call = nodeTo |
169
169
name in [
170
170
// general
171
171
"copy" , "pop" ,
172
172
// dict
173
173
"values" , "items" , "get" , "popitem"
174
174
] and
175
- call .getFunction ( ) .( AttrNode ) .getObject ( name ) = nodeFrom . asCfgNode ( )
175
+ call .getFunction ( ) .( DataFlow :: AttrRead ) .getObject ( name ) = nodeFrom
176
176
)
177
177
or
178
178
// list.append, set.add
179
- exists ( CallNode call , string name |
179
+ exists ( DataFlow :: CallCfgNode call , string name |
180
180
name in [ "append" , "add" ] and
181
- call .getFunction ( ) .( AttrNode ) .getObject ( name ) =
182
- nodeTo .( DataFlow:: PostUpdateNode ) .getPreUpdateNode ( ) .asCfgNode ( ) and
183
- call .getArg ( 0 ) = nodeFrom .getNode ( )
181
+ call .getFunction ( ) .( DataFlow:: AttrRead ) .getObject ( name ) .getPostUpdateNode ( ) = nodeTo and
182
+ call .getArg ( 0 ) = nodeFrom
184
183
)
185
184
}
186
185
0 commit comments