Replace Objects model

This commit is contained in:
Benjamin Muskalla
2021-08-26 12:06:56 +02:00
parent 4e2c148e80
commit 8abb9fb045
2 changed files with 1 additions and 21 deletions

View File

@@ -87,6 +87,7 @@ private module Frameworks {
private import semmle.code.java.frameworks.JaxWS
private import semmle.code.java.frameworks.JoddJson
private import semmle.code.java.frameworks.JsonJava
private import semmle.code.java.frameworks.Objects
private import semmle.code.java.frameworks.Optional
private import semmle.code.java.frameworks.spring.SpringCache
private import semmle.code.java.frameworks.spring.SpringHttp

View File

@@ -50,27 +50,6 @@ abstract class FluentMethod extends ValuePreservingMethod {
override predicate returnsValue(int arg) { arg = -1 }
}
private class StandardLibraryValuePreservingMethod extends ValuePreservingMethod {
int returnsArgNo;
StandardLibraryValuePreservingMethod() {
this.getDeclaringType().hasQualifiedName("java.util", "Objects") and
(
this.hasName(["requireNonNull", "requireNonNullElseGet"]) and returnsArgNo = 0
or
this.hasName("requireNonNullElse") and returnsArgNo = [0 .. this.getNumberOfParameters() - 1]
or
this.hasName("toString") and returnsArgNo = 1
)
or
this.getDeclaringType().getASourceSupertype*().hasQualifiedName("java.util", "Stack") and
this.hasName("push") and
returnsArgNo = 0
}
override predicate returnsValue(int argNo) { argNo = returnsArgNo }
}
/**
* A unit class for adding additional taint steps.
*