@@ -166,30 +166,29 @@ module JsonNET {
166166 }
167167
168168 /** The class `NewtonSoft.Json.JsonSerializer`. */
169- class JsonSerializerClass extends JsonClass , LibraryTypeDataFlow {
169+ class JsonSerializerClass extends JsonClass {
170170 JsonSerializerClass ( ) { this .hasName ( "JsonSerializer" ) }
171171
172172 /** Gets the method for `JsonSerializer.Serialize`. */
173173 Method getSerializeMethod ( ) { result = this .getAMethod ( "Serialize" ) }
174174
175175 /** Gets the method for `JsonSerializer.Deserialize`. */
176176 Method getDeserializeMethod ( ) { result = this .getAMethod ( "Deserialize" ) }
177+ }
177178
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+ ]
193192 }
194193 }
195194
0 commit comments