@@ -14,15 +14,6 @@ class TypeApacheRandomStringUtils extends Class {
14
14
}
15
15
}
16
16
17
- /**
18
- * The class `org.apache.commons.lang.ArrayUtils` or `org.apache.commons.lang3.ArrayUtils`.
19
- */
20
- class TypeApacheArrayUtils extends Class {
21
- TypeApacheArrayUtils ( ) {
22
- hasQualifiedName ( [ "org.apache.commons.lang" , "org.apache.commons.lang3" ] , "ArrayUtils" )
23
- }
24
- }
25
-
26
17
/**
27
18
* The method `deserialize` in either `org.apache.commons.lang.SerializationUtils`
28
19
* or `org.apache.commons.lang3.SerializationUtils`.
@@ -37,39 +28,45 @@ class MethodApacheSerializationUtilsDeserialize extends Method {
37
28
}
38
29
39
30
/**
40
- * A taint preserving method on `org.apache.commons.lang. ArrayUtils` or `org.apache.commons.lang3.ArrayUtils`
31
+ * Taint-propagating models for ` ArrayUtils`.
41
32
*/
42
- private class ApacheLangArrayUtilsTaintPreservingMethod extends TaintPreservingCallable {
43
- ApacheLangArrayUtilsTaintPreservingMethod ( ) {
44
- this .getDeclaringType ( ) instanceof TypeApacheArrayUtils
45
- }
46
-
47
- override predicate returnsTaintFrom ( int src ) {
48
- this .hasName ( [ "addAll" , "addFirst" ] ) and
49
- src = [ 0 .. getNumberOfParameters ( ) - 1 ]
50
- or
51
- this .hasName ( [
52
- "clone" , "nullToEmpty" , "remove" , "removeAll" , "removeElement" , "removeElements" ,
53
- "subarray" , "toArray" , "toMap" , "toObject" , "removeAllOccurences" , "removeAllOccurrences"
54
- ] ) and
55
- src = 0
56
- or
57
- this .hasName ( "toPrimitive" ) and
58
- src = [ 0 , 1 ]
59
- or
60
- this .hasName ( "add" ) and
61
- this .getNumberOfParameters ( ) = 2 and
62
- src = [ 0 , 1 ]
63
- or
64
- this .hasName ( [ "add" ] ) and
65
- this .getNumberOfParameters ( ) = 3 and
66
- src = [ 0 , 2 ]
67
- or
68
- this .hasName ( "insert" ) and
69
- src = [ 1 , 2 ]
70
- or
71
- this .hasName ( "get" ) and
72
- src = [ 0 , 2 ]
33
+ private class ApacheArrayUtilsModel extends SummaryModelCsv {
34
+ override predicate row ( string row ) {
35
+ row =
36
+ [
37
+ "org.apache.commons.lang3;ArrayUtils;false;add;;;Argument[0];ReturnValue;taint" ,
38
+ "org.apache.commons.lang3;ArrayUtils;false;add;;;Argument[2];ReturnValue;taint" ,
39
+ "org.apache.commons.lang3;ArrayUtils;false;add;(java.lang.Object[],java.lang.Object);;Argument[1];ReturnValue;taint" ,
40
+ "org.apache.commons.lang3;ArrayUtils;false;add;(boolean[],boolean);;Argument[1];ReturnValue;taint" ,
41
+ "org.apache.commons.lang3;ArrayUtils;false;add;(byte[],byte);;Argument[1];ReturnValue;taint" ,
42
+ "org.apache.commons.lang3;ArrayUtils;false;add;(char[],char);;Argument[1];ReturnValue;taint" ,
43
+ "org.apache.commons.lang3;ArrayUtils;false;add;(double[],double);;Argument[1];ReturnValue;taint" ,
44
+ "org.apache.commons.lang3;ArrayUtils;false;add;(float[],float);;Argument[1];ReturnValue;taint" ,
45
+ "org.apache.commons.lang3;ArrayUtils;false;add;(int[],int);;Argument[1];ReturnValue;taint" ,
46
+ "org.apache.commons.lang3;ArrayUtils;false;add;(long[],long);;Argument[1];ReturnValue;taint" ,
47
+ "org.apache.commons.lang3;ArrayUtils;false;add;(short[],short);;Argument[1];ReturnValue;taint" ,
48
+ "org.apache.commons.lang3;ArrayUtils;false;addAll;;;Argument;ReturnValue;taint" ,
49
+ "org.apache.commons.lang3;ArrayUtils;false;addFirst;;;Argument;ReturnValue;taint" ,
50
+ "org.apache.commons.lang3;ArrayUtils;false;clone;;;Argument;ReturnValue;taint" ,
51
+ "org.apache.commons.lang3;ArrayUtils;false;get;(java.lang.Object[],int,java.lang.Object);;Argument[2];ReturnValue;taint" ,
52
+ "org.apache.commons.lang3;ArrayUtils;false;get;;;Argument[0];ReturnValue;taint" ,
53
+ "org.apache.commons.lang3;ArrayUtils;false;insert;;;Argument[1];ReturnValue;taint" ,
54
+ "org.apache.commons.lang3;ArrayUtils;false;insert;;;Argument[2];ReturnValue;taint" ,
55
+ "org.apache.commons.lang3;ArrayUtils;false;insert;;;Argument[3];ReturnValue;taint" ,
56
+ "org.apache.commons.lang3;ArrayUtils;false;nullToEmpty;(java.lang.Object[],java.lang.Class);;Argument[0];ReturnValue;taint" ,
57
+ "org.apache.commons.lang3;ArrayUtils;false;nullToEmpty;(java.lang.String[]);;Argument;ReturnValue;taint" ,
58
+ "org.apache.commons.lang3;ArrayUtils;false;remove;;;Argument[0];ReturnValue;taint" ,
59
+ "org.apache.commons.lang3;ArrayUtils;false;removeAll;;;Argument[0];ReturnValue;taint" ,
60
+ "org.apache.commons.lang3;ArrayUtils;false;removeAllOccurences;;;Argument[0];ReturnValue;taint" ,
61
+ "org.apache.commons.lang3;ArrayUtils;false;removeAllOccurrences;;;Argument[0];ReturnValue;taint" ,
62
+ "org.apache.commons.lang3;ArrayUtils;false;removeElement;;;Argument[0];ReturnValue;taint" ,
63
+ "org.apache.commons.lang3;ArrayUtils;false;removeElements;;;Argument[0];ReturnValue;taint" ,
64
+ "org.apache.commons.lang3;ArrayUtils;false;subarray;;;Argument[0];ReturnValue;taint" ,
65
+ "org.apache.commons.lang3;ArrayUtils;false;toArray;;;Argument;ReturnValue;taint" ,
66
+ "org.apache.commons.lang3;ArrayUtils;false;toMap;;;Argument;ReturnValue;taint" ,
67
+ "org.apache.commons.lang3;ArrayUtils;false;toObject;;;Argument;ReturnValue;taint" ,
68
+ "org.apache.commons.lang3;ArrayUtils;false;toPrimitive;;;Argument;ReturnValue;taint"
69
+ ]
73
70
}
74
71
}
75
72
0 commit comments