File tree Expand file tree Collapse file tree 3 files changed +18
-21
lines changed
java/ql/lib/semmle/code/java Expand file tree Collapse file tree 3 files changed +18
-21
lines changed Original file line number Diff line number Diff line change @@ -87,6 +87,7 @@ private module Frameworks {
87
87
private import semmle.code.java.frameworks.JaxWS
88
88
private import semmle.code.java.frameworks.JoddJson
89
89
private import semmle.code.java.frameworks.JsonJava
90
+ private import semmle.code.java.frameworks.Objects
90
91
private import semmle.code.java.frameworks.Optional
91
92
private import semmle.code.java.frameworks.spring.SpringCache
92
93
private import semmle.code.java.frameworks.spring.SpringHttp
Original file line number Diff line number Diff line change @@ -50,27 +50,6 @@ abstract class FluentMethod extends ValuePreservingMethod {
50
50
override predicate returnsValue ( int arg ) { arg = - 1 }
51
51
}
52
52
53
- private class StandardLibraryValuePreservingMethod extends ValuePreservingMethod {
54
- int returnsArgNo ;
55
-
56
- StandardLibraryValuePreservingMethod ( ) {
57
- this .getDeclaringType ( ) .hasQualifiedName ( "java.util" , "Objects" ) and
58
- (
59
- this .hasName ( [ "requireNonNull" , "requireNonNullElseGet" ] ) and returnsArgNo = 0
60
- or
61
- this .hasName ( "requireNonNullElse" ) and returnsArgNo = [ 0 .. this .getNumberOfParameters ( ) - 1 ]
62
- or
63
- this .hasName ( "toString" ) and returnsArgNo = 1
64
- )
65
- or
66
- this .getDeclaringType ( ) .getASourceSupertype * ( ) .hasQualifiedName ( "java.util" , "Stack" ) and
67
- this .hasName ( "push" ) and
68
- returnsArgNo = 0
69
- }
70
-
71
- override predicate returnsValue ( int argNo ) { argNo = returnsArgNo }
72
- }
73
-
74
53
/**
75
54
* A unit class for adding additional taint steps.
76
55
*
Original file line number Diff line number Diff line change
1
+ /** Definitions of taint steps in Objects class of the JDK */
2
+
3
+ import java
4
+ private import semmle.code.java.dataflow.ExternalFlow
5
+
6
+ private class ObjectsSummaryCsv extends SummaryModelCsv {
7
+ override predicate row ( string row ) {
8
+ row =
9
+ [
10
+ //`namespace; type; subtypes; name; signature; ext; input; output; kind`
11
+ "java.util;Objects;false;requireNonNull;;;Argument[0];ReturnValue;value" ,
12
+ "java.util;Objects;false;requireNonNullElse;;;Argument[0..1];ReturnValue;value" ,
13
+ "java.util;Objects;false;requireNonNullElseGet;;;Argument[0];ReturnValue;value" ,
14
+ "java.util;Objects;false;toString;;;Argument[1];ReturnValue;value"
15
+ ]
16
+ }
17
+ }
You can’t perform that action at this time.
0 commit comments