@@ -274,7 +274,7 @@ private predicate summaryModelCsv(string row) {
274
274
"java.io;File;false;toURI;;;Argument[-1];ReturnValue;taint" ,
275
275
"java.io;File;false;toPath;;;Argument[-1];ReturnValue;taint" ,
276
276
"java.nio.file;Path;false;toFile;;;Argument[-1];ReturnValue;taint" ,
277
- "java.io;Reader ;true;readLine;;;Argument[-1];ReturnValue;taint" ,
277
+ "java.io;BufferedReader ;true;readLine;;;Argument[-1];ReturnValue;taint" ,
278
278
"java.io;Reader;true;read;();;Argument[-1];ReturnValue;taint" ,
279
279
// arg to return
280
280
"java.util;Base64$Encoder;false;encode;(byte[]);;Argument[0];ReturnValue;taint" ,
@@ -285,8 +285,12 @@ private predicate summaryModelCsv(string row) {
285
285
"java.util;Base64$Decoder;false;decode;(ByteBuffer);;Argument[0];ReturnValue;taint" ,
286
286
"java.util;Base64$Decoder;false;decode;(String);;Argument[0];ReturnValue;taint" ,
287
287
"java.util;Base64$Decoder;false;wrap;(InputStream);;Argument[0];ReturnValue;taint" ,
288
- "org.apache.commons.codec;Encoder;true;encode;;;Argument[0];ReturnValue;taint" ,
289
- "org.apache.commons.codec;Decoder;true;decode;;;Argument[0];ReturnValue;taint" ,
288
+ "org.apache.commons.codec;Encoder;true;encode;(Object);;Argument[0];ReturnValue;taint" ,
289
+ "org.apache.commons.codec;Decoder;true;decode;(Object);;Argument[0];ReturnValue;taint" ,
290
+ "org.apache.commons.codec;BinaryEncoder;true;encode;(byte[]);;Argument[0];ReturnValue;taint" ,
291
+ "org.apache.commons.codec;BinaryDecoder;true;decode;(byte[]);;Argument[0];ReturnValue;taint" ,
292
+ "org.apache.commons.codec;StringEncoder;true;encode;(String);;Argument[0];ReturnValue;taint" ,
293
+ "org.apache.commons.codec;StringDecoder;true;decode;(String);;Argument[0];ReturnValue;taint" ,
290
294
"org.apache.commons.io;IOUtils;false;buffer;;;Argument[0];ReturnValue;taint" ,
291
295
"org.apache.commons.io;IOUtils;false;readLines;;;Argument[0];ReturnValue;taint" ,
292
296
"org.apache.commons.io;IOUtils;false;readFully;(InputStream,int);;Argument[0];ReturnValue;taint" ,
@@ -586,14 +590,6 @@ private predicate elementSpec(
586
590
summaryModel ( namespace , type , subtypes , name , signature , ext , _, _, _)
587
591
}
588
592
589
- bindingset [ namespace, type, subtypes]
590
- private RefType interpretType ( string namespace , string type , boolean subtypes ) {
591
- exists ( RefType t |
592
- t .hasQualifiedName ( namespace , type ) and
593
- if subtypes = true then result .getASourceSupertype * ( ) = t else result = t
594
- )
595
- }
596
-
597
593
private string paramsStringPart ( Callable c , int i ) {
598
594
i = - 1 and result = "("
599
595
or
@@ -614,9 +610,13 @@ private Element interpretElement0(
614
610
string namespace , string type , boolean subtypes , string name , string signature
615
611
) {
616
612
elementSpec ( namespace , type , subtypes , name , signature , _) and
617
- exists ( RefType t | t = interpretType ( namespace , type , subtypes ) |
613
+ exists ( RefType t | t . hasQualifiedName ( namespace , type ) |
618
614
exists ( Member m |
619
- result = m and
615
+ (
616
+ result = m
617
+ or
618
+ subtypes = true and result .( SrcMethod ) .overridesOrInstantiates + ( m )
619
+ ) and
620
620
m .getDeclaringType ( ) = t and
621
621
m .hasName ( name )
622
622
|
@@ -625,7 +625,7 @@ private Element interpretElement0(
625
625
paramsString ( m ) = signature
626
626
)
627
627
or
628
- result = t and
628
+ ( if subtypes = true then result . ( SrcRefType ) . getASourceSupertype * ( ) = t else result = t ) and
629
629
name = "" and
630
630
signature = ""
631
631
)
0 commit comments