@@ -166,30 +166,29 @@ module JsonNET {
166
166
}
167
167
168
168
/** The class `NewtonSoft.Json.JsonSerializer`. */
169
- class JsonSerializerClass extends JsonClass , LibraryTypeDataFlow {
169
+ class JsonSerializerClass extends JsonClass {
170
170
JsonSerializerClass ( ) { this .hasName ( "JsonSerializer" ) }
171
171
172
172
/** Gets the method for `JsonSerializer.Serialize`. */
173
173
Method getSerializeMethod ( ) { result = this .getAMethod ( "Serialize" ) }
174
174
175
175
/** Gets the method for `JsonSerializer.Deserialize`. */
176
176
Method getDeserializeMethod ( ) { result = this .getAMethod ( "Deserialize" ) }
177
+ }
177
178
178
- override predicate callableFlow (
179
- CallableFlowSource source , CallableFlowSink sink , SourceDeclarationCallable c ,
180
- boolean preservesValue
181
- ) {
182
- // Serialize
183
- c = this .getSerializeMethod ( ) and
184
- preservesValue = false and
185
- source = any ( CallableFlowSourceArg arg | arg .getArgumentIndex ( ) = 1 ) and
186
- sink = any ( CallableFlowSinkArg arg | arg .getArgumentIndex ( ) = 0 )
187
- or
188
- // Deserialize
189
- c = this .getDeserializeMethod ( ) and
190
- preservesValue = false and
191
- source = any ( CallableFlowSourceArg arg | arg .getArgumentIndex ( ) = 0 ) and
192
- sink instanceof CallableFlowSinkReturn
179
+ /** Data flow for `NewtonSoft.Json.JSonSerializer`. */
180
+ private class JsonSerializerClassFlowModelCsv extends SummaryModelCsv {
181
+ override predicate row ( string row ) {
182
+ row =
183
+ [
184
+ "Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader);;Argument[0];ReturnValue;taint" ,
185
+ "Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader,System.Type);;Argument[0];ReturnValue;taint" ,
186
+ "Newtonsoft.Json;JsonSerializer;false;Deserialize;(System.IO.TextReader,System.Type);;Argument[0];ReturnValue;taint" ,
187
+ "Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object);;Argument[1];Argument[0];taint" ,
188
+ "Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object,System.Type);;Argument[1];Argument[0];taint" ,
189
+ "Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object);;Argument[1];Argument[0];taint" ,
190
+ "Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object,System.Type);;Argument[1];Argument[0];taint"
191
+ ]
193
192
}
194
193
}
195
194
0 commit comments