mirror of
https://github.com/github/codeql.git
synced 2026-05-01 03:35:13 +02:00
C#/Java: Address comments on re-exposing functionality.
This commit is contained in:
@@ -3,17 +3,17 @@
|
||||
*/
|
||||
|
||||
import csharp
|
||||
private import semmle.code.csharp.dataflow.ExternalFlow as Ef
|
||||
private import semmle.code.csharp.dataflow.TaintTracking
|
||||
private import semmle.code.csharp.dataflow.internal.DataFlowImplCommon as Dfic
|
||||
private import semmle.code.csharp.dataflow.internal.DataFlowPrivate
|
||||
private import ModelGeneratorUtils
|
||||
import semmle.code.csharp.dataflow.ExternalFlow as ExternalFlow
|
||||
import semmle.code.csharp.dataflow.internal.DataFlowImplCommon as DataFlowImplCommon
|
||||
|
||||
/**
|
||||
* Gets the enclosing callable of `ret`.
|
||||
*/
|
||||
Callable returnNodeEnclosingCallable(Dfic::ReturnNodeExt ret) {
|
||||
result = Dfic::getNodeEnclosingCallable(ret)
|
||||
Callable returnNodeEnclosingCallable(DataFlowImplCommon::ReturnNodeExt ret) {
|
||||
result = DataFlowImplCommon::getNodeEnclosingCallable(ret)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -68,17 +68,3 @@ string asInputArgument(DataFlow::Node source) {
|
||||
source.asExpr() instanceof FieldOrPropertyAccess and
|
||||
result = qualifierString()
|
||||
}
|
||||
|
||||
module DataFlowImplCommon {
|
||||
predicate store = Dfic::store/4;
|
||||
|
||||
class ReturnNodeExt = Dfic::ReturnNodeExt;
|
||||
|
||||
class TypedContent = Dfic::TypedContent;
|
||||
}
|
||||
|
||||
module ExternalFlow {
|
||||
predicate sourceNode = Ef::sourceNode/2;
|
||||
|
||||
predicate sinkNode = Ef::sinkNode/2;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import csharp
|
||||
private import semmle.code.csharp.dataflow.internal.DataFlowPrivate as Dfp
|
||||
private import semmle.code.csharp.commons.Util as Util
|
||||
private import semmle.code.csharp.commons.Collections
|
||||
private import semmle.code.csharp.dataflow.internal.DataFlowImplCommon
|
||||
private import semmle.code.csharp.dataflow.internal.DataFlowDispatch
|
||||
import semmle.code.csharp.dataflow.internal.DataFlowPrivate as DataFlowPrivate
|
||||
|
||||
/**
|
||||
* Holds if it is relevant to generate models for `api`.
|
||||
@@ -26,7 +26,7 @@ class TargetApi extends DataFlowCallable {
|
||||
}
|
||||
}
|
||||
|
||||
predicate asPartialModel = Dfp::Csv::asPartialModel/1;
|
||||
predicate asPartialModel = DataFlowPrivate::Csv::asPartialModel/1;
|
||||
|
||||
/**
|
||||
* Holds for type `t` for fields that are relevant as an intermediate
|
||||
@@ -46,7 +46,7 @@ private string parameterAccess(Parameter p) {
|
||||
string parameterNodeAsInput(DataFlow::ParameterNode p) {
|
||||
result = parameterAccess(p.asParameter())
|
||||
or
|
||||
result = "Argument[Qualifier]" and p instanceof Dfp::InstanceParameterNode
|
||||
result = "Argument[Qualifier]" and p instanceof DataFlowPrivate::InstanceParameterNode
|
||||
}
|
||||
|
||||
pragma[nomagic]
|
||||
@@ -68,11 +68,3 @@ string returnNodeAsOutput(ReturnNodeExt node) {
|
||||
result = "Argument[Qualifier]"
|
||||
)
|
||||
}
|
||||
|
||||
module DataFlowPrivate {
|
||||
predicate containerContent = Dfp::containerContent/1;
|
||||
|
||||
predicate readStep = Dfp::readStep/3;
|
||||
|
||||
predicate storeStep = Dfp::storeStep/3;
|
||||
}
|
||||
|
||||
@@ -4,18 +4,18 @@
|
||||
|
||||
import java
|
||||
import semmle.code.java.dataflow.TaintTracking
|
||||
private import semmle.code.java.dataflow.ExternalFlow as Ef
|
||||
private import semmle.code.java.dataflow.internal.DataFlowImplCommon as Dfic
|
||||
private import semmle.code.java.dataflow.internal.DataFlowNodes
|
||||
private import semmle.code.java.dataflow.internal.DataFlowPrivate
|
||||
private import semmle.code.java.dataflow.InstanceAccess
|
||||
private import ModelGeneratorUtils
|
||||
import semmle.code.java.dataflow.ExternalFlow as ExternalFlow
|
||||
import semmle.code.java.dataflow.internal.DataFlowImplCommon as DataFlowImplCommon
|
||||
|
||||
/**
|
||||
* Gets the enclosing callable of `ret`.
|
||||
*/
|
||||
Callable returnNodeEnclosingCallable(Dfic::ReturnNodeExt ret) {
|
||||
result = Dfic::getNodeEnclosingCallable(ret).asCallable()
|
||||
Callable returnNodeEnclosingCallable(DataFlowImplCommon::ReturnNodeExt ret) {
|
||||
result = DataFlowImplCommon::getNodeEnclosingCallable(ret).asCallable()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -66,17 +66,3 @@ string asInputArgument(DataFlow::Node source) {
|
||||
*/
|
||||
bindingset[kind]
|
||||
predicate isRelevantSinkKind(string kind) { not kind = "logging" }
|
||||
|
||||
module DataFlowImplCommon {
|
||||
predicate store = Dfic::store/4;
|
||||
|
||||
class ReturnNodeExt = Dfic::ReturnNodeExt;
|
||||
|
||||
class TypedContent = Dfic::TypedContent;
|
||||
}
|
||||
|
||||
module ExternalFlow {
|
||||
predicate sourceNode = Ef::sourceNode/2;
|
||||
|
||||
predicate sinkNode = Ef::sinkNode/2;
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import java
|
||||
import semmle.code.java.dataflow.DataFlow
|
||||
private import semmle.code.java.dataflow.internal.DataFlowPrivate as Dfp
|
||||
private import semmle.code.java.dataflow.ExternalFlow
|
||||
private import semmle.code.java.dataflow.internal.ContainerFlow
|
||||
private import semmle.code.java.dataflow.internal.DataFlowImplCommon
|
||||
import semmle.code.java.dataflow.internal.DataFlowPrivate as DataFlowPrivate
|
||||
|
||||
private Method superImpl(Method m) {
|
||||
result = m.getAnOverride() and
|
||||
@@ -157,11 +157,3 @@ string returnNodeAsOutput(ReturnNodeExt node) {
|
||||
result = "Argument[-1]" and pos = -1
|
||||
)
|
||||
}
|
||||
|
||||
module DataFlowPrivate {
|
||||
predicate containerContent = Dfp::containerContent/1;
|
||||
|
||||
predicate readStep = Dfp::readStep/3;
|
||||
|
||||
predicate storeStep = Dfp::storeStep/3;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user