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 {
8787 private import semmle.code.java.frameworks.JaxWS
8888 private import semmle.code.java.frameworks.JoddJson
8989 private import semmle.code.java.frameworks.JsonJava
90+ private import semmle.code.java.frameworks.Objects
9091 private import semmle.code.java.frameworks.Optional
9192 private import semmle.code.java.frameworks.spring.SpringCache
9293 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 {
5050 override predicate returnsValue ( int arg ) { arg = - 1 }
5151}
5252
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-
7453/**
7554 * A unit class for adding additional taint steps.
7655 *
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