Skip to content

Commit edf472b

Browse files
committed
C#: Convert System.Xml.XmlReader flow to CSV format.
1 parent a04920f commit edf472b

File tree

2 files changed

+21
-14
lines changed

2 files changed

+21
-14
lines changed

csharp/ql/lib/semmle/code/csharp/dataflow/LibraryTypeDataFlow.qll

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ private import semmle.code.csharp.frameworks.system.runtime.CompilerServices
1313
private import semmle.code.csharp.frameworks.system.threading.Tasks
1414
private import semmle.code.csharp.frameworks.system.Web
1515
private import semmle.code.csharp.frameworks.system.web.ui.WebControls
16-
private import semmle.code.csharp.frameworks.system.Xml
1716
private import semmle.code.csharp.dataflow.internal.DataFlowPrivate
1817
private import semmle.code.csharp.dataflow.internal.DataFlowPublic
1918
private import semmle.code.csharp.dataflow.internal.DelegateDataFlow
@@ -1777,19 +1776,6 @@ library class SystemTextEncodingFlow extends LibraryTypeDataFlow, SystemTextEnco
17771776
}
17781777
}
17791778

1780-
/** Data flow for `System.Xml.XmlReader`. */
1781-
class SystemXmlXmlReaderFlow extends LibraryTypeDataFlow, SystemXmlXmlReaderClass {
1782-
override predicate callableFlow(
1783-
CallableFlowSource source, CallableFlowSink sink, SourceDeclarationCallable c,
1784-
boolean preservesValue
1785-
) {
1786-
c = this.getCreateMethod() and
1787-
source = TCallableFlowSourceArg(0) and
1788-
sink = TCallableFlowSinkReturn() and
1789-
preservesValue = false
1790-
}
1791-
}
1792-
17931779
/**
17941780
* Custom flow through `StringValues` library class.
17951781
*/

csharp/ql/lib/semmle/code/csharp/frameworks/system/Xml.qll

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,27 @@ class SystemXmlXmlReaderClass extends Class {
6868
}
6969
}
7070

71+
/** Data flow for `System.Xml.XmlReader`. */
72+
private class SystemXmlXmlReaderFlowModelCsv extends SummaryModelCsv {
73+
override predicate row(string row) {
74+
row =
75+
[
76+
"System.Xml;XmlReader;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint",
77+
"System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint",
78+
"System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint",
79+
"System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint",
80+
"System.Xml;XmlReader;false;Create;(System.IO.TextReader);;Argument[0];ReturnValue;taint",
81+
"System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint",
82+
"System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint",
83+
"System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint",
84+
"System.Xml;XmlReader;false;Create;(System.String);;Argument[0];ReturnValue;taint",
85+
"System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint",
86+
"System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint",
87+
"System.Xml;XmlReader;false;Create;(System.Xml.XmlReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint"
88+
]
89+
}
90+
}
91+
7192
/** The `System.Xml.XmlReaderSettings` class. */
7293
class SystemXmlXmlReaderSettingsClass extends Class {
7394
SystemXmlXmlReaderSettingsClass() {

0 commit comments

Comments
 (0)