File tree Expand file tree Collapse file tree 1 file changed +6
-12
lines changed
csharp/ql/lib/semmle/code/csharp/frameworks/system Expand file tree Collapse file tree 1 file changed +6
-12
lines changed Original file line number Diff line number Diff line change @@ -162,18 +162,14 @@ class XmlReaderSettingsCreation extends ObjectCreation {
162
162
}
163
163
}
164
164
165
- private class SettingsDataFlowConfig extends DataFlow3 :: Configuration {
166
- SettingsDataFlowConfig ( ) { this = "SettingsDataFlowConfig" }
165
+ private module SettingsDataFlowConfig implements DataFlow :: ConfigSig {
166
+ predicate isSource ( DataFlow :: Node source ) { source . asExpr ( ) instanceof XmlReaderSettingsCreation }
167
167
168
- override predicate isSource ( DataFlow:: Node source ) {
169
- source .asExpr ( ) instanceof XmlReaderSettingsCreation
170
- }
171
-
172
- override predicate isSink ( DataFlow:: Node sink ) {
173
- sink .asExpr ( ) instanceof XmlReaderSettingsInstance
174
- }
168
+ predicate isSink ( DataFlow:: Node sink ) { sink .asExpr ( ) instanceof XmlReaderSettingsInstance }
175
169
}
176
170
171
+ private module SettingsDataFlow = DataFlow:: Global< SettingsDataFlowConfig > ;
172
+
177
173
/** A call to `XmlReader.Create`. */
178
174
class XmlReaderCreateCall extends MethodCall {
179
175
XmlReaderCreateCall ( ) { this .getTarget ( ) = any ( SystemXmlXmlReaderClass r ) .getCreateMethod ( ) }
@@ -190,8 +186,6 @@ class XmlReaderSettingsInstance extends Expr {
190
186
191
187
/** Gets a possible creation point for this instance of `XmlReaderSettings`. */
192
188
XmlReaderSettingsCreation getASettingsCreation ( ) {
193
- exists ( SettingsDataFlowConfig settingsFlow |
194
- settingsFlow .hasFlow ( DataFlow:: exprNode ( result ) , DataFlow:: exprNode ( this ) )
195
- )
189
+ SettingsDataFlow:: flow ( DataFlow:: exprNode ( result ) , DataFlow:: exprNode ( this ) )
196
190
}
197
191
}
You can’t perform that action at this time.
0 commit comments