mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Merge branch 'main' into unreachable4
This commit is contained in:
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"omnisharp.autoStart": false,
|
||||
"cmake.sourceDirectory": "${workspaceFolder}/swift",
|
||||
"cmake.buildDirectory": "${workspaceFolder}/bazel-cmake-build"
|
||||
"cmake.buildDirectory": "${workspaceFolder}/bazel-cmake-build",
|
||||
"editor.suggest.matchOnWordStartOnly": false
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ private module Input implements TypeFlowInput<Location> {
|
||||
)
|
||||
}
|
||||
|
||||
predicate joinStep(TypeFlowNode n1, TypeFlowNode n2) {
|
||||
predicate step(TypeFlowNode n1, TypeFlowNode n2) {
|
||||
// instruction -> phi
|
||||
getAnUltimateLocalDefinition(n2.asInstruction()) = n1.asInstruction()
|
||||
or
|
||||
@@ -179,6 +179,8 @@ private module Input implements TypeFlowInput<Location> {
|
||||
n1.asInstruction() = arg and
|
||||
n2.asInstruction() = p
|
||||
)
|
||||
or
|
||||
instructionStep(n1.asInstruction(), n2.asInstruction())
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -199,10 +201,6 @@ private module Input implements TypeFlowInput<Location> {
|
||||
i2.(PointerArithmeticInstruction).getLeft() = i1
|
||||
}
|
||||
|
||||
predicate step(TypeFlowNode n1, TypeFlowNode n2) {
|
||||
instructionStep(n1.asInstruction(), n2.asInstruction())
|
||||
}
|
||||
|
||||
predicate isNullValue(TypeFlowNode n) { n.isNullValue() }
|
||||
|
||||
private newtype TType =
|
||||
@@ -245,11 +243,7 @@ private module Input implements TypeFlowInput<Location> {
|
||||
|
||||
pragma[nomagic]
|
||||
private predicate upcastCand(TypeFlowNode n, Type t1, Type t2) {
|
||||
exists(TypeFlowNode next |
|
||||
step(n, next)
|
||||
or
|
||||
joinStep(n, next)
|
||||
|
|
||||
exists(TypeFlowNode next | step(n, next) |
|
||||
n.getType() = t1 and
|
||||
next.getType() = t2 and
|
||||
t1 != t2
|
||||
|
||||
@@ -16,6 +16,20 @@
|
||||
|
||||
import cpp
|
||||
|
||||
class SyntaxError extends CompilerError {
|
||||
SyntaxError() { this.getTag().matches("exp_%") }
|
||||
|
||||
predicate affects(Element e) {
|
||||
exists(Location l1, Location l2 |
|
||||
l1 = this.getLocation() and
|
||||
l2 = e.getLocation()
|
||||
|
|
||||
l1.getFile() = l2.getFile() and
|
||||
l1.getStartLine() = l2.getStartLine()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
from FormatLiteral fl, FormattingFunctionCall ffc, int expected, int given, string ffcName
|
||||
where
|
||||
ffc = fl.getUse() and
|
||||
@@ -27,7 +41,10 @@ where
|
||||
if ffc.isInMacroExpansion()
|
||||
then ffcName = ffc.getTarget().getName() + " (in a macro expansion)"
|
||||
else ffcName = ffc.getTarget().getName()
|
||||
)
|
||||
) and
|
||||
// A typical problem is that string literals are concatenated, but if one of the string
|
||||
// literals is an undefined macro, then this just leads to a syntax error.
|
||||
not exists(SyntaxError e | e.affects(fl))
|
||||
select ffc,
|
||||
"Format for " + ffcName + " expects " + expected.toString() + " arguments but given " +
|
||||
given.toString()
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
// semmle-extractor-options: --expect_errors
|
||||
|
||||
extern int printf(const char *fmt, ...);
|
||||
|
||||
void test_syntax_error() {
|
||||
printf("Error code %d: " FMT_MSG, 0, "");
|
||||
}
|
||||
@@ -13,6 +13,7 @@ private import semmle.code.csharp.Unification
|
||||
private import semmle.code.csharp.controlflow.Guards
|
||||
private import semmle.code.csharp.dispatch.Dispatch
|
||||
private import semmle.code.csharp.frameworks.EntityFramework
|
||||
private import semmle.code.csharp.frameworks.system.linq.Expressions
|
||||
private import semmle.code.csharp.frameworks.NHibernate
|
||||
private import semmle.code.csharp.frameworks.Razor
|
||||
private import semmle.code.csharp.frameworks.system.Collections
|
||||
@@ -1146,7 +1147,11 @@ private module Cached {
|
||||
TPrimaryConstructorParameterContent(Parameter p) {
|
||||
p.getCallable() instanceof PrimaryConstructor
|
||||
} or
|
||||
TCapturedVariableContent(VariableCapture::CapturedVariable v)
|
||||
TCapturedVariableContent(VariableCapture::CapturedVariable v) or
|
||||
TDelegateCallArgumentContent(int i) {
|
||||
i = [0 .. max(any(DelegateLikeCall dc).getNumberOfArguments()) - 1]
|
||||
} or
|
||||
TDelegateCallReturnContent()
|
||||
|
||||
cached
|
||||
newtype TContentSet =
|
||||
@@ -1162,7 +1167,9 @@ private module Cached {
|
||||
TPrimaryConstructorParameterApproxContent(string firstChar) {
|
||||
firstChar = approximatePrimaryConstructorParameterContent(_)
|
||||
} or
|
||||
TCapturedVariableContentApprox(VariableCapture::CapturedVariable v)
|
||||
TCapturedVariableContentApprox(VariableCapture::CapturedVariable v) or
|
||||
TDelegateCallArgumentApproxContent() or
|
||||
TDelegateCallReturnApproxContent()
|
||||
|
||||
pragma[nomagic]
|
||||
private predicate commonSubTypeGeneral(DataFlowTypeOrUnifiable t1, RelevantGvnType t2) {
|
||||
@@ -2273,6 +2280,21 @@ private predicate recordProperty(RecordType t, ContentSet c, string name) {
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if data can flow from `node1` to `node2` via an assignment to
|
||||
* the content set `c` of a delegate call.
|
||||
*
|
||||
* If there is a delegate call f(x), then we store "x" on "f"
|
||||
* using a delegate argument content set.
|
||||
*/
|
||||
private predicate storeStepDelegateCall(ExplicitArgumentNode node1, ContentSet c, Node node2) {
|
||||
exists(ExplicitDelegateLikeDataFlowCall call, int i |
|
||||
node1.argumentOf(call, TPositionalArgumentPosition(i)) and
|
||||
lambdaCall(call, _, node2.(PostUpdateNode).getPreUpdateNode()) and
|
||||
c.isDelegateCallArgument(i)
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if data can flow from `node1` to `node2` via an assignment to
|
||||
* content `c`.
|
||||
@@ -2305,6 +2327,8 @@ predicate storeStep(Node node1, ContentSet c, Node node2) {
|
||||
or
|
||||
FlowSummaryImpl::Private::Steps::summaryStoreStep(node1.(FlowSummaryNode).getSummaryNode(), c,
|
||||
node2.(FlowSummaryNode).getSummaryNode())
|
||||
or
|
||||
storeStepDelegateCall(node1, c, node2)
|
||||
}
|
||||
|
||||
private class ReadStepConfiguration extends ControlFlowReachabilityConfiguration {
|
||||
@@ -2425,6 +2449,21 @@ private predicate readContentStep(Node node1, Content c, Node node2) {
|
||||
VariableCapture::readStep(node1, c, node2)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if data can flow from `node1` to `node2` via an assignment to
|
||||
* the content set `c` of a delegate call.
|
||||
*
|
||||
* If there is a delegate call f(x), then we read the return of the delegate
|
||||
* call.
|
||||
*/
|
||||
private predicate readStepDelegateCall(Node node1, ContentSet c, OutNode node2) {
|
||||
exists(ExplicitDelegateLikeDataFlowCall call |
|
||||
lambdaCall(call, _, node1) and
|
||||
node2.getCall(TNormalReturnKind()) = call and
|
||||
c.isDelegateCallReturn()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if data can flow from `node1` to `node2` via a read of content `c`.
|
||||
*/
|
||||
@@ -2443,6 +2482,8 @@ predicate readStep(Node node1, ContentSet c, Node node2) {
|
||||
or
|
||||
FlowSummaryImpl::Private::Steps::summaryReadStep(node1.(FlowSummaryNode).getSummaryNode(), c,
|
||||
node2.(FlowSummaryNode).getSummaryNode())
|
||||
or
|
||||
readStepDelegateCall(node1, c, node2)
|
||||
}
|
||||
|
||||
private predicate clearsCont(Node n, Content c) {
|
||||
@@ -3037,6 +3078,12 @@ class ContentApprox extends TContentApprox {
|
||||
exists(VariableCapture::CapturedVariable v |
|
||||
this = TCapturedVariableContentApprox(v) and result = "captured " + v
|
||||
)
|
||||
or
|
||||
this = TDelegateCallArgumentApproxContent() and
|
||||
result = "approximated delegate call argument"
|
||||
or
|
||||
this = TDelegateCallReturnApproxContent() and
|
||||
result = "approximated delegate call return"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3073,6 +3120,12 @@ ContentApprox getContentApprox(Content c) {
|
||||
TPrimaryConstructorParameterApproxContent(approximatePrimaryConstructorParameterContent(c))
|
||||
or
|
||||
result = TCapturedVariableContentApprox(VariableCapture::getCapturedVariableContent(c))
|
||||
or
|
||||
c instanceof DelegateCallArgumentContent and
|
||||
result = TDelegateCallArgumentApproxContent()
|
||||
or
|
||||
c instanceof DelegateCallReturnContent and
|
||||
result = TDelegateCallReturnApproxContent()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,6 +3,7 @@ private import DataFlowDispatch
|
||||
private import DataFlowPrivate
|
||||
private import semmle.code.csharp.controlflow.Guards
|
||||
private import semmle.code.csharp.Unification
|
||||
private import semmle.code.csharp.frameworks.system.linq.Expressions
|
||||
|
||||
/**
|
||||
* An element, viewed as a node in a data flow graph. Either an expression
|
||||
@@ -238,6 +239,30 @@ class PropertyContent extends Content, TPropertyContent {
|
||||
override Location getLocation() { result = p.getLocation() }
|
||||
}
|
||||
|
||||
/**
|
||||
* A reference to the index of an argument of a delegate call.
|
||||
*/
|
||||
class DelegateCallArgumentContent extends Content, TDelegateCallArgumentContent {
|
||||
private int i;
|
||||
|
||||
DelegateCallArgumentContent() { this = TDelegateCallArgumentContent(i) }
|
||||
|
||||
override string toString() { result = "delegate argument at position " + i }
|
||||
|
||||
override Location getLocation() { result instanceof EmptyLocation }
|
||||
}
|
||||
|
||||
/**
|
||||
* A reference to the return of a delegate call.
|
||||
*/
|
||||
class DelegateCallReturnContent extends Content, TDelegateCallReturnContent {
|
||||
DelegateCallReturnContent() { this = TDelegateCallReturnContent() }
|
||||
|
||||
override string toString() { result = "delegate return" }
|
||||
|
||||
override Location getLocation() { result instanceof EmptyLocation }
|
||||
}
|
||||
|
||||
/**
|
||||
* A reference to a synthetic field corresponding to a
|
||||
* primary constructor parameter.
|
||||
@@ -299,6 +324,16 @@ class ContentSet extends TContentSet {
|
||||
*/
|
||||
predicate isProperty(Property p) { this = TPropertyContentSet(p) }
|
||||
|
||||
/**
|
||||
* Holds if this content set represents the `i`th argument of a delegate call.
|
||||
*/
|
||||
predicate isDelegateCallArgument(int i) { this.isSingleton(TDelegateCallArgumentContent(i)) }
|
||||
|
||||
/**
|
||||
* Holds if this content set represents the return of a delegate call.
|
||||
*/
|
||||
predicate isDelegateCallReturn() { this.isSingleton(TDelegateCallReturnContent()) }
|
||||
|
||||
/** Holds if this content set represents the field `f`. */
|
||||
predicate isField(Field f) { this.isSingleton(TFieldContent(f)) }
|
||||
|
||||
|
||||
@@ -101,7 +101,9 @@ module ModelGeneratorInput implements ModelGeneratorInputSig<Location, CsharpDat
|
||||
api = any(FlowSummaryImpl::Public::NeutralSinkCallable sc | sc.hasManualModel())
|
||||
}
|
||||
|
||||
predicate isUninterestingForDataFlowModels(Callable api) { isHigherOrder(api) }
|
||||
predicate isUninterestingForDataFlowModels(Callable api) { none() }
|
||||
|
||||
predicate isUninterestingForHeuristicDataFlowModels(Callable api) { isHigherOrder(api) }
|
||||
|
||||
class SourceOrSinkTargetApi extends Callable {
|
||||
SourceOrSinkTargetApi() { relevant(this) }
|
||||
@@ -174,8 +176,15 @@ module ModelGeneratorInput implements ModelGeneratorInputSig<Location, CsharpDat
|
||||
* Gets the underlying type of the content `c`.
|
||||
*/
|
||||
private CS::Type getUnderlyingContType(DataFlow::Content c) {
|
||||
result = c.(DataFlow::FieldContent).getField().getType() or
|
||||
result = c.(DataFlow::FieldContent).getField().getType()
|
||||
or
|
||||
result = c.(DataFlow::SyntheticFieldContent).getField().getType()
|
||||
or
|
||||
// Use System.Object as the type of delegate arguments and returns as the content doesn't
|
||||
// contain any type information.
|
||||
c instanceof DataFlow::DelegateCallArgumentContent and result instanceof ObjectType
|
||||
or
|
||||
c instanceof DataFlow::DelegateCallReturnContent and result instanceof ObjectType
|
||||
}
|
||||
|
||||
Type getUnderlyingContentType(DataFlow::ContentSet c) {
|
||||
@@ -309,6 +318,10 @@ module ModelGeneratorInput implements ModelGeneratorInputSig<Location, CsharpDat
|
||||
c.isField(_) or c.isSyntheticField(_) or c.isProperty(_)
|
||||
}
|
||||
|
||||
predicate isCallback(DataFlow::ContentSet c) {
|
||||
c.isDelegateCallArgument(_) or c.isDelegateCallReturn()
|
||||
}
|
||||
|
||||
string getSyntheticName(DataFlow::ContentSet c) {
|
||||
exists(CS::Field f |
|
||||
not f.isEffectivelyPublic() and
|
||||
@@ -342,6 +355,10 @@ module ModelGeneratorInput implements ModelGeneratorInputSig<Location, CsharpDat
|
||||
or
|
||||
c.isElement() and
|
||||
result = "Element"
|
||||
or
|
||||
exists(int i | c.isDelegateCallArgument(i) and result = "Parameter[" + i + "]")
|
||||
or
|
||||
c.isDelegateCallReturn() and result = "ReturnValue"
|
||||
}
|
||||
|
||||
predicate partialModel = ExternalFlow::partialModel/6;
|
||||
|
||||
@@ -12,19 +12,19 @@ models
|
||||
| 11 | Summary: System.Collections.Generic; IList<T>; true; get_Item; (System.Int32); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 12 | Summary: System.Collections.Generic; IList<T>; true; set_Item; (System.Int32,T); ; Argument[1]; Argument[this].Element; value; manual |
|
||||
| 13 | Summary: System.Collections.Generic; KeyValuePair<TKey,TValue>; false; KeyValuePair; (TKey,TValue); ; Argument[0]; Argument[this].Property[System.Collections.Generic.KeyValuePair`2.Key]; value; manual |
|
||||
| 14 | Summary: System.Collections.Generic; List<T>; false; GetEnumerator; (); ; Argument[this].Element; ReturnValue.Property[System.Collections.Generic.List`1+Enumerator.Current]; value; manual |
|
||||
| 15 | Summary: System.Collections; IEnumerable; true; GetEnumerator; (); ; Argument[this].Element; ReturnValue.Property[System.Collections.IEnumerator.Current]; value; manual |
|
||||
| 16 | Summary: System.Linq; Enumerable; false; First<TSource>; (System.Collections.Generic.IEnumerable<TSource>); ; Argument[0].Element; ReturnValue; value; manual |
|
||||
| 17 | Summary: System.Linq; Enumerable; false; Select<TSource,TResult>; (System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TResult>); ; Argument[0].Element; Argument[1].Parameter[0]; value; manual |
|
||||
| 18 | Summary: System; ReadOnlySpan<T>; false; get_Item; (System.Int32); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 14 | Summary: System.Collections.Generic; List<T>+Enumerator; false; get_Current; (); ; Argument[this].Property[System.Collections.Generic.List`1+Enumerator.Current]; ReturnValue; value; dfc-generated |
|
||||
| 15 | Summary: System.Collections.Generic; List<T>; false; GetEnumerator; (); ; Argument[this].Element; ReturnValue.Property[System.Collections.Generic.List`1+Enumerator.Current]; value; manual |
|
||||
| 16 | Summary: System.Collections; IEnumerable; true; GetEnumerator; (); ; Argument[this].Element; ReturnValue.Property[System.Collections.IEnumerator.Current]; value; manual |
|
||||
| 17 | Summary: System.Linq; Enumerable; false; First<TSource>; (System.Collections.Generic.IEnumerable<TSource>); ; Argument[0].Element; ReturnValue; value; manual |
|
||||
| 18 | Summary: System.Linq; Enumerable; false; Select<TSource,TResult>; (System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TResult>); ; Argument[0].Element; Argument[1].Parameter[0]; value; manual |
|
||||
| 19 | Summary: System; ReadOnlySpan<T>; false; ReadOnlySpan; (T[]); ; Argument[0].Element; Argument[this].Element; value; manual |
|
||||
| 20 | Summary: System; Span<T>; false; CopyTo; (System.Span<T>); ; Argument[this].Element; Argument[0].Element; value; manual |
|
||||
| 21 | Summary: System; Span<T>; false; Fill; (T); ; Argument[0]; Argument[this].Element; value; manual |
|
||||
| 22 | Summary: System; Span<T>; false; get_Item; (System.Int32); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 20 | Summary: System; ReadOnlySpan<T>; false; get_Item; (System.Int32); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 21 | Summary: System; Span<T>; false; CopyTo; (System.Span<T>); ; Argument[this].Element; Argument[0].Element; value; manual |
|
||||
| 22 | Summary: System; Span<T>; false; Fill; (T); ; Argument[0]; Argument[this].Element; value; manual |
|
||||
| 23 | Summary: System; Span<T>; false; Span; (T); ; Argument[0]; Argument[this].Element; value; manual |
|
||||
| 24 | Summary: System; Span<T>; false; Span; (T[]); ; Argument[0].Element; Argument[this].Element; value; manual |
|
||||
| 25 | Summary: System; Span<T>; false; ToArray; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
|
||||
| 26 | Summary: System.Collections.Generic; List<T>+Enumerator; false; get_Current; (); ; Argument[this].Property[System.Collections.Generic.List`1+Enumerator.Current]; ReturnValue; value; dfc-generated |
|
||||
| 26 | Summary: System; Span<T>; false; get_Item; (System.Int32); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
edges
|
||||
| CollectionFlow.cs:14:40:14:41 | ts : A[] [element] : A | CollectionFlow.cs:14:52:14:53 | access to parameter ts : A[] [element] : A | provenance | |
|
||||
| CollectionFlow.cs:14:40:14:41 | ts : null [element] : A | CollectionFlow.cs:14:52:14:53 | access to parameter ts : null [element] : A | provenance | |
|
||||
@@ -37,7 +37,7 @@ edges
|
||||
| CollectionFlow.cs:20:59:20:62 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:20:73:20:76 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:20:73:20:76 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:20:73:20:81 | access to property Keys : ICollection<T> [element] : A | provenance | MaD:1 |
|
||||
| CollectionFlow.cs:20:73:20:76 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:20:73:20:81 | access to property Keys : ICollection<T> [element] : A | provenance | MaD:7 |
|
||||
| CollectionFlow.cs:20:73:20:81 | access to property Keys : ICollection<T> [element] : A | CollectionFlow.cs:20:73:20:89 | call to method First<T> | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:20:73:20:81 | access to property Keys : ICollection<T> [element] : A | CollectionFlow.cs:20:73:20:89 | call to method First<T> | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:22:34:22:35 | ts : A[] [element] : A | CollectionFlow.cs:22:41:22:42 | access to parameter ts : A[] [element] : A | provenance | |
|
||||
| CollectionFlow.cs:22:34:22:35 | ts : null [element] : A | CollectionFlow.cs:22:41:22:42 | access to parameter ts : null [element] : A | provenance | |
|
||||
| CollectionFlow.cs:22:41:22:42 | access to parameter ts : A[] [element] : A | CollectionFlow.cs:22:41:22:45 | access to array element : A | provenance | |
|
||||
@@ -47,18 +47,18 @@ edges
|
||||
| CollectionFlow.cs:26:58:26:61 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:26:67:26:70 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:26:67:26:70 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:26:67:26:73 | access to indexer : A | provenance | MaD:6 |
|
||||
| CollectionFlow.cs:28:59:28:62 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:28:68:28:71 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:28:68:28:71 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:28:68:28:79 | call to method First<KeyValuePair<Int32,T>> : KeyValuePair<Int32,T> [property Value] : A | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:28:68:28:71 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:28:68:28:79 | call to method First<KeyValuePair<Int32,T>> : KeyValuePair<Int32,T> [property Value] : A | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:28:68:28:79 | call to method First<KeyValuePair<Int32,T>> : KeyValuePair<Int32,T> [property Value] : A | CollectionFlow.cs:28:68:28:85 | access to property Value : A | provenance | |
|
||||
| CollectionFlow.cs:30:60:30:63 | dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection<T> [element] : A | provenance | MaD:2 |
|
||||
| CollectionFlow.cs:30:69:30:72 | access to parameter dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection<T> [element] : A | provenance | MaD:8 |
|
||||
| CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection<T> [element] : A | CollectionFlow.cs:30:69:30:87 | call to method First<T> : A | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:30:69:30:79 | access to property Values : ICollection<T> [element] : A | CollectionFlow.cs:30:69:30:87 | call to method First<T> : A | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:32:58:32:61 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection<T> [element] : A | provenance | MaD:1 |
|
||||
| CollectionFlow.cs:32:67:32:70 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection<T> [element] : A | provenance | MaD:7 |
|
||||
| CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection<T> [element] : A | CollectionFlow.cs:32:67:32:83 | call to method First<T> : A | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:32:67:32:75 | access to property Keys : ICollection<T> [element] : A | CollectionFlow.cs:32:67:32:83 | call to method First<T> : A | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:34:57:34:60 | dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:34:66:34:69 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:34:66:34:69 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:34:66:34:77 | call to method First<KeyValuePair<T,Int32>> : KeyValuePair<T,Int32> [property Key] : A | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:34:66:34:69 | access to parameter dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:34:66:34:77 | call to method First<KeyValuePair<T,Int32>> : KeyValuePair<T,Int32> [property Key] : A | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:34:66:34:77 | call to method First<KeyValuePair<T,Int32>> : KeyValuePair<T,Int32> [property Key] : A | CollectionFlow.cs:34:66:34:81 | access to property Key : A | provenance | |
|
||||
| CollectionFlow.cs:36:49:36:52 | args : A[] [element] : A | CollectionFlow.cs:36:63:36:66 | access to parameter args : A[] [element] : A | provenance | |
|
||||
| CollectionFlow.cs:36:49:36:52 | args : null [element] : A | CollectionFlow.cs:36:63:36:66 | access to parameter args : null [element] : A | provenance | |
|
||||
@@ -144,7 +144,7 @@ edges
|
||||
| CollectionFlow.cs:156:28:156:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:26:58:26:61 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:156:28:156:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:156:14:156:32 | call to method DictIndexZero<A> | provenance | MaD:6 |
|
||||
| CollectionFlow.cs:157:29:157:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:28:59:28:62 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:157:29:157:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:157:14:157:33 | call to method DictFirstValue<A> | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:157:29:157:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:157:14:157:33 | call to method DictFirstValue<A> | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:158:30:158:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:60:30:63 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:158:30:158:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:158:14:158:34 | call to method DictValuesFirst<A> | provenance | MaD:2 |
|
||||
| CollectionFlow.cs:158:30:158:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:158:14:158:34 | call to method DictValuesFirst<A> | provenance | MaD:8 |
|
||||
@@ -162,7 +162,7 @@ edges
|
||||
| CollectionFlow.cs:178:28:178:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:26:58:26:61 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:178:28:178:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:178:14:178:32 | call to method DictIndexZero<A> | provenance | MaD:6 |
|
||||
| CollectionFlow.cs:179:29:179:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:28:59:28:62 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:179:29:179:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:179:14:179:33 | call to method DictFirstValue<A> | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:179:29:179:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:179:14:179:33 | call to method DictFirstValue<A> | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:180:30:180:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:60:30:63 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:180:30:180:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:180:14:180:34 | call to method DictValuesFirst<A> | provenance | MaD:2 |
|
||||
| CollectionFlow.cs:180:30:180:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:180:14:180:34 | call to method DictValuesFirst<A> | provenance | MaD:8 |
|
||||
@@ -180,7 +180,7 @@ edges
|
||||
| CollectionFlow.cs:199:28:199:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:26:58:26:61 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:199:28:199:31 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:199:14:199:32 | call to method DictIndexZero<A> | provenance | MaD:6 |
|
||||
| CollectionFlow.cs:200:29:200:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:28:59:28:62 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:200:29:200:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:200:14:200:33 | call to method DictFirstValue<A> | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:200:29:200:32 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:200:14:200:33 | call to method DictFirstValue<A> | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:201:30:201:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:30:60:30:63 | dict : Dictionary<T,T> [element, property Value] : A | provenance | |
|
||||
| CollectionFlow.cs:201:30:201:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:201:14:201:34 | call to method DictValuesFirst<A> | provenance | MaD:2 |
|
||||
| CollectionFlow.cs:201:30:201:33 | access to local variable dict : Dictionary<T,T> [element, property Value] : A | CollectionFlow.cs:201:14:201:34 | call to method DictValuesFirst<A> | provenance | MaD:8 |
|
||||
@@ -193,13 +193,13 @@ edges
|
||||
| CollectionFlow.cs:218:20:218:56 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:218:13:218:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:218:49:218:49 | access to local variable a : A | CollectionFlow.cs:218:20:218:56 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | provenance | MaD:4 |
|
||||
| CollectionFlow.cs:219:14:219:17 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:219:14:219:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | provenance | MaD:1 |
|
||||
| CollectionFlow.cs:219:14:219:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | CollectionFlow.cs:219:14:219:30 | call to method First<A> | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:219:14:219:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | CollectionFlow.cs:219:14:219:30 | call to method First<A> | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:220:21:220:24 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:20:59:20:62 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:221:28:221:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:32:58:32:61 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:221:28:221:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:221:14:221:32 | call to method DictKeysFirst<A> | provenance | MaD:1 |
|
||||
| CollectionFlow.cs:221:28:221:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:221:14:221:32 | call to method DictKeysFirst<A> | provenance | MaD:7 |
|
||||
| CollectionFlow.cs:222:27:222:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:34:57:34:60 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:222:27:222:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:222:14:222:31 | call to method DictFirstKey<A> | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:222:27:222:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:222:14:222:31 | call to method DictFirstKey<A> | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:236:13:236:13 | access to local variable a : A | CollectionFlow.cs:237:48:237:48 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:236:17:236:23 | object creation of type A : A | CollectionFlow.cs:236:13:236:13 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:237:13:237:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:238:14:238:17 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
@@ -209,13 +209,13 @@ edges
|
||||
| CollectionFlow.cs:237:20:237:55 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:237:13:237:16 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:237:48:237:48 | access to local variable a : A | CollectionFlow.cs:237:20:237:55 | object creation of type Dictionary<A,Int32> : Dictionary<T,T> [element, property Key] : A | provenance | MaD:9 |
|
||||
| CollectionFlow.cs:238:14:238:17 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:238:14:238:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | provenance | MaD:1 |
|
||||
| CollectionFlow.cs:238:14:238:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | CollectionFlow.cs:238:14:238:30 | call to method First<A> | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:238:14:238:22 | access to property Keys : Dictionary<T,T>.KeyCollection [element] : A | CollectionFlow.cs:238:14:238:30 | call to method First<A> | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:239:21:239:24 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:20:59:20:62 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:240:28:240:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:32:58:32:61 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:240:28:240:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:240:14:240:32 | call to method DictKeysFirst<A> | provenance | MaD:1 |
|
||||
| CollectionFlow.cs:240:28:240:31 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:240:14:240:32 | call to method DictKeysFirst<A> | provenance | MaD:7 |
|
||||
| CollectionFlow.cs:241:27:241:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:34:57:34:60 | dict : Dictionary<T,T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:241:27:241:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:241:14:241:31 | call to method DictFirstKey<A> | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:241:27:241:30 | access to local variable dict : Dictionary<T,T> [element, property Key] : A | CollectionFlow.cs:241:14:241:31 | call to method DictFirstKey<A> | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:255:13:255:13 | access to local variable a : A | CollectionFlow.cs:256:27:256:27 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:255:17:255:23 | object creation of type A : A | CollectionFlow.cs:255:13:255:13 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:256:13:256:15 | access to local variable as : null [element] : A | CollectionFlow.cs:257:27:257:29 | access to local variable as : null [element] : A | provenance | |
|
||||
@@ -228,7 +228,7 @@ edges
|
||||
| CollectionFlow.cs:271:25:271:29 | { ..., ... } : null [element] : A | CollectionFlow.cs:271:13:271:15 | access to local variable as : null [element] : A | provenance | |
|
||||
| CollectionFlow.cs:271:27:271:27 | access to local variable a : A | CollectionFlow.cs:271:25:271:29 | { ..., ... } : null [element] : A | provenance | |
|
||||
| CollectionFlow.cs:272:13:272:22 | access to local variable enumerator : IEnumerator [property Current] : A | CollectionFlow.cs:274:18:274:27 | access to local variable enumerator : IEnumerator [property Current] : A | provenance | |
|
||||
| CollectionFlow.cs:272:26:272:28 | access to local variable as : null [element] : A | CollectionFlow.cs:272:26:272:44 | call to method GetEnumerator : IEnumerator [property Current] : A | provenance | MaD:15 |
|
||||
| CollectionFlow.cs:272:26:272:28 | access to local variable as : null [element] : A | CollectionFlow.cs:272:26:272:44 | call to method GetEnumerator : IEnumerator [property Current] : A | provenance | MaD:16 |
|
||||
| CollectionFlow.cs:272:26:272:44 | call to method GetEnumerator : IEnumerator [property Current] : A | CollectionFlow.cs:272:13:272:22 | access to local variable enumerator : IEnumerator [property Current] : A | provenance | |
|
||||
| CollectionFlow.cs:274:18:274:27 | access to local variable enumerator : IEnumerator [property Current] : A | CollectionFlow.cs:274:18:274:35 | access to property Current | provenance | |
|
||||
| CollectionFlow.cs:287:13:287:13 | access to local variable a : A | CollectionFlow.cs:289:18:289:18 | access to local variable a : A | provenance | |
|
||||
@@ -237,19 +237,19 @@ edges
|
||||
| CollectionFlow.cs:289:18:289:18 | access to local variable a : A | CollectionFlow.cs:289:9:289:12 | [post] access to local variable list : List<T> [element] : A | provenance | MaD:3 |
|
||||
| CollectionFlow.cs:290:13:290:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:292:18:292:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | provenance | |
|
||||
| CollectionFlow.cs:290:13:290:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:292:18:292:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | provenance | |
|
||||
| CollectionFlow.cs:290:26:290:29 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:290:26:290:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | provenance | MaD:14 |
|
||||
| CollectionFlow.cs:290:26:290:29 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:290:26:290:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | provenance | MaD:14 |
|
||||
| CollectionFlow.cs:290:26:290:29 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:290:26:290:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | provenance | MaD:15 |
|
||||
| CollectionFlow.cs:290:26:290:29 | access to local variable list : List<T> [element] : A | CollectionFlow.cs:290:26:290:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | provenance | MaD:15 |
|
||||
| CollectionFlow.cs:290:26:290:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:290:13:290:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | provenance | |
|
||||
| CollectionFlow.cs:290:26:290:45 | call to method GetEnumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:290:13:290:22 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | provenance | |
|
||||
| CollectionFlow.cs:292:18:292:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:292:18:292:35 | access to property Current | provenance | |
|
||||
| CollectionFlow.cs:292:18:292:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:292:18:292:35 | access to property Current | provenance | MaD:26 |
|
||||
| CollectionFlow.cs:292:18:292:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:292:18:292:35 | access to property Current | provenance | MaD:26 |
|
||||
| CollectionFlow.cs:292:18:292:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:292:18:292:35 | access to property Current | provenance | MaD:14 |
|
||||
| CollectionFlow.cs:292:18:292:27 | access to local variable enumerator : List<T>.Enumerator [property Current] : A | CollectionFlow.cs:292:18:292:35 | access to property Current | provenance | MaD:14 |
|
||||
| CollectionFlow.cs:306:13:306:13 | access to local variable a : A | CollectionFlow.cs:308:43:308:43 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:306:17:306:23 | object creation of type A : A | CollectionFlow.cs:306:13:306:13 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:308:9:308:12 | [post] access to local variable list : List<T> [element, property Key] : A | CollectionFlow.cs:309:9:309:12 | access to local variable list : List<T> [element, property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:308:18:308:47 | object creation of type KeyValuePair<A,Int32> : KeyValuePair<T,T> [property Key] : A | CollectionFlow.cs:308:9:308:12 | [post] access to local variable list : List<T> [element, property Key] : A | provenance | MaD:3 |
|
||||
| CollectionFlow.cs:308:43:308:43 | access to local variable a : A | CollectionFlow.cs:308:18:308:47 | object creation of type KeyValuePair<A,Int32> : KeyValuePair<T,T> [property Key] : A | provenance | MaD:13 |
|
||||
| CollectionFlow.cs:309:9:309:12 | access to local variable list : List<T> [element, property Key] : A | CollectionFlow.cs:309:21:309:23 | kvp : KeyValuePair<T,T> [property Key] : A | provenance | MaD:17 |
|
||||
| CollectionFlow.cs:309:9:309:12 | access to local variable list : List<T> [element, property Key] : A | CollectionFlow.cs:309:21:309:23 | kvp : KeyValuePair<T,T> [property Key] : A | provenance | MaD:18 |
|
||||
| CollectionFlow.cs:309:21:309:23 | kvp : KeyValuePair<T,T> [property Key] : A | CollectionFlow.cs:311:18:311:20 | access to parameter kvp : KeyValuePair<T,T> [property Key] : A | provenance | |
|
||||
| CollectionFlow.cs:311:18:311:20 | access to parameter kvp : KeyValuePair<T,T> [property Key] : A | CollectionFlow.cs:311:18:311:24 | access to property Key | provenance | |
|
||||
| CollectionFlow.cs:328:32:328:38 | element : A | CollectionFlow.cs:328:55:328:61 | access to parameter element : A | provenance | |
|
||||
@@ -316,7 +316,7 @@ edges
|
||||
| CollectionFlow.cs:488:17:488:20 | access to local variable span : Span<T> [element] : A | CollectionFlow.cs:489:14:489:17 | access to local variable span : Span<T> [element] : A | provenance | |
|
||||
| CollectionFlow.cs:488:24:488:41 | object creation of type Span<A> : Span<T> [element] : A | CollectionFlow.cs:488:17:488:20 | access to local variable span : Span<T> [element] : A | provenance | |
|
||||
| CollectionFlow.cs:488:40:488:40 | access to local variable a : A | CollectionFlow.cs:488:24:488:41 | object creation of type Span<A> : Span<T> [element] : A | provenance | MaD:23 |
|
||||
| CollectionFlow.cs:489:14:489:17 | access to local variable span : Span<T> [element] : A | CollectionFlow.cs:489:14:489:20 | access to indexer | provenance | MaD:22 |
|
||||
| CollectionFlow.cs:489:14:489:17 | access to local variable span : Span<T> [element] : A | CollectionFlow.cs:489:14:489:20 | access to indexer | provenance | MaD:26 |
|
||||
| CollectionFlow.cs:494:13:494:13 | access to local variable a : A | CollectionFlow.cs:495:40:495:40 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:494:17:494:23 | object creation of type A : A | CollectionFlow.cs:494:13:494:13 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:495:17:495:20 | access to local variable span : Span<T> [element] : A | CollectionFlow.cs:496:19:496:22 | access to local variable span : Span<T> [element] : A | provenance | |
|
||||
@@ -329,16 +329,16 @@ edges
|
||||
| CollectionFlow.cs:502:13:502:13 | access to local variable a : A | CollectionFlow.cs:503:21:503:21 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:502:17:502:23 | object creation of type A : A | CollectionFlow.cs:502:13:502:13 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:503:9:503:14 | [post] access to parameter target : Span<T> [element] : A | CollectionFlow.cs:504:14:504:19 | access to parameter target : Span<T> [element] : A | provenance | |
|
||||
| CollectionFlow.cs:503:21:503:21 | access to local variable a : A | CollectionFlow.cs:503:9:503:14 | [post] access to parameter target : Span<T> [element] : A | provenance | MaD:21 |
|
||||
| CollectionFlow.cs:504:14:504:19 | access to parameter target : Span<T> [element] : A | CollectionFlow.cs:504:14:504:22 | access to indexer | provenance | MaD:22 |
|
||||
| CollectionFlow.cs:503:21:503:21 | access to local variable a : A | CollectionFlow.cs:503:9:503:14 | [post] access to parameter target : Span<T> [element] : A | provenance | MaD:22 |
|
||||
| CollectionFlow.cs:504:14:504:19 | access to parameter target : Span<T> [element] : A | CollectionFlow.cs:504:14:504:22 | access to indexer | provenance | MaD:26 |
|
||||
| CollectionFlow.cs:509:13:509:18 | access to local variable source : Span<T> [element] : A | CollectionFlow.cs:510:9:510:14 | access to local variable source : Span<T> [element] : A | provenance | |
|
||||
| CollectionFlow.cs:509:22:509:51 | object creation of type Span<A> : Span<T> [element] : A | CollectionFlow.cs:509:13:509:18 | access to local variable source : Span<T> [element] : A | provenance | |
|
||||
| CollectionFlow.cs:509:34:509:50 | array creation of type A[] : null [element] : A | CollectionFlow.cs:509:22:509:51 | object creation of type Span<A> : Span<T> [element] : A | provenance | MaD:24 |
|
||||
| CollectionFlow.cs:509:40:509:50 | { ..., ... } : null [element] : A | CollectionFlow.cs:509:34:509:50 | array creation of type A[] : null [element] : A | provenance | |
|
||||
| CollectionFlow.cs:509:42:509:48 | object creation of type A : A | CollectionFlow.cs:509:40:509:50 | { ..., ... } : null [element] : A | provenance | |
|
||||
| CollectionFlow.cs:510:9:510:14 | access to local variable source : Span<T> [element] : A | CollectionFlow.cs:510:23:510:28 | [post] access to parameter target : Span<T> [element] : A | provenance | MaD:20 |
|
||||
| CollectionFlow.cs:510:9:510:14 | access to local variable source : Span<T> [element] : A | CollectionFlow.cs:510:23:510:28 | [post] access to parameter target : Span<T> [element] : A | provenance | MaD:21 |
|
||||
| CollectionFlow.cs:510:23:510:28 | [post] access to parameter target : Span<T> [element] : A | CollectionFlow.cs:511:14:511:19 | access to parameter target : Span<T> [element] : A | provenance | |
|
||||
| CollectionFlow.cs:511:14:511:19 | access to parameter target : Span<T> [element] : A | CollectionFlow.cs:511:14:511:22 | access to indexer | provenance | MaD:22 |
|
||||
| CollectionFlow.cs:511:14:511:19 | access to parameter target : Span<T> [element] : A | CollectionFlow.cs:511:14:511:22 | access to indexer | provenance | MaD:26 |
|
||||
| CollectionFlow.cs:516:13:516:13 | access to local variable a : A | CollectionFlow.cs:517:60:517:60 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:516:17:516:23 | object creation of type A : A | CollectionFlow.cs:516:13:516:13 | access to local variable a : A | provenance | |
|
||||
| CollectionFlow.cs:517:25:517:28 | access to local variable span : ReadOnlySpan<T> [element] : A | CollectionFlow.cs:518:14:518:17 | access to local variable span : ReadOnlySpan<T> [element] : A | provenance | |
|
||||
@@ -346,7 +346,7 @@ edges
|
||||
| CollectionFlow.cs:517:52:517:62 | array creation of type A[] : null [element] : A | CollectionFlow.cs:517:32:517:63 | object creation of type ReadOnlySpan<A> : ReadOnlySpan<T> [element] : A | provenance | MaD:19 |
|
||||
| CollectionFlow.cs:517:58:517:62 | { ..., ... } : null [element] : A | CollectionFlow.cs:517:52:517:62 | array creation of type A[] : null [element] : A | provenance | |
|
||||
| CollectionFlow.cs:517:60:517:60 | access to local variable a : A | CollectionFlow.cs:517:58:517:62 | { ..., ... } : null [element] : A | provenance | |
|
||||
| CollectionFlow.cs:518:14:518:17 | access to local variable span : ReadOnlySpan<T> [element] : A | CollectionFlow.cs:518:14:518:20 | access to indexer | provenance | MaD:18 |
|
||||
| CollectionFlow.cs:518:14:518:17 | access to local variable span : ReadOnlySpan<T> [element] : A | CollectionFlow.cs:518:14:518:20 | access to indexer | provenance | MaD:20 |
|
||||
nodes
|
||||
| CollectionFlow.cs:14:40:14:41 | ts : A[] [element] : A | semmle.label | ts : A[] [element] : A |
|
||||
| CollectionFlow.cs:14:40:14:41 | ts : null [element] : A | semmle.label | ts : null [element] : A |
|
||||
|
||||
@@ -1,102 +1,102 @@
|
||||
models
|
||||
| 1 | Summary: My.Qltest; D; false; StepArgRes; (System.Object); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: My.Qltest; D; false; StepArgArg; (System.Object,System.Object); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 3 | Summary: My.Qltest; D; false; StepArgQual; (System.Object); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 4 | Summary: My.Qltest; D; false; StepFieldGetter; (); ; Argument[this].Field[My.Qltest.D.Field]; ReturnValue; value; manual |
|
||||
| 5 | Summary: My.Qltest; D; false; StepFieldSetter; (System.Object); ; Argument[0]; Argument[this].Field[My.Qltest.D.Field]; value; manual |
|
||||
| 6 | Summary: My.Qltest; D; false; StepFieldSetter; (System.Object); ; Argument[this]; ReturnValue.Field[My.Qltest.D.Field2]; value; manual |
|
||||
| 7 | Summary: My.Qltest; D; false; StepPropertyGetter; (); ; Argument[this].Property[My.Qltest.D.Property]; ReturnValue; value; manual |
|
||||
| 8 | Summary: My.Qltest; D; false; StepPropertySetter; (System.Object); ; Argument[0]; Argument[this].Property[My.Qltest.D.Property]; value; manual |
|
||||
| 9 | Summary: My.Qltest; D; false; StepElementGetter; (); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 10 | Summary: My.Qltest; D; false; StepElementSetter; (System.Object); ; Argument[0]; Argument[this].Element; value; manual |
|
||||
| 11 | Summary: My.Qltest; D; false; Apply<S,T>; (System.Func<S,T>,S); ; Argument[1]; Argument[0].Parameter[0]; value; manual |
|
||||
| 12 | Summary: My.Qltest; D; false; Apply<S,T>; (System.Func<S,T>,S); ; Argument[0].ReturnValue; ReturnValue; value; manual |
|
||||
| 13 | Summary: My.Qltest; D; false; Apply2; (System.Action<System.Object>,My.Qltest.D,My.Qltest.D); ; Argument[1].Field[My.Qltest.D.Field]; Argument[0].Parameter[0]; value; manual |
|
||||
| 14 | Summary: My.Qltest; D; false; Map<S,T>; (S[],System.Func<S,T>); ; Argument[0].Element; Argument[1].Parameter[0]; value; manual |
|
||||
| 15 | Summary: My.Qltest; D; false; Map<S,T>; (S[],System.Func<S,T>); ; Argument[1].ReturnValue; ReturnValue.Element; value; manual |
|
||||
| 16 | Summary: My.Qltest; D; false; Parse; (System.String,System.Int32); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 17 | Summary: My.Qltest; D; false; Reverse; (System.Object[]); ; Argument[0].WithElement; ReturnValue; value; manual |
|
||||
| 1 | Summary: My.Qltest; D; false; Apply2; (System.Action<System.Object>,My.Qltest.D,My.Qltest.D); ; Argument[1].Field[My.Qltest.D.Field]; Argument[0].Parameter[0]; value; manual |
|
||||
| 2 | Summary: My.Qltest; D; false; Apply<S,T>; (System.Func<S,T>,S); ; Argument[0].ReturnValue; ReturnValue; value; manual |
|
||||
| 3 | Summary: My.Qltest; D; false; Apply<S,T>; (System.Func<S,T>,S); ; Argument[1]; Argument[0].Parameter[0]; value; manual |
|
||||
| 4 | Summary: My.Qltest; D; false; Map<S,T>; (S[],System.Func<S,T>); ; Argument[0].Element; Argument[1].Parameter[0]; value; manual |
|
||||
| 5 | Summary: My.Qltest; D; false; Map<S,T>; (S[],System.Func<S,T>); ; Argument[1].ReturnValue; ReturnValue.Element; value; manual |
|
||||
| 6 | Summary: My.Qltest; D; false; Parse; (System.String,System.Int32); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 7 | Summary: My.Qltest; D; false; Reverse; (System.Object[]); ; Argument[0].WithElement; ReturnValue; value; manual |
|
||||
| 8 | Summary: My.Qltest; D; false; StepArgArg; (System.Object,System.Object); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 9 | Summary: My.Qltest; D; false; StepArgQual; (System.Object); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 10 | Summary: My.Qltest; D; false; StepArgRes; (System.Object); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 11 | Summary: My.Qltest; D; false; StepElementGetter; (); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 12 | Summary: My.Qltest; D; false; StepElementSetter; (System.Object); ; Argument[0]; Argument[this].Element; value; manual |
|
||||
| 13 | Summary: My.Qltest; D; false; StepFieldGetter; (); ; Argument[this].Field[My.Qltest.D.Field]; ReturnValue; value; manual |
|
||||
| 14 | Summary: My.Qltest; D; false; StepFieldSetter; (System.Object); ; Argument[0]; Argument[this].Field[My.Qltest.D.Field]; value; manual |
|
||||
| 15 | Summary: My.Qltest; D; false; StepFieldSetter; (System.Object); ; Argument[this]; ReturnValue.Field[My.Qltest.D.Field2]; value; manual |
|
||||
| 16 | Summary: My.Qltest; D; false; StepPropertyGetter; (); ; Argument[this].Property[My.Qltest.D.Property]; ReturnValue; value; manual |
|
||||
| 17 | Summary: My.Qltest; D; false; StepPropertySetter; (System.Object); ; Argument[0]; Argument[this].Property[My.Qltest.D.Property]; value; manual |
|
||||
| 18 | Summary: My.Qltest; E; true; get_MyProp; (); ; Argument[this].Field[My.Qltest.E.MyField]; ReturnValue; value; manual |
|
||||
| 19 | Summary: My.Qltest; E; true; set_MyProp; (System.Object); ; Argument[0]; Argument[this].Field[My.Qltest.E.MyField]; value; manual |
|
||||
| 20 | Summary: My.Qltest; Library; false; MixedFlowArgs; (System.Object,System.Object); ; Argument[1]; ReturnValue; value; manual |
|
||||
| 21 | Summary: My.Qltest; Library; false; GeneratedFlowWithGeneratedNeutral; (System.Object); ; Argument[0]; ReturnValue; value; df-generated |
|
||||
| 22 | Summary: My.Qltest; HE; false; ExtensionMethod; (My.Qltest.HI); ; Argument[0]; ReturnValue; value; manual |
|
||||
| 23 | Summary: My.Qltest; I; false; GetFirst; (My.Qltest.MyInlineArray); ; Argument[0].Element; ReturnValue; value; manual |
|
||||
| 24 | Summary: My.Qltest; J; false; get_Prop1; (); ; Argument[this]; ReturnValue; value; manual |
|
||||
| 25 | Summary: My.Qltest; J; false; SetProp1; (System.Object); ; Argument[0]; Argument[this]; value; manual |
|
||||
| 26 | Summary: My.Qltest; K; false; SetMySyntheticField; (System.Object); ; Argument[0]; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField]; value; manual |
|
||||
| 27 | Summary: My.Qltest; K; false; GetMySyntheticField; (); ; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField]; ReturnValue; value; manual |
|
||||
| 20 | Summary: My.Qltest; HE; false; ExtensionMethod; (My.Qltest.HI); ; Argument[0]; ReturnValue; value; manual |
|
||||
| 21 | Summary: My.Qltest; I; false; GetFirst; (My.Qltest.MyInlineArray); ; Argument[0].Element; ReturnValue; value; manual |
|
||||
| 22 | Summary: My.Qltest; J; false; SetProp1; (System.Object); ; Argument[0]; Argument[this]; value; manual |
|
||||
| 23 | Summary: My.Qltest; J; false; get_Prop1; (); ; Argument[this]; ReturnValue; value; manual |
|
||||
| 24 | Summary: My.Qltest; K; false; GetMyFieldOnSyntheticField; (); ; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField2].Field[My.Qltest.K.MyField]; ReturnValue; value; manual |
|
||||
| 25 | Summary: My.Qltest; K; false; GetMyNestedSyntheticField; (); ; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField1].SyntheticField[MySyntheticField1.MyNestedSyntheticField]; ReturnValue; value; manual |
|
||||
| 26 | Summary: My.Qltest; K; false; GetMySyntheticField; (); ; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField]; ReturnValue; value; manual |
|
||||
| 27 | Summary: My.Qltest; K; false; SetMyFieldOnSyntheticField; (System.Object); ; Argument[0]; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField2].Field[My.Qltest.K.MyField]; value; manual |
|
||||
| 28 | Summary: My.Qltest; K; false; SetMyNestedSyntheticField; (System.Object); ; Argument[0]; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField1].SyntheticField[MySyntheticField1.MyNestedSyntheticField]; value; manual |
|
||||
| 29 | Summary: My.Qltest; K; false; GetMyNestedSyntheticField; (); ; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField1].SyntheticField[MySyntheticField1.MyNestedSyntheticField]; ReturnValue; value; manual |
|
||||
| 30 | Summary: My.Qltest; K; false; SetMyFieldOnSyntheticField; (System.Object); ; Argument[0]; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField2].Field[My.Qltest.K.MyField]; value; manual |
|
||||
| 31 | Summary: My.Qltest; K; false; GetMyFieldOnSyntheticField; (); ; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField2].Field[My.Qltest.K.MyField]; ReturnValue; value; manual |
|
||||
| 32 | Summary: My.Qltest; Library; false; SetValue; (System.Object); ; Argument[0]; Argument[this].SyntheticField[X]; value; dfc-generated |
|
||||
| 33 | Summary: My.Qltest; Library; false; GetValue; (); ; Argument[this].SyntheticField[X]; ReturnValue; value; dfc-generated |
|
||||
| 29 | Summary: My.Qltest; K; false; SetMySyntheticField; (System.Object); ; Argument[0]; Argument[this].SyntheticField[My.Qltest.K.MySyntheticField]; value; manual |
|
||||
| 30 | Summary: My.Qltest; Library; false; GeneratedFlowWithGeneratedNeutral; (System.Object); ; Argument[0]; ReturnValue; value; df-generated |
|
||||
| 31 | Summary: My.Qltest; Library; false; GetValue; (); ; Argument[this].SyntheticField[X]; ReturnValue; value; dfc-generated |
|
||||
| 32 | Summary: My.Qltest; Library; false; MixedFlowArgs; (System.Object,System.Object); ; Argument[1]; ReturnValue; value; manual |
|
||||
| 33 | Summary: My.Qltest; Library; false; SetValue; (System.Object); ; Argument[0]; Argument[this].SyntheticField[X]; value; dfc-generated |
|
||||
edges
|
||||
| ExternalFlow.cs:9:20:9:23 | access to local variable arg1 : Object | ExternalFlow.cs:10:29:10:32 | access to local variable arg1 : Object | provenance | |
|
||||
| ExternalFlow.cs:9:27:9:38 | object creation of type Object : Object | ExternalFlow.cs:9:20:9:23 | access to local variable arg1 : Object | provenance | |
|
||||
| ExternalFlow.cs:10:29:10:32 | access to local variable arg1 : Object | ExternalFlow.cs:10:18:10:33 | call to method StepArgRes | provenance | MaD:1 |
|
||||
| ExternalFlow.cs:10:29:10:32 | access to local variable arg1 : Object | ExternalFlow.cs:10:18:10:33 | call to method StepArgRes | provenance | MaD:10 |
|
||||
| ExternalFlow.cs:15:20:15:25 | access to local variable argIn1 : Object | ExternalFlow.cs:17:24:17:29 | access to local variable argIn1 : Object | provenance | |
|
||||
| ExternalFlow.cs:15:29:15:40 | object creation of type Object : Object | ExternalFlow.cs:15:20:15:25 | access to local variable argIn1 : Object | provenance | |
|
||||
| ExternalFlow.cs:16:20:16:26 | access to local variable argOut1 : Object | ExternalFlow.cs:18:18:18:24 | access to local variable argOut1 | provenance | |
|
||||
| ExternalFlow.cs:16:30:16:41 | object creation of type Object : Object | ExternalFlow.cs:16:20:16:26 | access to local variable argOut1 : Object | provenance | |
|
||||
| ExternalFlow.cs:17:24:17:29 | access to local variable argIn1 : Object | ExternalFlow.cs:17:32:17:38 | [post] access to local variable argOut1 : Object | provenance | MaD:2 |
|
||||
| ExternalFlow.cs:17:24:17:29 | access to local variable argIn1 : Object | ExternalFlow.cs:17:32:17:38 | [post] access to local variable argOut1 : Object | provenance | MaD:8 |
|
||||
| ExternalFlow.cs:17:32:17:38 | [post] access to local variable argOut1 : Object | ExternalFlow.cs:18:18:18:24 | access to local variable argOut1 | provenance | |
|
||||
| ExternalFlow.cs:23:20:23:23 | access to local variable arg2 : Object | ExternalFlow.cs:24:25:24:28 | access to local variable arg2 : Object | provenance | |
|
||||
| ExternalFlow.cs:23:27:23:38 | object creation of type Object : Object | ExternalFlow.cs:23:20:23:23 | access to local variable arg2 : Object | provenance | |
|
||||
| ExternalFlow.cs:24:13:24:29 | [post] this access : D | ExternalFlow.cs:25:18:25:21 | this access | provenance | |
|
||||
| ExternalFlow.cs:24:25:24:28 | access to local variable arg2 : Object | ExternalFlow.cs:24:13:24:29 | [post] this access : D | provenance | MaD:3 |
|
||||
| ExternalFlow.cs:24:25:24:28 | access to local variable arg2 : Object | ExternalFlow.cs:24:13:24:29 | [post] this access : D | provenance | MaD:9 |
|
||||
| ExternalFlow.cs:30:13:30:16 | [post] this access : D [field Field] : Object | ExternalFlow.cs:31:18:31:21 | this access : D [field Field] : Object | provenance | |
|
||||
| ExternalFlow.cs:30:26:30:37 | object creation of type Object : Object | ExternalFlow.cs:30:13:30:16 | [post] this access : D [field Field] : Object | provenance | |
|
||||
| ExternalFlow.cs:31:18:31:21 | this access : D [field Field] : Object | ExternalFlow.cs:31:18:31:39 | call to method StepFieldGetter | provenance | MaD:4 |
|
||||
| ExternalFlow.cs:31:18:31:21 | this access : D [field Field] : Object | ExternalFlow.cs:31:18:31:39 | call to method StepFieldGetter | provenance | MaD:13 |
|
||||
| ExternalFlow.cs:36:19:36:62 | (...) ... : D [field Field] : Object | ExternalFlow.cs:36:18:36:69 | access to field Field | provenance | |
|
||||
| ExternalFlow.cs:36:22:36:25 | [post] this access : D [field Field] : Object | ExternalFlow.cs:37:18:37:21 | this access : D [field Field] : Object | provenance | |
|
||||
| ExternalFlow.cs:36:22:36:55 | call to method StepFieldSetter : D [field Field2, field Field] : Object | ExternalFlow.cs:36:22:36:62 | access to field Field2 : Object [field Field] : Object | provenance | |
|
||||
| ExternalFlow.cs:36:22:36:62 | access to field Field2 : Object [field Field] : Object | ExternalFlow.cs:36:19:36:62 | (...) ... : D [field Field] : Object | provenance | |
|
||||
| ExternalFlow.cs:36:43:36:54 | object creation of type Object : Object | ExternalFlow.cs:36:22:36:25 | [post] this access : D [field Field] : Object | provenance | MaD:5 |
|
||||
| ExternalFlow.cs:36:43:36:54 | object creation of type Object : Object | ExternalFlow.cs:36:22:36:55 | call to method StepFieldSetter : D [field Field2, field Field] : Object | provenance | MaD:5+MaD:6 |
|
||||
| ExternalFlow.cs:36:43:36:54 | object creation of type Object : Object | ExternalFlow.cs:36:22:36:25 | [post] this access : D [field Field] : Object | provenance | MaD:14 |
|
||||
| ExternalFlow.cs:36:43:36:54 | object creation of type Object : Object | ExternalFlow.cs:36:22:36:55 | call to method StepFieldSetter : D [field Field2, field Field] : Object | provenance | MaD:14+MaD:15 |
|
||||
| ExternalFlow.cs:37:18:37:21 | this access : D [field Field] : Object | ExternalFlow.cs:37:18:37:27 | access to field Field | provenance | |
|
||||
| ExternalFlow.cs:42:13:42:16 | [post] this access : D [property Property] : Object | ExternalFlow.cs:43:18:43:21 | this access : D [property Property] : Object | provenance | |
|
||||
| ExternalFlow.cs:42:29:42:40 | object creation of type Object : Object | ExternalFlow.cs:42:13:42:16 | [post] this access : D [property Property] : Object | provenance | |
|
||||
| ExternalFlow.cs:43:18:43:21 | this access : D [property Property] : Object | ExternalFlow.cs:43:18:43:42 | call to method StepPropertyGetter | provenance | MaD:7 |
|
||||
| ExternalFlow.cs:43:18:43:21 | this access : D [property Property] : Object | ExternalFlow.cs:43:18:43:42 | call to method StepPropertyGetter | provenance | MaD:16 |
|
||||
| ExternalFlow.cs:48:13:48:16 | [post] this access : D [property Property] : Object | ExternalFlow.cs:49:18:49:21 | this access : D [property Property] : Object | provenance | |
|
||||
| ExternalFlow.cs:48:37:48:48 | object creation of type Object : Object | ExternalFlow.cs:48:13:48:16 | [post] this access : D [property Property] : Object | provenance | MaD:8 |
|
||||
| ExternalFlow.cs:48:37:48:48 | object creation of type Object : Object | ExternalFlow.cs:48:13:48:16 | [post] this access : D [property Property] : Object | provenance | MaD:17 |
|
||||
| ExternalFlow.cs:49:18:49:21 | this access : D [property Property] : Object | ExternalFlow.cs:49:18:49:30 | access to property Property | provenance | |
|
||||
| ExternalFlow.cs:54:13:54:16 | [post] this access : D [element] : Object | ExternalFlow.cs:55:18:55:21 | this access : D [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:54:36:54:47 | object creation of type Object : Object | ExternalFlow.cs:54:13:54:16 | [post] this access : D [element] : Object | provenance | MaD:10 |
|
||||
| ExternalFlow.cs:55:18:55:21 | this access : D [element] : Object | ExternalFlow.cs:55:18:55:41 | call to method StepElementGetter | provenance | MaD:9 |
|
||||
| ExternalFlow.cs:54:36:54:47 | object creation of type Object : Object | ExternalFlow.cs:54:13:54:16 | [post] this access : D [element] : Object | provenance | MaD:12 |
|
||||
| ExternalFlow.cs:55:18:55:21 | this access : D [element] : Object | ExternalFlow.cs:55:18:55:41 | call to method StepElementGetter | provenance | MaD:11 |
|
||||
| ExternalFlow.cs:60:35:60:35 | o : Object | ExternalFlow.cs:60:47:60:47 | access to parameter o | provenance | |
|
||||
| ExternalFlow.cs:60:64:60:75 | object creation of type Object : Object | ExternalFlow.cs:60:35:60:35 | o : Object | provenance | MaD:11 |
|
||||
| ExternalFlow.cs:60:64:60:75 | object creation of type Object : Object | ExternalFlow.cs:60:35:60:35 | o : Object | provenance | MaD:3 |
|
||||
| ExternalFlow.cs:65:17:65:17 | access to local variable o : Object | ExternalFlow.cs:66:18:66:18 | access to local variable o | provenance | |
|
||||
| ExternalFlow.cs:65:21:65:60 | call to method Apply<Int32,Object> : Object | ExternalFlow.cs:65:17:65:17 | access to local variable o : Object | provenance | |
|
||||
| ExternalFlow.cs:65:45:65:56 | object creation of type Object : Object | ExternalFlow.cs:65:21:65:60 | call to method Apply<Int32,Object> : Object | provenance | MaD:12 |
|
||||
| ExternalFlow.cs:65:45:65:56 | object creation of type Object : Object | ExternalFlow.cs:65:21:65:60 | call to method Apply<Int32,Object> : Object | provenance | MaD:2 |
|
||||
| ExternalFlow.cs:71:17:71:20 | access to local variable objs : null [element] : Object | ExternalFlow.cs:72:17:72:20 | access to local variable objs : null [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:71:30:71:45 | { ..., ... } : null [element] : Object | ExternalFlow.cs:71:17:71:20 | access to local variable objs : null [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:71:32:71:43 | object creation of type Object : Object | ExternalFlow.cs:71:30:71:45 | { ..., ... } : null [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:72:17:72:20 | access to local variable objs : null [element] : Object | ExternalFlow.cs:72:23:72:23 | o : Object | provenance | MaD:14 |
|
||||
| ExternalFlow.cs:72:17:72:20 | access to local variable objs : null [element] : Object | ExternalFlow.cs:72:23:72:23 | o : Object | provenance | MaD:4 |
|
||||
| ExternalFlow.cs:72:23:72:23 | o : Object | ExternalFlow.cs:72:35:72:35 | access to parameter o | provenance | |
|
||||
| ExternalFlow.cs:77:17:77:20 | access to local variable objs : T[] [element] : Object | ExternalFlow.cs:78:18:78:21 | access to local variable objs : T[] [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:77:24:77:58 | call to method Map<Int32,Object> : T[] [element] : Object | ExternalFlow.cs:77:17:77:20 | access to local variable objs : T[] [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:77:46:77:57 | object creation of type Object : Object | ExternalFlow.cs:77:24:77:58 | call to method Map<Int32,Object> : T[] [element] : Object | provenance | MaD:15 |
|
||||
| ExternalFlow.cs:77:46:77:57 | object creation of type Object : Object | ExternalFlow.cs:77:24:77:58 | call to method Map<Int32,Object> : T[] [element] : Object | provenance | MaD:5 |
|
||||
| ExternalFlow.cs:78:18:78:21 | access to local variable objs : T[] [element] : Object | ExternalFlow.cs:78:18:78:24 | access to array element | provenance | |
|
||||
| ExternalFlow.cs:83:17:83:20 | access to local variable objs : null [element] : Object | ExternalFlow.cs:84:29:84:32 | access to local variable objs : null [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:83:30:83:45 | { ..., ... } : null [element] : Object | ExternalFlow.cs:83:17:83:20 | access to local variable objs : null [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:83:32:83:43 | object creation of type Object : Object | ExternalFlow.cs:83:30:83:45 | { ..., ... } : null [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:84:17:84:21 | access to local variable objs2 : T[] [element] : Object | ExternalFlow.cs:85:18:85:22 | access to local variable objs2 : T[] [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:84:25:84:41 | call to method Map<Object,Object> : T[] [element] : Object | ExternalFlow.cs:84:17:84:21 | access to local variable objs2 : T[] [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:84:29:84:32 | access to local variable objs : null [element] : Object | ExternalFlow.cs:84:25:84:41 | call to method Map<Object,Object> : T[] [element] : Object | provenance | MaD:14 |
|
||||
| ExternalFlow.cs:84:29:84:32 | access to local variable objs : null [element] : Object | ExternalFlow.cs:84:35:84:35 | o : Object | provenance | MaD:14 |
|
||||
| ExternalFlow.cs:84:29:84:32 | access to local variable objs : null [element] : Object | ExternalFlow.cs:84:25:84:41 | call to method Map<Object,Object> : T[] [element] : Object | provenance | MaD:4 |
|
||||
| ExternalFlow.cs:84:29:84:32 | access to local variable objs : null [element] : Object | ExternalFlow.cs:84:35:84:35 | o : Object | provenance | MaD:4 |
|
||||
| ExternalFlow.cs:84:35:84:35 | o : Object | ExternalFlow.cs:84:40:84:40 | access to parameter o : Object | provenance | |
|
||||
| ExternalFlow.cs:85:18:85:22 | access to local variable objs2 : T[] [element] : Object | ExternalFlow.cs:85:18:85:25 | access to array element | provenance | |
|
||||
| ExternalFlow.cs:90:17:90:17 | access to local variable s : String | ExternalFlow.cs:91:19:91:19 | access to local variable s : String | provenance | |
|
||||
| ExternalFlow.cs:90:21:90:34 | object creation of type String : String | ExternalFlow.cs:90:17:90:17 | access to local variable s : String | provenance | |
|
||||
| ExternalFlow.cs:91:19:91:19 | access to local variable s : String | ExternalFlow.cs:91:30:91:30 | Int32 i : Int32 | provenance | MaD:16 |
|
||||
| ExternalFlow.cs:91:19:91:19 | access to local variable s : String | ExternalFlow.cs:91:30:91:30 | Int32 i : Int32 | provenance | MaD:6 |
|
||||
| ExternalFlow.cs:91:30:91:30 | Int32 i : Int32 | ExternalFlow.cs:92:18:92:18 | (...) ... | provenance | |
|
||||
| ExternalFlow.cs:98:13:98:14 | [post] access to local variable d1 : D [field Field] : Object | ExternalFlow.cs:103:16:103:17 | access to local variable d1 : D [field Field] : Object | provenance | |
|
||||
| ExternalFlow.cs:98:13:98:14 | [post] access to local variable d1 : D [field Field] : Object | ExternalFlow.cs:104:18:104:19 | access to local variable d1 : D [field Field] : Object | provenance | |
|
||||
| ExternalFlow.cs:98:24:98:35 | object creation of type Object : Object | ExternalFlow.cs:98:13:98:14 | [post] access to local variable d1 : D [field Field] : Object | provenance | |
|
||||
| ExternalFlow.cs:100:20:100:20 | d : Object | ExternalFlow.cs:102:22:102:22 | access to parameter d | provenance | |
|
||||
| ExternalFlow.cs:103:16:103:17 | access to local variable d1 : D [field Field] : Object | ExternalFlow.cs:100:20:100:20 | d : Object | provenance | MaD:13 |
|
||||
| ExternalFlow.cs:103:16:103:17 | access to local variable d1 : D [field Field] : Object | ExternalFlow.cs:100:20:100:20 | d : Object | provenance | MaD:1 |
|
||||
| ExternalFlow.cs:104:18:104:19 | access to local variable d1 : D [field Field] : Object | ExternalFlow.cs:104:18:104:25 | access to field Field | provenance | |
|
||||
| ExternalFlow.cs:111:13:111:13 | [post] access to local variable f : F [field MyField] : Object | ExternalFlow.cs:112:18:112:18 | access to local variable f : F [field MyField] : Object | provenance | |
|
||||
| ExternalFlow.cs:111:24:111:35 | object creation of type Object : Object | ExternalFlow.cs:111:13:111:13 | [post] access to local variable f : F [field MyField] : Object | provenance | MaD:19 |
|
||||
@@ -106,49 +106,49 @@ edges
|
||||
| ExternalFlow.cs:117:36:117:47 | object creation of type Object : Object | ExternalFlow.cs:117:34:117:49 | { ..., ... } : null [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:118:17:118:17 | access to local variable b : null [element] : Object | ExternalFlow.cs:120:18:120:18 | access to local variable b : null [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:118:21:118:30 | call to method Reverse : null [element] : Object | ExternalFlow.cs:118:17:118:17 | access to local variable b : null [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:118:29:118:29 | access to local variable a : null [element] : Object | ExternalFlow.cs:118:21:118:30 | call to method Reverse : null [element] : Object | provenance | MaD:17 |
|
||||
| ExternalFlow.cs:118:29:118:29 | access to local variable a : null [element] : Object | ExternalFlow.cs:118:21:118:30 | call to method Reverse : null [element] : Object | provenance | MaD:7 |
|
||||
| ExternalFlow.cs:120:18:120:18 | access to local variable b : null [element] : Object | ExternalFlow.cs:120:18:120:21 | access to array element | provenance | |
|
||||
| ExternalFlow.cs:205:17:205:18 | access to local variable o2 : Object | ExternalFlow.cs:206:46:206:47 | access to local variable o2 : Object | provenance | |
|
||||
| ExternalFlow.cs:205:22:205:33 | object creation of type Object : Object | ExternalFlow.cs:205:17:205:18 | access to local variable o2 : Object | provenance | |
|
||||
| ExternalFlow.cs:206:46:206:47 | access to local variable o2 : Object | ExternalFlow.cs:206:18:206:48 | call to method MixedFlowArgs | provenance | MaD:20 |
|
||||
| ExternalFlow.cs:206:46:206:47 | access to local variable o2 : Object | ExternalFlow.cs:206:18:206:48 | call to method MixedFlowArgs | provenance | MaD:32 |
|
||||
| ExternalFlow.cs:211:17:211:18 | access to local variable o1 : Object | ExternalFlow.cs:212:60:212:61 | access to local variable o1 : Object | provenance | |
|
||||
| ExternalFlow.cs:211:22:211:33 | object creation of type Object : Object | ExternalFlow.cs:211:17:211:18 | access to local variable o1 : Object | provenance | |
|
||||
| ExternalFlow.cs:212:60:212:61 | access to local variable o1 : Object | ExternalFlow.cs:212:18:212:62 | call to method GeneratedFlowWithGeneratedNeutral | provenance | MaD:21 |
|
||||
| ExternalFlow.cs:212:60:212:61 | access to local variable o1 : Object | ExternalFlow.cs:212:18:212:62 | call to method GeneratedFlowWithGeneratedNeutral | provenance | MaD:30 |
|
||||
| ExternalFlow.cs:238:17:238:17 | access to local variable h : HC | ExternalFlow.cs:239:21:239:21 | access to local variable h : HC | provenance | |
|
||||
| ExternalFlow.cs:238:21:238:28 | object creation of type HC : HC | ExternalFlow.cs:238:17:238:17 | access to local variable h : HC | provenance | |
|
||||
| ExternalFlow.cs:239:17:239:17 | access to local variable o : HC | ExternalFlow.cs:240:18:240:18 | access to local variable o | provenance | |
|
||||
| ExternalFlow.cs:239:21:239:21 | access to local variable h : HC | ExternalFlow.cs:239:21:239:39 | call to method ExtensionMethod : HC | provenance | MaD:22 |
|
||||
| ExternalFlow.cs:239:21:239:21 | access to local variable h : HC | ExternalFlow.cs:239:21:239:39 | call to method ExtensionMethod : HC | provenance | MaD:20 |
|
||||
| ExternalFlow.cs:239:21:239:39 | call to method ExtensionMethod : HC | ExternalFlow.cs:239:17:239:17 | access to local variable o : HC | provenance | |
|
||||
| ExternalFlow.cs:256:13:256:13 | [post] access to parameter a : MyInlineArray [element] : Object | ExternalFlow.cs:257:30:257:30 | access to parameter a : MyInlineArray [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:256:20:256:31 | object creation of type Object : Object | ExternalFlow.cs:256:13:256:13 | [post] access to parameter a : MyInlineArray [element] : Object | provenance | |
|
||||
| ExternalFlow.cs:257:17:257:17 | access to local variable b : Object | ExternalFlow.cs:258:18:258:18 | access to local variable b | provenance | |
|
||||
| ExternalFlow.cs:257:21:257:31 | call to method GetFirst : Object | ExternalFlow.cs:257:17:257:17 | access to local variable b : Object | provenance | |
|
||||
| ExternalFlow.cs:257:30:257:30 | access to parameter a : MyInlineArray [element] : Object | ExternalFlow.cs:257:21:257:31 | call to method GetFirst : Object | provenance | MaD:23 |
|
||||
| ExternalFlow.cs:257:30:257:30 | access to parameter a : MyInlineArray [element] : Object | ExternalFlow.cs:257:21:257:31 | call to method GetFirst : Object | provenance | MaD:21 |
|
||||
| ExternalFlow.cs:278:17:278:17 | access to local variable j : Object | ExternalFlow.cs:279:22:279:22 | access to local variable j : Object | provenance | |
|
||||
| ExternalFlow.cs:278:21:278:32 | object creation of type Object : Object | ExternalFlow.cs:278:17:278:17 | access to local variable j : Object | provenance | |
|
||||
| ExternalFlow.cs:279:13:279:23 | [post] this access : J | ExternalFlow.cs:281:18:281:21 | this access : J | provenance | |
|
||||
| ExternalFlow.cs:279:22:279:22 | access to local variable j : Object | ExternalFlow.cs:279:13:279:23 | [post] this access : J | provenance | MaD:25 |
|
||||
| ExternalFlow.cs:281:18:281:21 | this access : J | ExternalFlow.cs:281:18:281:27 | access to property Prop1 | provenance | MaD:24 |
|
||||
| ExternalFlow.cs:279:22:279:22 | access to local variable j : Object | ExternalFlow.cs:279:13:279:23 | [post] this access : J | provenance | MaD:22 |
|
||||
| ExternalFlow.cs:281:18:281:21 | this access : J | ExternalFlow.cs:281:18:281:27 | access to property Prop1 | provenance | MaD:23 |
|
||||
| ExternalFlow.cs:315:17:315:17 | access to local variable o : Object | ExternalFlow.cs:316:33:316:33 | access to local variable o : Object | provenance | |
|
||||
| ExternalFlow.cs:315:21:315:32 | object creation of type Object : Object | ExternalFlow.cs:315:17:315:17 | access to local variable o : Object | provenance | |
|
||||
| ExternalFlow.cs:316:13:316:34 | [post] this access : K [synthetic My.Qltest.K.MySyntheticField] : Object | ExternalFlow.cs:317:18:317:38 | this access : K [synthetic My.Qltest.K.MySyntheticField] : Object | provenance | |
|
||||
| ExternalFlow.cs:316:33:316:33 | access to local variable o : Object | ExternalFlow.cs:316:13:316:34 | [post] this access : K [synthetic My.Qltest.K.MySyntheticField] : Object | provenance | MaD:26 |
|
||||
| ExternalFlow.cs:317:18:317:38 | this access : K [synthetic My.Qltest.K.MySyntheticField] : Object | ExternalFlow.cs:317:18:317:38 | call to method GetMySyntheticField | provenance | MaD:27 |
|
||||
| ExternalFlow.cs:316:33:316:33 | access to local variable o : Object | ExternalFlow.cs:316:13:316:34 | [post] this access : K [synthetic My.Qltest.K.MySyntheticField] : Object | provenance | MaD:29 |
|
||||
| ExternalFlow.cs:317:18:317:38 | this access : K [synthetic My.Qltest.K.MySyntheticField] : Object | ExternalFlow.cs:317:18:317:38 | call to method GetMySyntheticField | provenance | MaD:26 |
|
||||
| ExternalFlow.cs:322:17:322:17 | access to local variable o : Object | ExternalFlow.cs:323:39:323:39 | access to local variable o : Object | provenance | |
|
||||
| ExternalFlow.cs:322:21:322:32 | object creation of type Object : Object | ExternalFlow.cs:322:17:322:17 | access to local variable o : Object | provenance | |
|
||||
| ExternalFlow.cs:323:13:323:40 | [post] this access : K [synthetic My.Qltest.K.MySyntheticField1, synthetic MySyntheticField1.MyNestedSyntheticField] : Object | ExternalFlow.cs:324:18:324:44 | this access : K [synthetic My.Qltest.K.MySyntheticField1, synthetic MySyntheticField1.MyNestedSyntheticField] : Object | provenance | |
|
||||
| ExternalFlow.cs:323:39:323:39 | access to local variable o : Object | ExternalFlow.cs:323:13:323:40 | [post] this access : K [synthetic My.Qltest.K.MySyntheticField1, synthetic MySyntheticField1.MyNestedSyntheticField] : Object | provenance | MaD:28 |
|
||||
| ExternalFlow.cs:324:18:324:44 | this access : K [synthetic My.Qltest.K.MySyntheticField1, synthetic MySyntheticField1.MyNestedSyntheticField] : Object | ExternalFlow.cs:324:18:324:44 | call to method GetMyNestedSyntheticField | provenance | MaD:29 |
|
||||
| ExternalFlow.cs:324:18:324:44 | this access : K [synthetic My.Qltest.K.MySyntheticField1, synthetic MySyntheticField1.MyNestedSyntheticField] : Object | ExternalFlow.cs:324:18:324:44 | call to method GetMyNestedSyntheticField | provenance | MaD:25 |
|
||||
| ExternalFlow.cs:329:17:329:17 | access to local variable o : Object | ExternalFlow.cs:330:40:330:40 | access to local variable o : Object | provenance | |
|
||||
| ExternalFlow.cs:329:21:329:32 | object creation of type Object : Object | ExternalFlow.cs:329:17:329:17 | access to local variable o : Object | provenance | |
|
||||
| ExternalFlow.cs:330:13:330:41 | [post] this access : K [synthetic My.Qltest.K.MySyntheticField2, field MyField] : Object | ExternalFlow.cs:331:18:331:45 | this access : K [synthetic My.Qltest.K.MySyntheticField2, field MyField] : Object | provenance | |
|
||||
| ExternalFlow.cs:330:40:330:40 | access to local variable o : Object | ExternalFlow.cs:330:13:330:41 | [post] this access : K [synthetic My.Qltest.K.MySyntheticField2, field MyField] : Object | provenance | MaD:30 |
|
||||
| ExternalFlow.cs:331:18:331:45 | this access : K [synthetic My.Qltest.K.MySyntheticField2, field MyField] : Object | ExternalFlow.cs:331:18:331:45 | call to method GetMyFieldOnSyntheticField | provenance | MaD:31 |
|
||||
| ExternalFlow.cs:330:40:330:40 | access to local variable o : Object | ExternalFlow.cs:330:13:330:41 | [post] this access : K [synthetic My.Qltest.K.MySyntheticField2, field MyField] : Object | provenance | MaD:27 |
|
||||
| ExternalFlow.cs:331:18:331:45 | this access : K [synthetic My.Qltest.K.MySyntheticField2, field MyField] : Object | ExternalFlow.cs:331:18:331:45 | call to method GetMyFieldOnSyntheticField | provenance | MaD:24 |
|
||||
| ExternalFlow.cs:343:17:343:17 | access to local variable o : Object | ExternalFlow.cs:344:24:344:24 | access to local variable o : Object | provenance | |
|
||||
| ExternalFlow.cs:343:21:343:32 | object creation of type Object : Object | ExternalFlow.cs:343:17:343:17 | access to local variable o : Object | provenance | |
|
||||
| ExternalFlow.cs:344:13:344:13 | [post] access to local variable l : Library [synthetic X] : Object | ExternalFlow.cs:345:18:345:18 | access to local variable l : Library [synthetic X] : Object | provenance | |
|
||||
| ExternalFlow.cs:344:24:344:24 | access to local variable o : Object | ExternalFlow.cs:344:13:344:13 | [post] access to local variable l : Library [synthetic X] : Object | provenance | MaD:32 |
|
||||
| ExternalFlow.cs:345:18:345:18 | access to local variable l : Library [synthetic X] : Object | ExternalFlow.cs:345:18:345:29 | call to method GetValue | provenance | MaD:33 |
|
||||
| ExternalFlow.cs:344:24:344:24 | access to local variable o : Object | ExternalFlow.cs:344:13:344:13 | [post] access to local variable l : Library [synthetic X] : Object | provenance | MaD:33 |
|
||||
| ExternalFlow.cs:345:18:345:18 | access to local variable l : Library [synthetic X] : Object | ExternalFlow.cs:345:18:345:29 | call to method GetValue | provenance | MaD:31 |
|
||||
nodes
|
||||
| ExternalFlow.cs:9:20:9:23 | access to local variable arg1 : Object | semmle.label | access to local variable arg1 : Object |
|
||||
| ExternalFlow.cs:9:27:9:38 | object creation of type Object : Object | semmle.label | object creation of type Object : Object |
|
||||
|
||||
@@ -8,8 +8,8 @@ models
|
||||
| 7 | Summary: System.Linq; Queryable; false; AsQueryable<TElement>; (System.Collections.Generic.IEnumerable<TElement>); ; Argument[0].Element; ReturnValue.Element; value; manual |
|
||||
| 8 | Summary: System.Linq; Queryable; false; First<TSource>; (System.Linq.IQueryable<TSource>); ; Argument[0].Element; ReturnValue; value; manual |
|
||||
| 9 | Summary: System.Linq; Queryable; false; Select<TSource,TResult>; (System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TResult>>); ; Argument[0].Element; Argument[1].Parameter[0]; value; manual |
|
||||
| 10 | Summary: System.Runtime.CompilerServices; ConfiguredTaskAwaitable<TResult>; false; GetAwaiter; (); ; Argument[this].SyntheticField[m_configuredTaskAwaiter]; ReturnValue; value; manual |
|
||||
| 11 | Summary: System.Runtime.CompilerServices; ConfiguredTaskAwaitable<TResult>+ConfiguredTaskAwaiter; false; GetResult; (); ; Argument[this].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task`1.Result]; ReturnValue; value; manual |
|
||||
| 10 | Summary: System.Runtime.CompilerServices; ConfiguredTaskAwaitable<TResult>+ConfiguredTaskAwaiter; false; GetResult; (); ; Argument[this].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task`1.Result]; ReturnValue; value; manual |
|
||||
| 11 | Summary: System.Runtime.CompilerServices; ConfiguredTaskAwaitable<TResult>; false; GetAwaiter; (); ; Argument[this].SyntheticField[m_configuredTaskAwaiter]; ReturnValue; value; manual |
|
||||
| 12 | Summary: System.Threading.Tasks; Task; false; Run<TResult>; (System.Func<TResult>); ; Argument[0].ReturnValue; ReturnValue.Property[System.Threading.Tasks.Task`1.Result]; value; manual |
|
||||
| 13 | Summary: System.Threading.Tasks; Task<TResult>; false; ConfigureAwait; (System.Boolean); ; Argument[this]; ReturnValue.SyntheticField[m_configuredTaskAwaiter].SyntheticField[m_task_configured_task_awaitable]; value; manual |
|
||||
| 14 | Summary: System; Lazy<T>; false; Lazy; (System.Func<T>); ; Argument[0].ReturnValue; Argument[this].Property[System.Lazy`1.Value]; value; manual |
|
||||
@@ -412,10 +412,10 @@ edges
|
||||
| GlobalDataFlow.cs:458:25:458:28 | access to local variable task : Task<T> [property Result] : String | GlobalDataFlow.cs:458:25:458:50 | call to method ConfigureAwait : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | provenance | MaD:13 |
|
||||
| GlobalDataFlow.cs:458:25:458:50 | call to method ConfigureAwait : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:458:13:458:21 | access to local variable awaitable : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | provenance | |
|
||||
| GlobalDataFlow.cs:459:13:459:19 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:460:22:460:28 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | provenance | |
|
||||
| GlobalDataFlow.cs:459:23:459:31 | access to local variable awaitable : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:459:23:459:44 | call to method GetAwaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | provenance | MaD:10 |
|
||||
| GlobalDataFlow.cs:459:23:459:31 | access to local variable awaitable : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:459:23:459:44 | call to method GetAwaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | provenance | MaD:11 |
|
||||
| GlobalDataFlow.cs:459:23:459:44 | call to method GetAwaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:459:13:459:19 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | provenance | |
|
||||
| GlobalDataFlow.cs:460:13:460:18 | access to local variable sink45 : String | GlobalDataFlow.cs:461:15:461:20 | access to local variable sink45 | provenance | |
|
||||
| GlobalDataFlow.cs:460:22:460:28 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:460:22:460:40 | call to method GetResult : String | provenance | MaD:11 |
|
||||
| GlobalDataFlow.cs:460:22:460:28 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:460:22:460:40 | call to method GetResult : String | provenance | MaD:10 |
|
||||
| GlobalDataFlow.cs:460:22:460:40 | call to method GetResult : String | GlobalDataFlow.cs:460:13:460:18 | access to local variable sink45 : String | provenance | |
|
||||
| GlobalDataFlow.cs:466:53:466:55 | arg : String | GlobalDataFlow.cs:470:15:470:17 | access to parameter arg : String | provenance | |
|
||||
| GlobalDataFlow.cs:469:21:469:21 | s : String | GlobalDataFlow.cs:469:32:469:32 | access to parameter s | provenance | |
|
||||
|
||||
@@ -10,8 +10,8 @@ models
|
||||
| 9 | Summary: System.Linq; Queryable; false; AsQueryable<TElement>; (System.Collections.Generic.IEnumerable<TElement>); ; Argument[0].Element; ReturnValue.Element; value; manual |
|
||||
| 10 | Summary: System.Linq; Queryable; false; First<TSource>; (System.Linq.IQueryable<TSource>); ; Argument[0].Element; ReturnValue; value; manual |
|
||||
| 11 | Summary: System.Linq; Queryable; false; Select<TSource,TResult>; (System.Linq.IQueryable<TSource>,System.Linq.Expressions.Expression<System.Func<TSource,TResult>>); ; Argument[0].Element; Argument[1].Parameter[0]; value; manual |
|
||||
| 12 | Summary: System.Runtime.CompilerServices; ConfiguredTaskAwaitable<TResult>; false; GetAwaiter; (); ; Argument[this].SyntheticField[m_configuredTaskAwaiter]; ReturnValue; value; manual |
|
||||
| 13 | Summary: System.Runtime.CompilerServices; ConfiguredTaskAwaitable<TResult>+ConfiguredTaskAwaiter; false; GetResult; (); ; Argument[this].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task`1.Result]; ReturnValue; value; manual |
|
||||
| 12 | Summary: System.Runtime.CompilerServices; ConfiguredTaskAwaitable<TResult>+ConfiguredTaskAwaiter; false; GetResult; (); ; Argument[this].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task`1.Result]; ReturnValue; value; manual |
|
||||
| 13 | Summary: System.Runtime.CompilerServices; ConfiguredTaskAwaitable<TResult>; false; GetAwaiter; (); ; Argument[this].SyntheticField[m_configuredTaskAwaiter]; ReturnValue; value; manual |
|
||||
| 14 | Summary: System.Text; StringBuilder; false; Append; (System.String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 15 | Summary: System.Text; StringBuilder; false; Append; (System.Text.StringBuilder); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 16 | Summary: System.Text; StringBuilder; false; Append; (System.Text.StringBuilder+AppendInterpolatedStringHandler); ; Argument[0]; Argument[this]; taint; manual |
|
||||
@@ -452,10 +452,10 @@ edges
|
||||
| GlobalDataFlow.cs:458:25:458:28 | access to local variable task : Task<T> [property Result] : String | GlobalDataFlow.cs:458:25:458:50 | call to method ConfigureAwait : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | provenance | MaD:19 |
|
||||
| GlobalDataFlow.cs:458:25:458:50 | call to method ConfigureAwait : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:458:13:458:21 | access to local variable awaitable : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | provenance | |
|
||||
| GlobalDataFlow.cs:459:13:459:19 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:460:22:460:28 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | provenance | |
|
||||
| GlobalDataFlow.cs:459:23:459:31 | access to local variable awaitable : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:459:23:459:44 | call to method GetAwaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | provenance | MaD:12 |
|
||||
| GlobalDataFlow.cs:459:23:459:31 | access to local variable awaitable : ConfiguredTaskAwaitable<T> [synthetic m_configuredTaskAwaiter, synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:459:23:459:44 | call to method GetAwaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | provenance | MaD:13 |
|
||||
| GlobalDataFlow.cs:459:23:459:44 | call to method GetAwaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:459:13:459:19 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | provenance | |
|
||||
| GlobalDataFlow.cs:460:13:460:18 | access to local variable sink45 : String | GlobalDataFlow.cs:461:15:461:20 | access to local variable sink45 | provenance | |
|
||||
| GlobalDataFlow.cs:460:22:460:28 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:460:22:460:40 | call to method GetResult : String | provenance | MaD:13 |
|
||||
| GlobalDataFlow.cs:460:22:460:28 | access to local variable awaiter : ConfiguredTaskAwaitable<T>.ConfiguredTaskAwaiter [synthetic m_task_configured_task_awaitable, property Result] : String | GlobalDataFlow.cs:460:22:460:40 | call to method GetResult : String | provenance | MaD:12 |
|
||||
| GlobalDataFlow.cs:460:22:460:40 | call to method GetResult : String | GlobalDataFlow.cs:460:13:460:18 | access to local variable sink45 : String | provenance | |
|
||||
| GlobalDataFlow.cs:466:53:466:55 | arg : String | GlobalDataFlow.cs:470:15:470:17 | access to parameter arg : String | provenance | |
|
||||
| GlobalDataFlow.cs:469:21:469:21 | s : String | GlobalDataFlow.cs:469:32:469:32 | access to parameter s | provenance | |
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
models
|
||||
| 1 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 3 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 2 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 3 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 4 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
edges
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:4 |
|
||||
| Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:3 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:2 |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:2 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:3 |
|
||||
| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | |
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
models
|
||||
| 1 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 2 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual |
|
||||
| 3 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 4 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
| 5 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual |
|
||||
| 4 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 5 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
edges
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:4 |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:5 |
|
||||
| Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:3 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:2 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:4 |
|
||||
| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:4 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:5 |
|
||||
| Test.cs:34:20:34:25 | access to local variable result : String | Test.cs:37:42:37:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:5 |
|
||||
| Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:2 |
|
||||
nodes
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object |
|
||||
| Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String |
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
models
|
||||
| 1 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 3 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 4 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
| 5 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual |
|
||||
| 6 | Source: My.Qltest; TestSources; false; ReadEnv; (System.String); ; ReturnValue; environment; manual |
|
||||
| 7 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual |
|
||||
| 2 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual |
|
||||
| 3 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual |
|
||||
| 4 | Source: My.Qltest; TestSources; false; ReadEnv; (System.String); ; ReturnValue; environment; manual |
|
||||
| 5 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 6 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 7 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
edges
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:4 |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:7 |
|
||||
| Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:3 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:2 |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:5 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:6 |
|
||||
| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:4 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:7 |
|
||||
| Test.cs:34:20:34:25 | access to local variable result : String | Test.cs:37:42:37:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:5 |
|
||||
| Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:2 |
|
||||
| Test.cs:43:20:43:25 | access to local variable result : String | Test.cs:46:42:46:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:43:29:43:50 | call to method ReadEnv : String | Test.cs:43:20:43:25 | access to local variable result : String | provenance | Src:MaD:6 |
|
||||
| Test.cs:43:29:43:50 | call to method ReadEnv : String | Test.cs:43:20:43:25 | access to local variable result : String | provenance | Src:MaD:4 |
|
||||
| Test.cs:62:20:62:25 | access to local variable result : String | Test.cs:65:42:65:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:7 |
|
||||
| Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:3 |
|
||||
nodes
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object |
|
||||
| Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String |
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
models
|
||||
| 1 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 3 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 4 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
| 5 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual |
|
||||
| 6 | Source: My.Qltest; TestSources; false; ReadEnv; (System.String); ; ReturnValue; environment; manual |
|
||||
| 7 | Source: My.Qltest; TestSources; false; GetCustom; (System.String); ; ReturnValue; custom; manual |
|
||||
| 8 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual |
|
||||
| 2 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual |
|
||||
| 3 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual |
|
||||
| 4 | Source: My.Qltest; TestSources; false; GetCustom; (System.String); ; ReturnValue; custom; manual |
|
||||
| 5 | Source: My.Qltest; TestSources; false; ReadEnv; (System.String); ; ReturnValue; environment; manual |
|
||||
| 6 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 7 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 8 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
edges
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:4 |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:8 |
|
||||
| Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:3 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:2 |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:6 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:7 |
|
||||
| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:4 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:8 |
|
||||
| Test.cs:34:20:34:25 | access to local variable result : String | Test.cs:37:42:37:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:5 |
|
||||
| Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:2 |
|
||||
| Test.cs:43:20:43:25 | access to local variable result : String | Test.cs:46:42:46:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:43:29:43:50 | call to method ReadEnv : String | Test.cs:43:20:43:25 | access to local variable result : String | provenance | Src:MaD:6 |
|
||||
| Test.cs:43:29:43:50 | call to method ReadEnv : String | Test.cs:43:20:43:25 | access to local variable result : String | provenance | Src:MaD:5 |
|
||||
| Test.cs:53:20:53:25 | access to local variable result : String | Test.cs:56:42:56:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:53:29:53:52 | call to method GetCustom : String | Test.cs:53:20:53:25 | access to local variable result : String | provenance | Src:MaD:7 |
|
||||
| Test.cs:53:29:53:52 | call to method GetCustom : String | Test.cs:53:20:53:25 | access to local variable result : String | provenance | Src:MaD:4 |
|
||||
| Test.cs:62:20:62:25 | access to local variable result : String | Test.cs:65:42:65:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:8 |
|
||||
| Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:3 |
|
||||
nodes
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object |
|
||||
| Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String |
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
models
|
||||
| 1 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 3 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 4 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
| 5 | Source: My.Qltest; TestSources; false; ReadEnv; (System.String); ; ReturnValue; environment; manual |
|
||||
| 6 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual |
|
||||
| 2 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual |
|
||||
| 3 | Source: My.Qltest; TestSources; false; ReadEnv; (System.String); ; ReturnValue; environment; manual |
|
||||
| 4 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 5 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 6 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
edges
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:4 |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:6 |
|
||||
| Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:3 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:2 |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:4 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:5 |
|
||||
| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:4 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:6 |
|
||||
| Test.cs:43:20:43:25 | access to local variable result : String | Test.cs:46:42:46:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:43:29:43:50 | call to method ReadEnv : String | Test.cs:43:20:43:25 | access to local variable result : String | provenance | Src:MaD:5 |
|
||||
| Test.cs:43:29:43:50 | call to method ReadEnv : String | Test.cs:43:20:43:25 | access to local variable result : String | provenance | Src:MaD:3 |
|
||||
| Test.cs:62:20:62:25 | access to local variable result : String | Test.cs:65:42:65:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:6 |
|
||||
| Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:2 |
|
||||
nodes
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object |
|
||||
| Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String |
|
||||
|
||||
@@ -1,24 +1,24 @@
|
||||
models
|
||||
| 1 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 3 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 4 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
| 5 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual |
|
||||
| 6 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual |
|
||||
| 2 | Source: My.Qltest; TestSources; false; ExecuteQuery; (System.String); ; ReturnValue; database; manual |
|
||||
| 3 | Source: My.Qltest; TestSources; false; GetCliArg; (System.Int32); ; ReturnValue; commandargs; manual |
|
||||
| 4 | Source: System.Net.Sockets; TcpClient; false; GetStream; ; ; ReturnValue; remote; manual |
|
||||
| 5 | Summary: System.IO; Stream; true; Read; (System.Byte[],System.Int32,System.Int32); ; Argument[this]; Argument[0].Element; taint; manual |
|
||||
| 6 | Summary: System.Text; Encoding; true; GetString; (System.Byte[]); ; Argument[0].Element; ReturnValue; taint; manual |
|
||||
edges
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:4 |
|
||||
| Test.cs:15:56:15:60 | access to parameter bytes : Byte[] [element] : Object | Test.cs:15:20:15:61 | call to method GetString : String | provenance | MaD:6 |
|
||||
| Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | provenance | |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:3 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:2 |
|
||||
| Test.cs:23:42:23:59 | call to method GetStream : NetworkStream | Test.cs:23:33:23:38 | access to local variable stream : NetworkStream | provenance | Src:MaD:4 |
|
||||
| Test.cs:25:29:25:34 | access to local variable stream : NetworkStream | Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | provenance | MaD:5 |
|
||||
| Test.cs:25:41:25:46 | [post] access to local variable buffer : Byte[] [element] : Object | Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:85:28:105 | call to method BytesToString : String | Test.cs:28:42:28:111 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | provenance | |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:4 |
|
||||
| Test.cs:28:99:28:104 | access to local variable buffer : Byte[] [element] : Object | Test.cs:28:85:28:105 | call to method BytesToString : String | provenance | MaD:6 |
|
||||
| Test.cs:34:20:34:25 | access to local variable result : String | Test.cs:37:42:37:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:5 |
|
||||
| Test.cs:34:29:34:69 | call to method ExecuteQuery : String | Test.cs:34:20:34:25 | access to local variable result : String | provenance | Src:MaD:2 |
|
||||
| Test.cs:62:20:62:25 | access to local variable result : String | Test.cs:65:42:65:96 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:6 |
|
||||
| Test.cs:62:29:62:48 | call to method GetCliArg : String | Test.cs:62:20:62:25 | access to local variable result : String | provenance | Src:MaD:3 |
|
||||
nodes
|
||||
| Test.cs:12:45:12:49 | bytes : Byte[] [element] : Object | semmle.label | bytes : Byte[] [element] : Object |
|
||||
| Test.cs:15:20:15:61 | call to method GetString : String | semmle.label | call to method GetString : String |
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
edges
|
||||
| StoredXSS.cs:17:31:17:44 | access to local variable customerReader : SqlDataReader | StoredXSS.cs:22:60:22:73 | access to local variable customerReader : SqlDataReader | provenance | |
|
||||
| StoredXSS.cs:17:48:17:78 | call to method ExecuteReader : SqlDataReader | StoredXSS.cs:17:31:17:44 | access to local variable customerReader : SqlDataReader | provenance | |
|
||||
| StoredXSS.cs:22:60:22:73 | access to local variable customerReader : SqlDataReader | StoredXSS.cs:22:60:22:86 | call to method GetString : String | provenance | MaD:1 |
|
||||
| StoredXSS.cs:22:60:22:86 | call to method GetString : String | StoredXSS.cs:22:44:22:86 | ... + ... | provenance | Sink:MaD:2 |
|
||||
| StoredXSS.cs:22:60:22:73 | access to local variable customerReader : SqlDataReader | StoredXSS.cs:22:60:22:86 | call to method GetString : String | provenance | MaD:2 |
|
||||
| StoredXSS.cs:22:60:22:86 | call to method GetString : String | StoredXSS.cs:22:44:22:86 | ... + ... | provenance | Sink:MaD:1 |
|
||||
models
|
||||
| 1 | Summary: System.Data; IDataRecord; true; GetString; (System.Int32); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 2 | Sink: System.Web; HttpResponse; false; Write; ; ; Argument[0]; html-injection; manual |
|
||||
| 1 | Sink: System.Web; HttpResponse; false; Write; ; ; Argument[0]; html-injection; manual |
|
||||
| 2 | Summary: System.Data; IDataRecord; true; GetString; (System.Int32); ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| StoredXSS.cs:17:31:17:44 | access to local variable customerReader : SqlDataReader | semmle.label | access to local variable customerReader : SqlDataReader |
|
||||
| StoredXSS.cs:17:48:17:78 | call to method ExecuteReader : SqlDataReader | semmle.label | call to method ExecuteReader : SqlDataReader |
|
||||
|
||||
@@ -17,44 +17,44 @@ edges
|
||||
| XSS.cs:26:13:26:21 | [post] access to local variable userInput : StringBuilder | XSS.cs:27:32:27:40 | access to local variable userInput : StringBuilder | provenance | |
|
||||
| XSS.cs:26:13:26:21 | [post] access to local variable userInput : StringBuilder | XSS.cs:28:29:28:37 | access to local variable userInput : StringBuilder | provenance | |
|
||||
| XSS.cs:26:13:26:21 | [post] access to local variable userInput : StringBuilder | XSS.cs:29:26:29:34 | access to local variable userInput : StringBuilder | provenance | |
|
||||
| XSS.cs:26:48:26:62 | access to field categoryTextBox : TextBox | XSS.cs:26:48:26:67 | access to property Text : String | provenance | MaD:4 |
|
||||
| XSS.cs:26:48:26:67 | access to property Text : String | XSS.cs:26:13:26:21 | [post] access to local variable userInput : StringBuilder | provenance | MaD:2 |
|
||||
| XSS.cs:27:32:27:40 | access to local variable userInput : StringBuilder | XSS.cs:27:32:27:51 | call to method ToString | provenance | MaD:3 |
|
||||
| XSS.cs:28:29:28:37 | access to local variable userInput : StringBuilder | XSS.cs:28:29:28:48 | call to method ToString | provenance | MaD:3 |
|
||||
| XSS.cs:29:26:29:34 | access to local variable userInput : StringBuilder | XSS.cs:29:26:29:45 | call to method ToString | provenance | MaD:3 |
|
||||
| XSS.cs:38:20:38:23 | access to local variable name : String | XSS.cs:39:36:39:39 | access to local variable name | provenance | Sink:MaD:5 |
|
||||
| XSS.cs:26:48:26:62 | access to field categoryTextBox : TextBox | XSS.cs:26:48:26:67 | access to property Text : String | provenance | MaD:6 |
|
||||
| XSS.cs:26:48:26:67 | access to property Text : String | XSS.cs:26:13:26:21 | [post] access to local variable userInput : StringBuilder | provenance | MaD:4 |
|
||||
| XSS.cs:27:32:27:40 | access to local variable userInput : StringBuilder | XSS.cs:27:32:27:51 | call to method ToString | provenance | MaD:5 |
|
||||
| XSS.cs:28:29:28:37 | access to local variable userInput : StringBuilder | XSS.cs:28:29:28:48 | call to method ToString | provenance | MaD:5 |
|
||||
| XSS.cs:29:26:29:34 | access to local variable userInput : StringBuilder | XSS.cs:29:26:29:45 | call to method ToString | provenance | MaD:5 |
|
||||
| XSS.cs:38:20:38:23 | access to local variable name : String | XSS.cs:39:36:39:39 | access to local variable name | provenance | Sink:MaD:2 |
|
||||
| XSS.cs:38:27:38:53 | access to property QueryString : NameValueCollection | XSS.cs:38:20:38:23 | access to local variable name : String | provenance | |
|
||||
| XSS.cs:38:27:38:53 | access to property QueryString : NameValueCollection | XSS.cs:38:27:38:61 | access to indexer : String | provenance | MaD:6 |
|
||||
| XSS.cs:38:27:38:53 | access to property QueryString : NameValueCollection | XSS.cs:38:27:38:61 | access to indexer : String | provenance | MaD:3 |
|
||||
| XSS.cs:38:27:38:61 | access to indexer : String | XSS.cs:38:20:38:23 | access to local variable name : String | provenance | |
|
||||
| XSS.cs:58:20:58:23 | access to local variable name : String | XSS.cs:60:22:60:25 | access to local variable name | provenance | |
|
||||
| XSS.cs:58:27:58:65 | access to property QueryString : NameValueCollection | XSS.cs:58:20:58:23 | access to local variable name : String | provenance | |
|
||||
| XSS.cs:58:27:58:65 | access to property QueryString : NameValueCollection | XSS.cs:58:27:58:73 | access to indexer : String | provenance | MaD:6 |
|
||||
| XSS.cs:58:27:58:65 | access to property QueryString : NameValueCollection | XSS.cs:58:27:58:73 | access to indexer : String | provenance | MaD:3 |
|
||||
| XSS.cs:58:27:58:73 | access to indexer : String | XSS.cs:58:20:58:23 | access to local variable name : String | provenance | |
|
||||
| XSS.cs:76:20:76:23 | access to local variable name : String | XSS.cs:77:36:77:39 | access to local variable name | provenance | |
|
||||
| XSS.cs:76:27:76:53 | access to property QueryString : NameValueCollection | XSS.cs:76:20:76:23 | access to local variable name : String | provenance | |
|
||||
| XSS.cs:76:27:76:53 | access to property QueryString : NameValueCollection | XSS.cs:76:27:76:61 | access to indexer : String | provenance | MaD:6 |
|
||||
| XSS.cs:76:27:76:53 | access to property QueryString : NameValueCollection | XSS.cs:76:27:76:61 | access to indexer : String | provenance | MaD:3 |
|
||||
| XSS.cs:76:27:76:61 | access to indexer : String | XSS.cs:76:20:76:23 | access to local variable name : String | provenance | |
|
||||
| XSS.cs:79:20:79:24 | access to local variable name2 : String | XSS.cs:80:36:80:40 | access to local variable name2 | provenance | |
|
||||
| XSS.cs:79:28:79:42 | access to property Request : HttpRequestBase | XSS.cs:79:20:79:24 | access to local variable name2 : String | provenance | |
|
||||
| XSS.cs:86:20:86:23 | access to local variable name : String | XSS.cs:87:28:87:31 | access to local variable name | provenance | |
|
||||
| XSS.cs:86:20:86:23 | access to local variable name : String | XSS.cs:88:31:88:34 | access to local variable name | provenance | |
|
||||
| XSS.cs:86:27:86:53 | access to property QueryString : NameValueCollection | XSS.cs:86:20:86:23 | access to local variable name : String | provenance | |
|
||||
| XSS.cs:86:27:86:53 | access to property QueryString : NameValueCollection | XSS.cs:86:27:86:61 | access to indexer : String | provenance | MaD:6 |
|
||||
| XSS.cs:86:27:86:53 | access to property QueryString : NameValueCollection | XSS.cs:86:27:86:61 | access to indexer : String | provenance | MaD:3 |
|
||||
| XSS.cs:86:27:86:61 | access to indexer : String | XSS.cs:86:20:86:23 | access to local variable name : String | provenance | |
|
||||
| XSS.cs:95:20:95:23 | access to local variable name : String | XSS.cs:96:31:96:34 | access to local variable name | provenance | Sink:MaD:1 |
|
||||
| XSS.cs:95:27:95:53 | access to property QueryString : NameValueCollection | XSS.cs:95:20:95:23 | access to local variable name : String | provenance | |
|
||||
| XSS.cs:95:27:95:53 | access to property QueryString : NameValueCollection | XSS.cs:95:27:95:61 | access to indexer : String | provenance | MaD:6 |
|
||||
| XSS.cs:95:27:95:53 | access to property QueryString : NameValueCollection | XSS.cs:95:27:95:61 | access to indexer : String | provenance | MaD:3 |
|
||||
| XSS.cs:95:27:95:61 | access to indexer : String | XSS.cs:95:20:95:23 | access to local variable name : String | provenance | |
|
||||
| script.aspx:12:1:12:14 | <%= ... %> | script.aspx:12:1:12:14 | <%= ... %> | provenance | |
|
||||
| script.aspx:16:1:16:34 | <%= ... %> | script.aspx:16:1:16:34 | <%= ... %> | provenance | |
|
||||
| script.aspx:20:1:20:41 | <%= ... %> | script.aspx:20:1:20:41 | <%= ... %> | provenance | |
|
||||
models
|
||||
| 1 | Sink: System.Net.Http; StringContent; false; StringContent; ; ; Argument[0]; js-injection; manual |
|
||||
| 2 | Summary: System.Text; StringBuilder; false; AppendFormat; (System.String,System.Object); ; Argument[1]; Argument[this]; taint; manual |
|
||||
| 3 | Summary: System.Text; StringBuilder; false; ToString; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: System.Web.UI.WebControls; TextBox; false; get_Text; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 5 | Sink: System.Web; HttpResponse; false; Write; ; ; Argument[0]; html-injection; manual |
|
||||
| 6 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 2 | Sink: System.Web; HttpResponse; false; Write; ; ; Argument[0]; html-injection; manual |
|
||||
| 3 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 4 | Summary: System.Text; StringBuilder; false; AppendFormat; (System.String,System.Object); ; Argument[1]; Argument[this]; taint; manual |
|
||||
| 5 | Summary: System.Text; StringBuilder; false; ToString; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: System.Web.UI.WebControls; TextBox; false; get_Text; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| XSS.cs:26:13:26:21 | [post] access to local variable userInput : StringBuilder | semmle.label | [post] access to local variable userInput : StringBuilder |
|
||||
| XSS.cs:26:48:26:62 | access to field categoryTextBox : TextBox | semmle.label | access to field categoryTextBox : TextBox |
|
||||
|
||||
@@ -27,43 +27,43 @@
|
||||
edges
|
||||
| SecondOrderSqlInjection.cs:20:31:20:44 | access to local variable customerReader : SqlDataReader | SecondOrderSqlInjection.cs:25:119:25:132 | access to local variable customerReader : SqlDataReader | provenance | |
|
||||
| SecondOrderSqlInjection.cs:20:48:20:78 | call to method ExecuteReader : SqlDataReader | SecondOrderSqlInjection.cs:20:31:20:44 | access to local variable customerReader : SqlDataReader | provenance | |
|
||||
| SecondOrderSqlInjection.cs:25:119:25:132 | access to local variable customerReader : SqlDataReader | SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString : String | provenance | MaD:20 |
|
||||
| SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString : String | SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | provenance | Sink:MaD:16 |
|
||||
| SecondOrderSqlInjection.cs:25:119:25:132 | access to local variable customerReader : SqlDataReader | SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString : String | provenance | MaD:23 |
|
||||
| SecondOrderSqlInjection.cs:25:119:25:145 | call to method GetString : String | SecondOrderSqlInjection.cs:25:71:25:145 | ... + ... | provenance | Sink:MaD:15 |
|
||||
| SecondOrderSqlInjection.cs:33:31:33:32 | access to local variable fs : FileStream | SecondOrderSqlInjection.cs:35:59:35:60 | access to local variable fs : FileStream | provenance | |
|
||||
| SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | SecondOrderSqlInjection.cs:33:31:33:32 | access to local variable fs : FileStream | provenance | Src:MaD:21 |
|
||||
| SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | SecondOrderSqlInjection.cs:33:31:33:32 | access to local variable fs : FileStream | provenance | Src:MaD:22 |
|
||||
| SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | SecondOrderSqlInjection.cs:33:31:33:32 | access to local variable fs : FileStream | provenance | Src:MaD:19 |
|
||||
| SecondOrderSqlInjection.cs:33:36:33:78 | object creation of type FileStream : FileStream | SecondOrderSqlInjection.cs:33:31:33:32 | access to local variable fs : FileStream | provenance | Src:MaD:18 |
|
||||
| SecondOrderSqlInjection.cs:35:37:35:38 | access to local variable sr : StreamReader | SecondOrderSqlInjection.cs:38:35:38:36 | access to local variable sr : StreamReader | provenance | |
|
||||
| SecondOrderSqlInjection.cs:35:42:35:76 | object creation of type StreamReader : StreamReader | SecondOrderSqlInjection.cs:35:37:35:38 | access to local variable sr : StreamReader | provenance | |
|
||||
| SecondOrderSqlInjection.cs:35:59:35:60 | access to local variable fs : FileStream | SecondOrderSqlInjection.cs:35:42:35:76 | object creation of type StreamReader : StreamReader | provenance | MaD:24 |
|
||||
| SecondOrderSqlInjection.cs:35:59:35:60 | access to local variable fs : FileStream | SecondOrderSqlInjection.cs:35:42:35:76 | object creation of type StreamReader : StreamReader | provenance | MaD:25 |
|
||||
| SecondOrderSqlInjection.cs:38:29:38:31 | access to local variable sql : String | SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String | provenance | |
|
||||
| SecondOrderSqlInjection.cs:38:35:38:36 | access to local variable sr : StreamReader | SecondOrderSqlInjection.cs:38:35:38:47 | call to method ReadLine : String | provenance | MaD:25 |
|
||||
| SecondOrderSqlInjection.cs:38:35:38:36 | access to local variable sr : StreamReader | SecondOrderSqlInjection.cs:38:35:38:47 | call to method ReadLine : String | provenance | MaD:26 |
|
||||
| SecondOrderSqlInjection.cs:38:35:38:47 | call to method ReadLine : String | SecondOrderSqlInjection.cs:38:29:38:31 | access to local variable sql : String | provenance | |
|
||||
| SecondOrderSqlInjection.cs:40:25:40:27 | access to local variable sql : String | SecondOrderSqlInjection.cs:45:57:45:59 | access to local variable sql | provenance | Sink:MaD:10 |
|
||||
| SecondOrderSqlInjection.cs:40:31:40:33 | access to local variable sql : String | SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String | provenance | MaD:28 |
|
||||
| SecondOrderSqlInjection.cs:40:31:40:40 | call to method Trim : String | SecondOrderSqlInjection.cs:40:25:40:27 | access to local variable sql : String | provenance | |
|
||||
| SqlInjection.cs:37:21:37:26 | access to local variable query1 : String | SqlInjection.cs:39:50:39:55 | access to local variable query1 | provenance | Sink:MaD:18 |
|
||||
| SqlInjection.cs:38:21:38:35 | access to field categoryTextBox : TextBox | SqlInjection.cs:38:21:38:40 | access to property Text : String | provenance | MaD:26 |
|
||||
| SqlInjection.cs:37:21:37:26 | access to local variable query1 : String | SqlInjection.cs:39:50:39:55 | access to local variable query1 | provenance | Sink:MaD:17 |
|
||||
| SqlInjection.cs:38:21:38:35 | access to field categoryTextBox : TextBox | SqlInjection.cs:38:21:38:40 | access to property Text : String | provenance | MaD:27 |
|
||||
| SqlInjection.cs:38:21:38:40 | access to property Text : String | SqlInjection.cs:37:21:37:26 | access to local variable query1 : String | provenance | |
|
||||
| SqlInjection.cs:72:25:72:30 | access to local variable query1 : String | SqlInjection.cs:74:56:74:61 | access to local variable query1 | provenance | Sink:MaD:7 |
|
||||
| SqlInjection.cs:72:25:72:30 | access to local variable query1 : String | SqlInjection.cs:75:55:75:60 | access to local variable query1 | provenance | Sink:MaD:8 |
|
||||
| SqlInjection.cs:73:33:73:47 | access to field categoryTextBox : TextBox | SqlInjection.cs:73:33:73:52 | access to property Text : String | provenance | MaD:26 |
|
||||
| SqlInjection.cs:73:33:73:47 | access to field categoryTextBox : TextBox | SqlInjection.cs:73:33:73:52 | access to property Text : String | provenance | MaD:27 |
|
||||
| SqlInjection.cs:73:33:73:52 | access to property Text : String | SqlInjection.cs:72:25:72:30 | access to local variable query1 : String | provenance | |
|
||||
| SqlInjection.cs:86:21:86:26 | access to local variable query1 : String | SqlInjection.cs:88:50:88:55 | access to local variable query1 | provenance | Sink:MaD:18 |
|
||||
| SqlInjection.cs:86:21:86:26 | access to local variable query1 : String | SqlInjection.cs:88:50:88:55 | access to local variable query1 | provenance | Sink:MaD:17 |
|
||||
| SqlInjection.cs:87:21:87:29 | access to property Text : String | SqlInjection.cs:86:21:86:26 | access to local variable query1 : String | provenance | |
|
||||
| SqlInjection.cs:96:21:96:31 | access to local variable queryString : String | SqlInjection.cs:98:42:98:52 | access to local variable queryString | provenance | Sink:MaD:15 |
|
||||
| SqlInjection.cs:96:21:96:31 | access to local variable queryString : String | SqlInjection.cs:98:42:98:52 | access to local variable queryString | provenance | Sink:MaD:14 |
|
||||
| SqlInjection.cs:96:21:96:31 | access to local variable queryString : String | SqlInjection.cs:98:42:98:52 | access to local variable queryString : String | provenance | |
|
||||
| SqlInjection.cs:97:21:97:29 | access to property Text : String | SqlInjection.cs:96:21:96:31 | access to local variable queryString : String | provenance | |
|
||||
| SqlInjection.cs:98:21:98:23 | access to local variable cmd : SqlCommand | SqlInjection.cs:99:50:99:52 | access to local variable cmd | provenance | Sink:MaD:17 |
|
||||
| SqlInjection.cs:98:21:98:23 | access to local variable cmd : SqlCommand | SqlInjection.cs:99:50:99:52 | access to local variable cmd | provenance | Sink:MaD:16 |
|
||||
| SqlInjection.cs:98:27:98:53 | object creation of type SqlCommand : SqlCommand | SqlInjection.cs:98:21:98:23 | access to local variable cmd : SqlCommand | provenance | |
|
||||
| SqlInjection.cs:98:42:98:52 | access to local variable queryString : String | SqlInjection.cs:98:27:98:53 | object creation of type SqlCommand : SqlCommand | provenance | MaD:19 |
|
||||
| SqlInjection.cs:107:21:107:31 | access to local variable queryString : String | SqlInjection.cs:109:42:109:52 | access to local variable queryString | provenance | Sink:MaD:15 |
|
||||
| SqlInjection.cs:98:42:98:52 | access to local variable queryString : String | SqlInjection.cs:98:27:98:53 | object creation of type SqlCommand : SqlCommand | provenance | MaD:22 |
|
||||
| SqlInjection.cs:107:21:107:31 | access to local variable queryString : String | SqlInjection.cs:109:42:109:52 | access to local variable queryString | provenance | Sink:MaD:14 |
|
||||
| SqlInjection.cs:107:21:107:31 | access to local variable queryString : String | SqlInjection.cs:109:42:109:52 | access to local variable queryString : String | provenance | |
|
||||
| SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | SqlInjection.cs:107:21:107:31 | access to local variable queryString : String | provenance | Src:MaD:27 |
|
||||
| SqlInjection.cs:109:21:109:23 | access to local variable cmd : SqlCommand | SqlInjection.cs:110:50:110:52 | access to local variable cmd | provenance | Sink:MaD:17 |
|
||||
| SqlInjection.cs:108:21:108:38 | call to method ReadLine : String | SqlInjection.cs:107:21:107:31 | access to local variable queryString : String | provenance | Src:MaD:20 |
|
||||
| SqlInjection.cs:109:21:109:23 | access to local variable cmd : SqlCommand | SqlInjection.cs:110:50:110:52 | access to local variable cmd | provenance | Sink:MaD:16 |
|
||||
| SqlInjection.cs:109:27:109:53 | object creation of type SqlCommand : SqlCommand | SqlInjection.cs:109:21:109:23 | access to local variable cmd : SqlCommand | provenance | |
|
||||
| SqlInjection.cs:109:42:109:52 | access to local variable queryString : String | SqlInjection.cs:109:27:109:53 | object creation of type SqlCommand : SqlCommand | provenance | MaD:19 |
|
||||
| SqlInjection.cs:109:42:109:52 | access to local variable queryString : String | SqlInjection.cs:109:27:109:53 | object creation of type SqlCommand : SqlCommand | provenance | MaD:22 |
|
||||
| SqlInjection.cs:122:73:122:78 | userId : String | SqlInjection.cs:125:20:125:24 | access to local variable query : String | provenance | |
|
||||
| SqlInjection.cs:125:20:125:24 | access to local variable query : String | SqlInjection.cs:129:53:129:57 | access to local variable query | provenance | Sink:MaD:16 |
|
||||
| SqlInjection.cs:125:20:125:24 | access to local variable query : String | SqlInjection.cs:129:53:129:57 | access to local variable query | provenance | Sink:MaD:15 |
|
||||
| SqlInjectionDapper.cs:20:21:20:25 | access to local variable query : String | SqlInjectionDapper.cs:21:55:21:59 | access to local variable query | provenance | Sink:MaD:4 |
|
||||
| SqlInjectionDapper.cs:20:86:20:94 | access to property Text : String | SqlInjectionDapper.cs:20:21:20:25 | access to local variable query : String | provenance | |
|
||||
| SqlInjectionDapper.cs:29:21:29:25 | access to local variable query : String | SqlInjectionDapper.cs:30:66:30:70 | access to local variable query | provenance | Sink:MaD:5 |
|
||||
@@ -78,24 +78,24 @@ edges
|
||||
| SqlInjectionDapper.cs:66:86:66:94 | access to property Text : String | SqlInjectionDapper.cs:66:21:66:25 | access to local variable query : String | provenance | |
|
||||
| SqlInjectionDapper.cs:75:21:75:25 | access to local variable query : String | SqlInjectionDapper.cs:77:52:77:56 | access to local variable query | provenance | |
|
||||
| SqlInjectionDapper.cs:75:86:75:94 | access to property Text : String | SqlInjectionDapper.cs:75:21:75:25 | access to local variable query : String | provenance | |
|
||||
| SqlInjectionSqlite.cs:19:51:19:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:19:51:19:68 | access to property Text | provenance | MaD:26 Sink:MaD:9 |
|
||||
| SqlInjectionSqlite.cs:19:51:19:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:19:51:19:68 | access to property Text | provenance | MaD:27 Sink:MaD:9 |
|
||||
| SqlInjectionSqlite.cs:24:17:24:19 | access to local variable cmd : SQLiteCommand | SqlInjectionSqlite.cs:44:45:44:47 | access to local variable cmd | provenance | Sink:MaD:11 |
|
||||
| SqlInjectionSqlite.cs:24:23:24:71 | object creation of type SQLiteCommand : SQLiteCommand | SqlInjectionSqlite.cs:24:17:24:19 | access to local variable cmd : SQLiteCommand | provenance | |
|
||||
| SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:24:41:24:58 | access to property Text | provenance | MaD:26 Sink:MaD:10 |
|
||||
| SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:24:41:24:58 | access to property Text : String | provenance | MaD:26 |
|
||||
| SqlInjectionSqlite.cs:24:41:24:58 | access to property Text : String | SqlInjectionSqlite.cs:24:23:24:71 | object creation of type SQLiteCommand : SQLiteCommand | provenance | MaD:14 |
|
||||
| SqlInjectionSqlite.cs:33:49:33:61 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:33:49:33:66 | access to property Text | provenance | MaD:26 Sink:MaD:12 |
|
||||
| SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:39:45:39:62 | access to property Text | provenance | MaD:26 Sink:MaD:13 |
|
||||
| SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:24:41:24:58 | access to property Text | provenance | MaD:27 Sink:MaD:10 |
|
||||
| SqlInjectionSqlite.cs:24:41:24:53 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:24:41:24:58 | access to property Text : String | provenance | MaD:27 |
|
||||
| SqlInjectionSqlite.cs:24:41:24:58 | access to property Text : String | SqlInjectionSqlite.cs:24:23:24:71 | object creation of type SQLiteCommand : SQLiteCommand | provenance | MaD:21 |
|
||||
| SqlInjectionSqlite.cs:33:49:33:61 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:33:49:33:66 | access to property Text | provenance | MaD:27 Sink:MaD:12 |
|
||||
| SqlInjectionSqlite.cs:39:45:39:57 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:39:45:39:62 | access to property Text | provenance | MaD:27 Sink:MaD:13 |
|
||||
| SqlInjectionSqlite.cs:49:31:49:32 | access to local variable fs : FileStream | SqlInjectionSqlite.cs:51:59:51:60 | access to local variable fs : FileStream | provenance | |
|
||||
| SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | SqlInjectionSqlite.cs:49:31:49:32 | access to local variable fs : FileStream | provenance | Src:MaD:21 |
|
||||
| SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | SqlInjectionSqlite.cs:49:31:49:32 | access to local variable fs : FileStream | provenance | Src:MaD:22 |
|
||||
| SqlInjectionSqlite.cs:49:51:49:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:49:51:49:68 | access to property Text : String | provenance | MaD:26 |
|
||||
| SqlInjectionSqlite.cs:49:51:49:68 | access to property Text : String | SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | provenance | MaD:23 |
|
||||
| SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | SqlInjectionSqlite.cs:49:31:49:32 | access to local variable fs : FileStream | provenance | Src:MaD:19 |
|
||||
| SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | SqlInjectionSqlite.cs:49:31:49:32 | access to local variable fs : FileStream | provenance | Src:MaD:18 |
|
||||
| SqlInjectionSqlite.cs:49:51:49:63 | access to field untrustedData : TextBox | SqlInjectionSqlite.cs:49:51:49:68 | access to property Text : String | provenance | MaD:27 |
|
||||
| SqlInjectionSqlite.cs:49:51:49:68 | access to property Text : String | SqlInjectionSqlite.cs:49:36:49:84 | object creation of type FileStream : FileStream | provenance | MaD:24 |
|
||||
| SqlInjectionSqlite.cs:51:37:51:38 | access to local variable sr : StreamReader | SqlInjectionSqlite.cs:54:35:54:36 | access to local variable sr : StreamReader | provenance | |
|
||||
| SqlInjectionSqlite.cs:51:42:51:76 | object creation of type StreamReader : StreamReader | SqlInjectionSqlite.cs:51:37:51:38 | access to local variable sr : StreamReader | provenance | |
|
||||
| SqlInjectionSqlite.cs:51:59:51:60 | access to local variable fs : FileStream | SqlInjectionSqlite.cs:51:42:51:76 | object creation of type StreamReader : StreamReader | provenance | MaD:24 |
|
||||
| SqlInjectionSqlite.cs:51:59:51:60 | access to local variable fs : FileStream | SqlInjectionSqlite.cs:51:42:51:76 | object creation of type StreamReader : StreamReader | provenance | MaD:25 |
|
||||
| SqlInjectionSqlite.cs:54:29:54:31 | access to local variable sql : String | SqlInjectionSqlite.cs:56:31:56:33 | access to local variable sql : String | provenance | |
|
||||
| SqlInjectionSqlite.cs:54:35:54:36 | access to local variable sr : StreamReader | SqlInjectionSqlite.cs:54:35:54:47 | call to method ReadLine : String | provenance | MaD:25 |
|
||||
| SqlInjectionSqlite.cs:54:35:54:36 | access to local variable sr : StreamReader | SqlInjectionSqlite.cs:54:35:54:47 | call to method ReadLine : String | provenance | MaD:26 |
|
||||
| SqlInjectionSqlite.cs:54:35:54:47 | call to method ReadLine : String | SqlInjectionSqlite.cs:54:29:54:31 | access to local variable sql : String | provenance | |
|
||||
| SqlInjectionSqlite.cs:56:25:56:27 | access to local variable sql : String | SqlInjectionSqlite.cs:61:53:61:55 | access to local variable sql | provenance | Sink:MaD:10 |
|
||||
| SqlInjectionSqlite.cs:56:31:56:33 | access to local variable sql : String | SqlInjectionSqlite.cs:56:31:56:40 | call to method Trim : String | provenance | MaD:28 |
|
||||
@@ -114,20 +114,20 @@ models
|
||||
| 11 | Sink: System.Data.SQLite; SQLiteDataAdapter; false; SQLiteDataAdapter; (System.Data.SQLite.SQLiteCommand); ; Argument[0]; sql-injection; manual |
|
||||
| 12 | Sink: System.Data.SQLite; SQLiteDataAdapter; false; SQLiteDataAdapter; (System.String,System.Data.SQLite.SQLiteConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 13 | Sink: System.Data.SQLite; SQLiteDataAdapter; false; SQLiteDataAdapter; (System.String,System.String); ; Argument[0]; sql-injection; manual |
|
||||
| 14 | Summary: System.Data.SQLite; SQLiteCommand; false; SQLiteCommand; (System.String,System.Data.SQLite.SQLiteConnection); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 15 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String); ; Argument[0]; sql-injection; manual |
|
||||
| 16 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 17 | Sink: System.Data.SqlClient; SqlDataAdapter; false; SqlDataAdapter; (System.Data.SqlClient.SqlCommand); ; Argument[0]; sql-injection; manual |
|
||||
| 18 | Sink: System.Data.SqlClient; SqlDataAdapter; false; SqlDataAdapter; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 19 | Summary: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 20 | Summary: System.Data; IDataRecord; true; GetString; (System.Int32); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 21 | Source: System.IO; FileStream; false; FileStream; ; ; Argument[this]; file; manual |
|
||||
| 22 | Source: System.IO; FileStream; false; FileStream; ; ; Argument[this]; file-write; manual |
|
||||
| 23 | Summary: System.IO; FileStream; false; FileStream; (System.String,System.IO.FileMode); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 24 | Summary: System.IO; StreamReader; false; StreamReader; (System.IO.Stream,System.Text.Encoding); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 25 | Summary: System.IO; TextReader; true; ReadLine; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 26 | Summary: System.Web.UI.WebControls; TextBox; false; get_Text; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 27 | Source: System; Console; false; ReadLine; ; ; ReturnValue; stdin; manual |
|
||||
| 14 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String); ; Argument[0]; sql-injection; manual |
|
||||
| 15 | Sink: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 16 | Sink: System.Data.SqlClient; SqlDataAdapter; false; SqlDataAdapter; (System.Data.SqlClient.SqlCommand); ; Argument[0]; sql-injection; manual |
|
||||
| 17 | Sink: System.Data.SqlClient; SqlDataAdapter; false; SqlDataAdapter; (System.String,System.Data.SqlClient.SqlConnection); ; Argument[0]; sql-injection; manual |
|
||||
| 18 | Source: System.IO; FileStream; false; FileStream; ; ; Argument[this]; file-write; manual |
|
||||
| 19 | Source: System.IO; FileStream; false; FileStream; ; ; Argument[this]; file; manual |
|
||||
| 20 | Source: System; Console; false; ReadLine; ; ; ReturnValue; stdin; manual |
|
||||
| 21 | Summary: System.Data.SQLite; SQLiteCommand; false; SQLiteCommand; (System.String,System.Data.SQLite.SQLiteConnection); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 22 | Summary: System.Data.SqlClient; SqlCommand; false; SqlCommand; (System.String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 23 | Summary: System.Data; IDataRecord; true; GetString; (System.Int32); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 24 | Summary: System.IO; FileStream; false; FileStream; (System.String,System.IO.FileMode); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 25 | Summary: System.IO; StreamReader; false; StreamReader; (System.IO.Stream,System.Text.Encoding); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 26 | Summary: System.IO; TextReader; true; ReadLine; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 27 | Summary: System.Web.UI.WebControls; TextBox; false; get_Text; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 28 | Summary: System; String; false; Trim; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| SecondOrderSqlInjection.cs:20:31:20:44 | access to local variable customerReader : SqlDataReader | semmle.label | access to local variable customerReader : SqlDataReader |
|
||||
|
||||
@@ -14,15 +14,15 @@ edges
|
||||
| LDAPInjection.cs:12:16:12:23 | access to local variable userName : String | LDAPInjection.cs:28:48:28:70 | ... + ... | provenance | |
|
||||
| LDAPInjection.cs:12:16:12:23 | access to local variable userName : String | LDAPInjection.cs:30:20:30:42 | ... + ... | provenance | |
|
||||
| LDAPInjection.cs:12:27:12:49 | access to property QueryString : NameValueCollection | LDAPInjection.cs:12:16:12:23 | access to local variable userName : String | provenance | |
|
||||
| LDAPInjection.cs:12:27:12:49 | access to property QueryString : NameValueCollection | LDAPInjection.cs:12:27:12:61 | access to indexer : String | provenance | MaD:2 |
|
||||
| LDAPInjection.cs:12:27:12:49 | access to property QueryString : NameValueCollection | LDAPInjection.cs:12:27:12:61 | access to indexer : String | provenance | MaD:1 |
|
||||
| LDAPInjection.cs:12:27:12:61 | access to indexer : String | LDAPInjection.cs:12:16:12:23 | access to local variable userName : String | provenance | |
|
||||
| LDAPInjection.cs:36:27:36:40 | access to local variable customerReader : SqlDataReader | LDAPInjection.cs:41:80:41:93 | access to local variable customerReader : SqlDataReader | provenance | |
|
||||
| LDAPInjection.cs:36:44:36:74 | call to method ExecuteReader : SqlDataReader | LDAPInjection.cs:36:27:36:40 | access to local variable customerReader : SqlDataReader | provenance | |
|
||||
| LDAPInjection.cs:41:80:41:93 | access to local variable customerReader : SqlDataReader | LDAPInjection.cs:41:80:41:106 | call to method GetString : String | provenance | MaD:1 |
|
||||
| LDAPInjection.cs:41:80:41:93 | access to local variable customerReader : SqlDataReader | LDAPInjection.cs:41:80:41:106 | call to method GetString : String | provenance | MaD:2 |
|
||||
| LDAPInjection.cs:41:80:41:106 | call to method GetString : String | LDAPInjection.cs:41:63:41:106 | ... + ... | provenance | |
|
||||
models
|
||||
| 1 | Summary: System.Data; IDataRecord; true; GetString; (System.Int32); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 1 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 2 | Summary: System.Data; IDataRecord; true; GetString; (System.Int32); ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| LDAPInjection.cs:12:16:12:23 | access to local variable userName : String | semmle.label | access to local variable userName : String |
|
||||
| LDAPInjection.cs:12:27:12:49 | access to property QueryString : NameValueCollection | semmle.label | access to property QueryString : NameValueCollection |
|
||||
|
||||
@@ -10,15 +10,15 @@ edges
|
||||
| MissingXMLValidation.cs:12:16:12:30 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:27:43:27:57 | access to local variable userProvidedXml : String | provenance | |
|
||||
| MissingXMLValidation.cs:12:16:12:30 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:45:43:45:57 | access to local variable userProvidedXml : String | provenance | |
|
||||
| MissingXMLValidation.cs:12:34:12:56 | access to property QueryString : NameValueCollection | MissingXMLValidation.cs:12:16:12:30 | access to local variable userProvidedXml : String | provenance | |
|
||||
| MissingXMLValidation.cs:12:34:12:56 | access to property QueryString : NameValueCollection | MissingXMLValidation.cs:12:34:12:75 | access to indexer : String | provenance | MaD:2 |
|
||||
| MissingXMLValidation.cs:12:34:12:56 | access to property QueryString : NameValueCollection | MissingXMLValidation.cs:12:34:12:75 | access to indexer : String | provenance | MaD:1 |
|
||||
| MissingXMLValidation.cs:12:34:12:75 | access to indexer : String | MissingXMLValidation.cs:12:16:12:30 | access to local variable userProvidedXml : String | provenance | |
|
||||
| MissingXMLValidation.cs:16:43:16:57 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:16:26:16:58 | object creation of type StringReader | provenance | MaD:1 |
|
||||
| MissingXMLValidation.cs:21:43:21:57 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:21:26:21:58 | object creation of type StringReader | provenance | MaD:1 |
|
||||
| MissingXMLValidation.cs:27:43:27:57 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:27:26:27:58 | object creation of type StringReader | provenance | MaD:1 |
|
||||
| MissingXMLValidation.cs:45:43:45:57 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:45:26:45:58 | object creation of type StringReader | provenance | MaD:1 |
|
||||
| MissingXMLValidation.cs:16:43:16:57 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:16:26:16:58 | object creation of type StringReader | provenance | MaD:2 |
|
||||
| MissingXMLValidation.cs:21:43:21:57 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:21:26:21:58 | object creation of type StringReader | provenance | MaD:2 |
|
||||
| MissingXMLValidation.cs:27:43:27:57 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:27:26:27:58 | object creation of type StringReader | provenance | MaD:2 |
|
||||
| MissingXMLValidation.cs:45:43:45:57 | access to local variable userProvidedXml : String | MissingXMLValidation.cs:45:26:45:58 | object creation of type StringReader | provenance | MaD:2 |
|
||||
models
|
||||
| 1 | Summary: System.IO; StringReader; false; StringReader; (System.String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 2 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 1 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 2 | Summary: System.IO; StringReader; false; StringReader; (System.String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
nodes
|
||||
| MissingXMLValidation.cs:12:16:12:30 | access to local variable userProvidedXml : String | semmle.label | access to local variable userProvidedXml : String |
|
||||
| MissingXMLValidation.cs:12:34:12:56 | access to property QueryString : NameValueCollection | semmle.label | access to property QueryString : NameValueCollection |
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
| ExposureInTransmittedData.cs:32:24:32:52 | ... + ... | ExposureInTransmittedData.cs:30:17:30:36 | call to method GetField : String | ExposureInTransmittedData.cs:32:24:32:52 | ... + ... | This data transmitted to the user depends on $@. | ExposureInTransmittedData.cs:30:17:30:36 | call to method GetField | sensitive information |
|
||||
| ExposureInTransmittedData.cs:33:27:33:27 | access to local variable p | ExposureInTransmittedData.cs:30:17:30:36 | call to method GetField : String | ExposureInTransmittedData.cs:33:27:33:27 | access to local variable p | This data transmitted to the user depends on $@. | ExposureInTransmittedData.cs:30:17:30:36 | call to method GetField | sensitive information |
|
||||
edges
|
||||
| ExposureInTransmittedData.cs:24:32:24:38 | access to property Data : IDictionary | ExposureInTransmittedData.cs:24:32:24:50 | access to indexer | provenance | MaD:1 Sink:MaD:2 |
|
||||
| ExposureInTransmittedData.cs:24:32:24:38 | access to property Data : IDictionary | ExposureInTransmittedData.cs:24:32:24:50 | access to indexer | provenance | Sink:MaD:2 |
|
||||
| ExposureInTransmittedData.cs:24:32:24:38 | access to property Data : IDictionary | ExposureInTransmittedData.cs:24:32:24:50 | access to indexer | provenance | MaD:2 Sink:MaD:1 |
|
||||
| ExposureInTransmittedData.cs:24:32:24:38 | access to property Data : IDictionary | ExposureInTransmittedData.cs:24:32:24:50 | access to indexer | provenance | Sink:MaD:1 |
|
||||
| ExposureInTransmittedData.cs:30:13:30:13 | access to local variable p : String | ExposureInTransmittedData.cs:31:53:31:53 | access to local variable p | provenance | |
|
||||
| ExposureInTransmittedData.cs:30:13:30:13 | access to local variable p : String | ExposureInTransmittedData.cs:31:56:31:56 | access to local variable p | provenance | |
|
||||
| ExposureInTransmittedData.cs:30:13:30:13 | access to local variable p : String | ExposureInTransmittedData.cs:32:24:32:52 | ... + ... | provenance | |
|
||||
| ExposureInTransmittedData.cs:30:13:30:13 | access to local variable p : String | ExposureInTransmittedData.cs:33:27:33:27 | access to local variable p | provenance | |
|
||||
| ExposureInTransmittedData.cs:30:17:30:36 | call to method GetField : String | ExposureInTransmittedData.cs:30:13:30:13 | access to local variable p : String | provenance | |
|
||||
models
|
||||
| 1 | Summary: System.ComponentModel; PropertyDescriptorCollection; false; get_Item; (System.Object); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 2 | Sink: System.Web; HttpResponse; false; Write; ; ; Argument[0]; html-injection; manual |
|
||||
| 1 | Sink: System.Web; HttpResponse; false; Write; ; ; Argument[0]; html-injection; manual |
|
||||
| 2 | Summary: System.ComponentModel; PropertyDescriptorCollection; false; get_Item; (System.Object); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
nodes
|
||||
| ExposureInTransmittedData.cs:14:32:14:39 | access to local variable password | semmle.label | access to local variable password |
|
||||
| ExposureInTransmittedData.cs:18:32:18:44 | call to method ToString | semmle.label | call to method ToString |
|
||||
|
||||
@@ -19,24 +19,24 @@
|
||||
| UrlRedirectCore.cs:56:31:56:35 | access to parameter value | UrlRedirectCore.cs:45:51:45:55 | value : String | UrlRedirectCore.cs:56:31:56:35 | access to parameter value | Untrusted URL redirection due to $@. | UrlRedirectCore.cs:45:51:45:55 | value | user-provided value |
|
||||
edges
|
||||
| UrlRedirect2.cs:14:31:14:53 | access to property QueryString : NameValueCollection | UrlRedirect2.cs:14:31:14:61 | access to indexer | provenance | |
|
||||
| UrlRedirect2.cs:14:31:14:53 | access to property QueryString : NameValueCollection | UrlRedirect2.cs:14:31:14:61 | access to indexer | provenance | MaD:5 |
|
||||
| UrlRedirect2.cs:14:31:14:53 | access to property QueryString : NameValueCollection | UrlRedirect2.cs:14:31:14:61 | access to indexer | provenance | MaD:1 |
|
||||
| UrlRedirect.cs:13:31:13:53 | access to property QueryString : NameValueCollection | UrlRedirect.cs:13:31:13:61 | access to indexer | provenance | |
|
||||
| UrlRedirect.cs:13:31:13:53 | access to property QueryString : NameValueCollection | UrlRedirect.cs:13:31:13:61 | access to indexer | provenance | MaD:5 |
|
||||
| UrlRedirect.cs:13:31:13:53 | access to property QueryString : NameValueCollection | UrlRedirect.cs:13:31:13:61 | access to indexer | provenance | MaD:1 |
|
||||
| UrlRedirect.cs:23:16:23:18 | access to local variable url : String | UrlRedirect.cs:48:29:48:31 | access to local variable url | provenance | |
|
||||
| UrlRedirect.cs:23:16:23:18 | access to local variable url : String | UrlRedirect.cs:64:31:64:52 | $"..." | provenance | |
|
||||
| UrlRedirect.cs:23:16:23:18 | access to local variable url : String | UrlRedirect.cs:70:66:70:68 | access to local variable url : String | provenance | |
|
||||
| UrlRedirect.cs:23:16:23:18 | access to local variable url : String | UrlRedirect.cs:76:69:76:71 | access to local variable url : String | provenance | |
|
||||
| UrlRedirect.cs:23:16:23:18 | access to local variable url : String | UrlRedirect.cs:76:74:76:76 | access to local variable url : String | provenance | |
|
||||
| UrlRedirect.cs:23:22:23:44 | access to property QueryString : NameValueCollection | UrlRedirect.cs:23:16:23:18 | access to local variable url : String | provenance | |
|
||||
| UrlRedirect.cs:23:22:23:44 | access to property QueryString : NameValueCollection | UrlRedirect.cs:23:22:23:52 | access to indexer : String | provenance | MaD:5 |
|
||||
| UrlRedirect.cs:23:22:23:44 | access to property QueryString : NameValueCollection | UrlRedirect.cs:23:22:23:52 | access to indexer : String | provenance | MaD:1 |
|
||||
| UrlRedirect.cs:23:22:23:52 | access to indexer : String | UrlRedirect.cs:23:16:23:18 | access to local variable url : String | provenance | |
|
||||
| UrlRedirect.cs:38:44:38:66 | access to property QueryString : NameValueCollection | UrlRedirect.cs:38:44:38:74 | access to indexer | provenance | |
|
||||
| UrlRedirect.cs:38:44:38:66 | access to property QueryString : NameValueCollection | UrlRedirect.cs:38:44:38:74 | access to indexer | provenance | MaD:5 |
|
||||
| UrlRedirect.cs:38:44:38:66 | access to property QueryString : NameValueCollection | UrlRedirect.cs:38:44:38:74 | access to indexer | provenance | MaD:1 |
|
||||
| UrlRedirect.cs:39:47:39:69 | access to property QueryString : NameValueCollection | UrlRedirect.cs:39:47:39:77 | access to indexer | provenance | |
|
||||
| UrlRedirect.cs:39:47:39:69 | access to property QueryString : NameValueCollection | UrlRedirect.cs:39:47:39:77 | access to indexer | provenance | MaD:5 |
|
||||
| UrlRedirect.cs:70:66:70:68 | access to local variable url : String | UrlRedirect.cs:70:31:70:69 | call to method Format | provenance | MaD:1 |
|
||||
| UrlRedirect.cs:76:69:76:71 | access to local variable url : String | UrlRedirect.cs:76:31:76:77 | call to method Format | provenance | MaD:2 |
|
||||
| UrlRedirect.cs:76:74:76:76 | access to local variable url : String | UrlRedirect.cs:76:31:76:77 | call to method Format | provenance | MaD:3 |
|
||||
| UrlRedirect.cs:39:47:39:69 | access to property QueryString : NameValueCollection | UrlRedirect.cs:39:47:39:77 | access to indexer | provenance | MaD:1 |
|
||||
| UrlRedirect.cs:70:66:70:68 | access to local variable url : String | UrlRedirect.cs:70:31:70:69 | call to method Format | provenance | MaD:2 |
|
||||
| UrlRedirect.cs:76:69:76:71 | access to local variable url : String | UrlRedirect.cs:76:31:76:77 | call to method Format | provenance | MaD:3 |
|
||||
| UrlRedirect.cs:76:74:76:76 | access to local variable url : String | UrlRedirect.cs:76:31:76:77 | call to method Format | provenance | MaD:4 |
|
||||
| UrlRedirectCore.cs:13:44:13:48 | value : String | UrlRedirectCore.cs:16:22:16:26 | access to parameter value | provenance | |
|
||||
| UrlRedirectCore.cs:13:44:13:48 | value : String | UrlRedirectCore.cs:19:44:19:48 | call to operator implicit conversion | provenance | |
|
||||
| UrlRedirectCore.cs:13:44:13:48 | value : String | UrlRedirectCore.cs:25:46:25:50 | call to operator implicit conversion | provenance | |
|
||||
@@ -47,13 +47,13 @@ edges
|
||||
| UrlRedirectCore.cs:45:51:45:55 | value : String | UrlRedirectCore.cs:48:28:48:32 | access to parameter value | provenance | |
|
||||
| UrlRedirectCore.cs:45:51:45:55 | value : String | UrlRedirectCore.cs:53:40:53:44 | access to parameter value : String | provenance | |
|
||||
| UrlRedirectCore.cs:45:51:45:55 | value : String | UrlRedirectCore.cs:56:31:56:35 | access to parameter value | provenance | |
|
||||
| UrlRedirectCore.cs:53:40:53:44 | access to parameter value : String | UrlRedirectCore.cs:53:32:53:45 | object creation of type Uri | provenance | MaD:4 |
|
||||
| UrlRedirectCore.cs:53:40:53:44 | access to parameter value : String | UrlRedirectCore.cs:53:32:53:45 | object creation of type Uri | provenance | MaD:5 |
|
||||
models
|
||||
| 1 | Summary: System; String; false; Format; (System.String,System.Object); ; Argument[1]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: System; String; false; Format; (System.String,System.Object,System.Object); ; Argument[1]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: System; String; false; Format; (System.String,System.Object,System.Object); ; Argument[2]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: System; Uri; false; Uri; (System.String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 5 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 1 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 2 | Summary: System; String; false; Format; (System.String,System.Object); ; Argument[1]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: System; String; false; Format; (System.String,System.Object,System.Object); ; Argument[1]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: System; String; false; Format; (System.String,System.Object,System.Object); ; Argument[2]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: System; Uri; false; Uri; (System.String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
nodes
|
||||
| UrlRedirect2.cs:14:31:14:53 | access to property QueryString : NameValueCollection | semmle.label | access to property QueryString : NameValueCollection |
|
||||
| UrlRedirect2.cs:14:31:14:61 | access to indexer | semmle.label | access to indexer |
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
edges
|
||||
| XPathInjection.cs:11:16:11:23 | access to local variable userName : String | XPathInjection.cs:14:13:14:13 | access to local variable s : String | provenance | |
|
||||
| XPathInjection.cs:11:27:11:49 | access to property QueryString : NameValueCollection | XPathInjection.cs:11:16:11:23 | access to local variable userName : String | provenance | |
|
||||
| XPathInjection.cs:11:27:11:49 | access to property QueryString : NameValueCollection | XPathInjection.cs:11:27:11:61 | access to indexer : String | provenance | MaD:2 |
|
||||
| XPathInjection.cs:11:27:11:49 | access to property QueryString : NameValueCollection | XPathInjection.cs:11:27:11:61 | access to indexer : String | provenance | MaD:1 |
|
||||
| XPathInjection.cs:11:27:11:61 | access to indexer : String | XPathInjection.cs:11:16:11:23 | access to local variable userName : String | provenance | |
|
||||
| XPathInjection.cs:12:16:12:23 | access to local variable password : String | XPathInjection.cs:14:13:14:13 | access to local variable s : String | provenance | |
|
||||
| XPathInjection.cs:12:27:12:49 | access to property QueryString : NameValueCollection | XPathInjection.cs:12:16:12:23 | access to local variable password : String | provenance | |
|
||||
| XPathInjection.cs:12:27:12:49 | access to property QueryString : NameValueCollection | XPathInjection.cs:12:27:12:61 | access to indexer : String | provenance | MaD:2 |
|
||||
| XPathInjection.cs:12:27:12:49 | access to property QueryString : NameValueCollection | XPathInjection.cs:12:27:12:61 | access to indexer : String | provenance | MaD:1 |
|
||||
| XPathInjection.cs:12:27:12:61 | access to indexer : String | XPathInjection.cs:12:16:12:23 | access to local variable password : String | provenance | |
|
||||
| XPathInjection.cs:14:13:14:13 | access to local variable s : String | XPathInjection.cs:17:33:17:33 | access to local variable s | provenance | |
|
||||
| XPathInjection.cs:14:13:14:13 | access to local variable s : String | XPathInjection.cs:20:29:20:29 | access to local variable s | provenance | |
|
||||
@@ -36,15 +36,15 @@ edges
|
||||
| XPathInjection.cs:74:44:74:74 | call to method ExecuteReader : SqlDataReader | XPathInjection.cs:74:27:74:40 | access to local variable customerReader : SqlDataReader | provenance | |
|
||||
| XPathInjection.cs:78:24:78:31 | access to local variable userName : String | XPathInjection.cs:81:41:81:144 | ... + ... | provenance | |
|
||||
| XPathInjection.cs:78:24:78:31 | access to local variable userName : String | XPathInjection.cs:84:37:84:140 | ... + ... | provenance | |
|
||||
| XPathInjection.cs:78:35:78:48 | access to local variable customerReader : SqlDataReader | XPathInjection.cs:78:35:78:61 | call to method GetString : String | provenance | MaD:1 |
|
||||
| XPathInjection.cs:78:35:78:48 | access to local variable customerReader : SqlDataReader | XPathInjection.cs:78:35:78:61 | call to method GetString : String | provenance | MaD:2 |
|
||||
| XPathInjection.cs:78:35:78:61 | call to method GetString : String | XPathInjection.cs:78:24:78:31 | access to local variable userName : String | provenance | |
|
||||
| XPathInjection.cs:79:24:79:31 | access to local variable password : String | XPathInjection.cs:81:41:81:144 | ... + ... | provenance | |
|
||||
| XPathInjection.cs:79:24:79:31 | access to local variable password : String | XPathInjection.cs:84:37:84:140 | ... + ... | provenance | |
|
||||
| XPathInjection.cs:79:35:79:48 | access to local variable customerReader : SqlDataReader | XPathInjection.cs:79:35:79:61 | call to method GetString : String | provenance | MaD:1 |
|
||||
| XPathInjection.cs:79:35:79:48 | access to local variable customerReader : SqlDataReader | XPathInjection.cs:79:35:79:61 | call to method GetString : String | provenance | MaD:2 |
|
||||
| XPathInjection.cs:79:35:79:61 | call to method GetString : String | XPathInjection.cs:79:24:79:31 | access to local variable password : String | provenance | |
|
||||
models
|
||||
| 1 | Summary: System.Data; IDataRecord; true; GetString; (System.Int32); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 1 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 2 | Summary: System.Data; IDataRecord; true; GetString; (System.Int32); ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| XPathInjection.cs:11:16:11:23 | access to local variable userName : String | semmle.label | access to local variable userName : String |
|
||||
| XPathInjection.cs:11:27:11:49 | access to property QueryString : NameValueCollection | semmle.label | access to property QueryString : NameValueCollection |
|
||||
|
||||
@@ -1,33 +1,42 @@
|
||||
models
|
||||
| 1 | Summary: System.Net; IPHostEntry; false; get_HostName; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: System.Web; HttpCookie; false; get_Value; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
#select
|
||||
| ConditionalBypass.cs:16:13:16:30 | ... == ... | ConditionalBypass.cs:12:26:12:48 | access to property QueryString : NameValueCollection | ConditionalBypass.cs:16:13:16:30 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:17:13:17:33 | call to method login | action | ConditionalBypass.cs:12:26:12:48 | access to property QueryString | user-provided value |
|
||||
| ConditionalBypass.cs:22:13:22:45 | call to method Equals | ConditionalBypass.cs:19:34:19:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:22:13:22:45 | call to method Equals | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:23:13:23:33 | call to method login | action | ConditionalBypass.cs:19:34:19:52 | access to property Cookies | user-provided value |
|
||||
| ConditionalBypass.cs:27:13:27:40 | ... == ... | ConditionalBypass.cs:19:34:19:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:27:13:27:40 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:29:13:29:33 | call to method login | action | ConditionalBypass.cs:19:34:19:52 | access to property Cookies | user-provided value |
|
||||
| ConditionalBypass.cs:27:13:27:40 | ... == ... | ConditionalBypass.cs:19:34:19:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:27:13:27:40 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:33:13:33:39 | call to method reCheckAuth | action | ConditionalBypass.cs:19:34:19:52 | access to property Cookies | user-provided value |
|
||||
| ConditionalBypass.cs:44:13:44:46 | ... == ... | ConditionalBypass.cs:42:32:42:66 | call to method GetHostByAddress : IPHostEntry | ConditionalBypass.cs:44:13:44:46 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:46:13:46:33 | call to method login | action | ConditionalBypass.cs:42:32:42:66 | call to method GetHostByAddress | user-provided value |
|
||||
| ConditionalBypass.cs:49:13:49:29 | access to property HostName | ConditionalBypass.cs:42:32:42:66 | call to method GetHostByAddress : IPHostEntry | ConditionalBypass.cs:49:13:49:29 | access to property HostName | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:51:13:51:33 | call to method login | action | ConditionalBypass.cs:42:32:42:66 | call to method GetHostByAddress | user-provided value |
|
||||
| ConditionalBypass.cs:72:13:72:40 | ... == ... | ConditionalBypass.cs:70:34:70:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:72:13:72:40 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:73:13:73:33 | call to method login | action | ConditionalBypass.cs:70:34:70:52 | access to property Cookies | user-provided value |
|
||||
| ConditionalBypass.cs:84:13:84:40 | ... == ... | ConditionalBypass.cs:83:34:83:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:84:13:84:40 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:85:13:85:33 | call to method login | action | ConditionalBypass.cs:83:34:83:52 | access to property Cookies | user-provided value |
|
||||
edges
|
||||
| ConditionalBypass.cs:12:16:12:22 | access to local variable isAdmin : String | ConditionalBypass.cs:16:13:16:30 | ... == ... | provenance | |
|
||||
| ConditionalBypass.cs:12:26:12:48 | access to property QueryString : NameValueCollection | ConditionalBypass.cs:12:16:12:22 | access to local variable isAdmin : String | provenance | |
|
||||
| ConditionalBypass.cs:12:26:12:48 | access to property QueryString : NameValueCollection | ConditionalBypass.cs:12:26:12:59 | access to indexer : String | provenance | MaD:3 |
|
||||
| ConditionalBypass.cs:12:26:12:48 | access to property QueryString : NameValueCollection | ConditionalBypass.cs:12:26:12:59 | access to indexer : String | provenance | MaD:1 |
|
||||
| ConditionalBypass.cs:12:26:12:59 | access to indexer : String | ConditionalBypass.cs:12:16:12:22 | access to local variable isAdmin : String | provenance | |
|
||||
| ConditionalBypass.cs:19:20:19:30 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:22:13:22:23 | access to local variable adminCookie : HttpCookie | provenance | |
|
||||
| ConditionalBypass.cs:19:20:19:30 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:27:13:27:23 | access to local variable adminCookie : HttpCookie | provenance | |
|
||||
| ConditionalBypass.cs:19:34:19:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:19:20:19:30 | access to local variable adminCookie : HttpCookie | provenance | |
|
||||
| ConditionalBypass.cs:22:13:22:23 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:22:13:22:29 | access to property Value : String | provenance | MaD:2 |
|
||||
| ConditionalBypass.cs:22:13:22:23 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:22:13:22:29 | access to property Value : String | provenance | MaD:3 |
|
||||
| ConditionalBypass.cs:22:13:22:29 | access to property Value : String | ConditionalBypass.cs:22:13:22:45 | call to method Equals | provenance | |
|
||||
| ConditionalBypass.cs:27:13:27:23 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:27:13:27:29 | access to property Value : String | provenance | MaD:2 |
|
||||
| ConditionalBypass.cs:27:13:27:23 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:27:13:27:29 | access to property Value : String | provenance | MaD:3 |
|
||||
| ConditionalBypass.cs:27:13:27:29 | access to property Value : String | ConditionalBypass.cs:27:13:27:40 | ... == ... | provenance | |
|
||||
| ConditionalBypass.cs:42:21:42:28 | access to local variable hostInfo : IPHostEntry | ConditionalBypass.cs:44:13:44:20 | access to local variable hostInfo : IPHostEntry | provenance | |
|
||||
| ConditionalBypass.cs:42:21:42:28 | access to local variable hostInfo : IPHostEntry | ConditionalBypass.cs:49:13:49:20 | access to local variable hostInfo : IPHostEntry | provenance | |
|
||||
| ConditionalBypass.cs:42:32:42:66 | call to method GetHostByAddress : IPHostEntry | ConditionalBypass.cs:42:21:42:28 | access to local variable hostInfo : IPHostEntry | provenance | |
|
||||
| ConditionalBypass.cs:44:13:44:20 | access to local variable hostInfo : IPHostEntry | ConditionalBypass.cs:44:13:44:29 | access to property HostName : String | provenance | MaD:1 |
|
||||
| ConditionalBypass.cs:44:13:44:20 | access to local variable hostInfo : IPHostEntry | ConditionalBypass.cs:44:13:44:29 | access to property HostName : String | provenance | MaD:2 |
|
||||
| ConditionalBypass.cs:44:13:44:29 | access to property HostName : String | ConditionalBypass.cs:44:13:44:46 | ... == ... | provenance | |
|
||||
| ConditionalBypass.cs:49:13:49:20 | access to local variable hostInfo : IPHostEntry | ConditionalBypass.cs:49:13:49:29 | access to property HostName | provenance | MaD:1 |
|
||||
| ConditionalBypass.cs:49:13:49:20 | access to local variable hostInfo : IPHostEntry | ConditionalBypass.cs:49:13:49:29 | access to property HostName | provenance | MaD:2 |
|
||||
| ConditionalBypass.cs:70:20:70:30 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:72:13:72:23 | access to local variable adminCookie : HttpCookie | provenance | |
|
||||
| ConditionalBypass.cs:70:34:70:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:70:20:70:30 | access to local variable adminCookie : HttpCookie | provenance | |
|
||||
| ConditionalBypass.cs:72:13:72:23 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:72:13:72:29 | access to property Value : String | provenance | MaD:2 |
|
||||
| ConditionalBypass.cs:72:13:72:23 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:72:13:72:29 | access to property Value : String | provenance | MaD:3 |
|
||||
| ConditionalBypass.cs:72:13:72:29 | access to property Value : String | ConditionalBypass.cs:72:13:72:40 | ... == ... | provenance | |
|
||||
| ConditionalBypass.cs:83:20:83:30 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:84:13:84:23 | access to local variable adminCookie : HttpCookie | provenance | |
|
||||
| ConditionalBypass.cs:83:34:83:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:83:20:83:30 | access to local variable adminCookie : HttpCookie | provenance | |
|
||||
| ConditionalBypass.cs:84:13:84:23 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:84:13:84:29 | access to property Value : String | provenance | MaD:2 |
|
||||
| ConditionalBypass.cs:84:13:84:23 | access to local variable adminCookie : HttpCookie | ConditionalBypass.cs:84:13:84:29 | access to property Value : String | provenance | MaD:3 |
|
||||
| ConditionalBypass.cs:84:13:84:29 | access to property Value : String | ConditionalBypass.cs:84:13:84:40 | ... == ... | provenance | |
|
||||
models
|
||||
| 1 | Summary: System.Collections.Specialized; NameValueCollection; false; get_Item; (System.String); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 2 | Summary: System.Net; IPHostEntry; false; get_HostName; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: System.Web; HttpCookie; false; get_Value; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| ConditionalBypass.cs:12:16:12:22 | access to local variable isAdmin : String | semmle.label | access to local variable isAdmin : String |
|
||||
| ConditionalBypass.cs:12:26:12:48 | access to property QueryString : NameValueCollection | semmle.label | access to property QueryString : NameValueCollection |
|
||||
@@ -59,12 +68,3 @@ nodes
|
||||
| ConditionalBypass.cs:84:13:84:29 | access to property Value : String | semmle.label | access to property Value : String |
|
||||
| ConditionalBypass.cs:84:13:84:40 | ... == ... | semmle.label | ... == ... |
|
||||
subpaths
|
||||
#select
|
||||
| ConditionalBypass.cs:16:13:16:30 | ... == ... | ConditionalBypass.cs:12:26:12:48 | access to property QueryString : NameValueCollection | ConditionalBypass.cs:16:13:16:30 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:17:13:17:33 | call to method login | action | ConditionalBypass.cs:12:26:12:48 | access to property QueryString | user-provided value |
|
||||
| ConditionalBypass.cs:22:13:22:45 | call to method Equals | ConditionalBypass.cs:19:34:19:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:22:13:22:45 | call to method Equals | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:23:13:23:33 | call to method login | action | ConditionalBypass.cs:19:34:19:52 | access to property Cookies | user-provided value |
|
||||
| ConditionalBypass.cs:27:13:27:40 | ... == ... | ConditionalBypass.cs:19:34:19:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:27:13:27:40 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:29:13:29:33 | call to method login | action | ConditionalBypass.cs:19:34:19:52 | access to property Cookies | user-provided value |
|
||||
| ConditionalBypass.cs:27:13:27:40 | ... == ... | ConditionalBypass.cs:19:34:19:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:27:13:27:40 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:33:13:33:39 | call to method reCheckAuth | action | ConditionalBypass.cs:19:34:19:52 | access to property Cookies | user-provided value |
|
||||
| ConditionalBypass.cs:44:13:44:46 | ... == ... | ConditionalBypass.cs:42:32:42:66 | call to method GetHostByAddress : IPHostEntry | ConditionalBypass.cs:44:13:44:46 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:46:13:46:33 | call to method login | action | ConditionalBypass.cs:42:32:42:66 | call to method GetHostByAddress | user-provided value |
|
||||
| ConditionalBypass.cs:49:13:49:29 | access to property HostName | ConditionalBypass.cs:42:32:42:66 | call to method GetHostByAddress : IPHostEntry | ConditionalBypass.cs:49:13:49:29 | access to property HostName | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:51:13:51:33 | call to method login | action | ConditionalBypass.cs:42:32:42:66 | call to method GetHostByAddress | user-provided value |
|
||||
| ConditionalBypass.cs:72:13:72:40 | ... == ... | ConditionalBypass.cs:70:34:70:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:72:13:72:40 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:73:13:73:33 | call to method login | action | ConditionalBypass.cs:70:34:70:52 | access to property Cookies | user-provided value |
|
||||
| ConditionalBypass.cs:84:13:84:40 | ... == ... | ConditionalBypass.cs:83:34:83:52 | access to property Cookies : HttpCookieCollection | ConditionalBypass.cs:84:13:84:40 | ... == ... | This condition guards a sensitive $@, but a $@ controls it. | ConditionalBypass.cs:85:13:85:33 | call to method login | action | ConditionalBypass.cs:83:34:83:52 | access to property Cookies | user-provided value |
|
||||
|
||||
@@ -62,6 +62,15 @@ public class BasicFlow
|
||||
{
|
||||
return tainted;
|
||||
}
|
||||
|
||||
public Func<object, object> MyFunction;
|
||||
// summary=Models;BasicFlow;false;ApplyMyFunction;(System.Object);;Argument[0];Argument[this];taint;df-generated
|
||||
// summary=Models;BasicFlow;false;ApplyMyFunction;(System.Object);;Argument[this];ReturnValue;taint;df-generated
|
||||
// No content based flow as MaD doesn't support callback logic in fields and properties.
|
||||
public object ApplyMyFunction(object o)
|
||||
{
|
||||
return MyFunction(o);
|
||||
}
|
||||
}
|
||||
|
||||
public class CollectionFlow
|
||||
@@ -497,18 +506,55 @@ public class SimpleTypes
|
||||
}
|
||||
}
|
||||
|
||||
// No models as higher order methods are excluded
|
||||
// from model generation.
|
||||
// Methods in this class are "neutral" with respect to the heuristic model generation, but
|
||||
// the content based model generation is able to produce flow summaries for them.
|
||||
public class HigherOrderParameters
|
||||
{
|
||||
// neutral=Models;HigherOrderParameters;M1;(System.String,System.Func<System.String,System.String>);summary;df-generated
|
||||
// contentbased-summary=Models;HigherOrderParameters;false;M1;(System.String,System.Func<System.String,System.String>);;Argument[0];ReturnValue;value;dfc-generated
|
||||
public string M1(string s, Func<string, string> map)
|
||||
{
|
||||
return s;
|
||||
}
|
||||
|
||||
public object M2(Func<object, object> map, object o)
|
||||
// neutral=Models;HigherOrderParameters;Apply;(System.Func<System.Object,System.Object>,System.Object);summary;df-generated
|
||||
// contentbased-summary=Models;HigherOrderParameters;false;Apply;(System.Func<System.Object,System.Object>,System.Object);;Argument[1];Argument[0].Parameter[0];value;dfc-generated
|
||||
// contentbased-summary=Models;HigherOrderParameters;false;Apply;(System.Func<System.Object,System.Object>,System.Object);;Argument[0].ReturnValue;ReturnValue;value;dfc-generated
|
||||
public object Apply(Func<object, object> f, object o)
|
||||
{
|
||||
return map(o);
|
||||
return f(o);
|
||||
}
|
||||
|
||||
// neutral=Models;HigherOrderParameters;Apply2;(System.Object,System.Func<System.Object,System.Object,System.Object>);summary;df-generated
|
||||
// contentbased-summary=Models;HigherOrderParameters;false;Apply2;(System.Object,System.Func<System.Object,System.Object,System.Object>);;Argument[0];Argument[1].Parameter[1];value;dfc-generated
|
||||
// contentbased-summary=Models;HigherOrderParameters;false;Apply2;(System.Object,System.Func<System.Object,System.Object,System.Object>);;Argument[1].ReturnValue;ReturnValue;value;dfc-generated
|
||||
public object Apply2(object o, Func<object, object, object> f)
|
||||
{
|
||||
var x = f(null, o);
|
||||
return x;
|
||||
}
|
||||
|
||||
// neutral=Models;HigherOrderParameters;Apply;(System.Action<System.Object>,System.Object);summary;df-generated
|
||||
// contentbased-summary=Models;HigherOrderParameters;false;Apply;(System.Action<System.Object>,System.Object);;Argument[1];Argument[0].Parameter[0];value;dfc-generated
|
||||
public void Apply(Action<object> a, object o)
|
||||
{
|
||||
a(o);
|
||||
}
|
||||
}
|
||||
|
||||
public static class HigherOrderExtensionMethods
|
||||
{
|
||||
// neutral=Models;HigherOrderExtensionMethods;Select<TSource,TResult>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TResult>);summary;df-generated
|
||||
// contentbased-summary=Models;HigherOrderExtensionMethods;false;Select<TSource,TResult>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;dfc-generated
|
||||
// contentbased-summary=Models;HigherOrderExtensionMethods;false;Select<TSource,TResult>;(System.Collections.Generic.IEnumerable<TSource>,System.Func<TSource,TResult>);;Argument[1].ReturnValue;ReturnValue.Element;value;dfc-generated
|
||||
public static IEnumerable<TResult> Select<TSource, TResult>(
|
||||
this IEnumerable<TSource> source,
|
||||
Func<TSource, TResult> selector)
|
||||
{
|
||||
foreach (var item in source)
|
||||
{
|
||||
yield return selector(item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
| timing.go:30:47:30:58 | headerSecret | timing.go:28:18:28:27 | selection of Header | timing.go:30:47:30:58 | headerSecret | $@ may be vulnerable to timing attacks. | timing.go:28:18:28:27 | selection of Header | Hardcoded String |
|
||||
| timing.go:42:25:42:36 | headerSecret | timing.go:41:18:41:27 | selection of Header | timing.go:42:25:42:36 | headerSecret | $@ may be vulnerable to timing attacks. | timing.go:41:18:41:27 | selection of Header | Hardcoded String |
|
||||
edges
|
||||
| timing.go:15:18:15:27 | selection of Header | timing.go:15:18:15:45 | call to Get | provenance | Src:MaD:2 MaD:1 |
|
||||
| timing.go:15:18:15:27 | selection of Header | timing.go:15:18:15:45 | call to Get | provenance | Src:MaD:1 MaD:2 |
|
||||
| timing.go:15:18:15:45 | call to Get | timing.go:17:31:17:42 | headerSecret | provenance | |
|
||||
| timing.go:28:18:28:27 | selection of Header | timing.go:28:18:28:45 | call to Get | provenance | Src:MaD:2 MaD:1 |
|
||||
| timing.go:28:18:28:27 | selection of Header | timing.go:28:18:28:45 | call to Get | provenance | Src:MaD:1 MaD:2 |
|
||||
| timing.go:28:18:28:45 | call to Get | timing.go:30:47:30:58 | headerSecret | provenance | |
|
||||
| timing.go:41:18:41:27 | selection of Header | timing.go:41:18:41:45 | call to Get | provenance | Src:MaD:2 MaD:1 |
|
||||
| timing.go:41:18:41:27 | selection of Header | timing.go:41:18:41:45 | call to Get | provenance | Src:MaD:1 MaD:2 |
|
||||
| timing.go:41:18:41:45 | call to Get | timing.go:42:25:42:36 | headerSecret | provenance | |
|
||||
models
|
||||
| 1 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 2 | Source: net/http; Request; true; Header; ; ; ; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; Header; ; ; ; remote; manual |
|
||||
| 2 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| timing.go:15:18:15:27 | selection of Header | semmle.label | selection of Header |
|
||||
| timing.go:15:18:15:45 | call to Get | semmle.label | call to Get |
|
||||
|
||||
@@ -47,50 +47,50 @@
|
||||
| test.go:621:25:621:31 | tarRead | test.go:93:5:93:16 | selection of Body | test.go:621:25:621:31 | tarRead | This decompression is $@. | test.go:93:5:93:16 | selection of Body | decompressing compressed data without managing output size |
|
||||
| test.go:629:2:629:8 | tarRead | test.go:93:5:93:16 | selection of Body | test.go:629:2:629:8 | tarRead | This decompression is $@. | test.go:93:5:93:16 | selection of Body | decompressing compressed data without managing output size |
|
||||
edges
|
||||
| test.go:59:16:59:44 | call to FormValue | test.go:128:20:128:27 | definition of filename | provenance | Src:MaD:5 |
|
||||
| test.go:60:15:60:26 | selection of Body | test.go:158:19:158:22 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:61:24:61:35 | selection of Body | test.go:169:28:169:31 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:62:13:62:24 | selection of Body | test.go:181:17:181:20 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:64:8:64:19 | selection of Body | test.go:208:12:208:15 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:66:8:66:19 | selection of Body | test.go:233:12:233:15 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:68:17:68:28 | selection of Body | test.go:258:21:258:24 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:70:13:70:24 | selection of Body | test.go:283:17:283:20 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:72:16:72:27 | selection of Body | test.go:308:20:308:23 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:74:7:74:18 | selection of Body | test.go:333:11:333:14 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:76:9:76:20 | selection of Body | test.go:358:13:358:16 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:78:18:78:29 | selection of Body | test.go:384:22:384:25 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:80:5:80:16 | selection of Body | test.go:412:9:412:12 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:82:7:82:18 | selection of Body | test.go:447:11:447:14 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:84:15:84:26 | selection of Body | test.go:440:19:440:21 | definition of src | provenance | Src:MaD:6 |
|
||||
| test.go:85:16:85:27 | selection of Body | test.go:472:20:472:23 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:87:16:87:27 | selection of Body | test.go:499:20:499:23 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:89:17:89:28 | selection of Body | test.go:526:21:526:24 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:91:15:91:26 | selection of Body | test.go:555:19:555:22 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:93:5:93:16 | selection of Body | test.go:580:9:580:12 | definition of file | provenance | Src:MaD:6 |
|
||||
| test.go:59:16:59:44 | call to FormValue | test.go:128:20:128:27 | definition of filename | provenance | Src:MaD:2 |
|
||||
| test.go:60:15:60:26 | selection of Body | test.go:158:19:158:22 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:61:24:61:35 | selection of Body | test.go:169:28:169:31 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:62:13:62:24 | selection of Body | test.go:181:17:181:20 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:64:8:64:19 | selection of Body | test.go:208:12:208:15 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:66:8:66:19 | selection of Body | test.go:233:12:233:15 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:68:17:68:28 | selection of Body | test.go:258:21:258:24 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:70:13:70:24 | selection of Body | test.go:283:17:283:20 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:72:16:72:27 | selection of Body | test.go:308:20:308:23 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:74:7:74:18 | selection of Body | test.go:333:11:333:14 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:76:9:76:20 | selection of Body | test.go:358:13:358:16 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:78:18:78:29 | selection of Body | test.go:384:22:384:25 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:80:5:80:16 | selection of Body | test.go:412:9:412:12 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:82:7:82:18 | selection of Body | test.go:447:11:447:14 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:84:15:84:26 | selection of Body | test.go:440:19:440:21 | definition of src | provenance | Src:MaD:1 |
|
||||
| test.go:85:16:85:27 | selection of Body | test.go:472:20:472:23 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:87:16:87:27 | selection of Body | test.go:499:20:499:23 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:89:17:89:28 | selection of Body | test.go:526:21:526:24 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:91:15:91:26 | selection of Body | test.go:555:19:555:22 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:93:5:93:16 | selection of Body | test.go:580:9:580:12 | definition of file | provenance | Src:MaD:1 |
|
||||
| test.go:128:20:128:27 | definition of filename | test.go:130:33:130:40 | filename | provenance | |
|
||||
| test.go:128:20:128:27 | definition of filename | test.go:143:51:143:58 | filename | provenance | |
|
||||
| test.go:130:2:130:41 | ... := ...[0] | test.go:132:12:132:12 | f | provenance | |
|
||||
| test.go:130:33:130:40 | filename | test.go:130:2:130:41 | ... := ...[0] | provenance | Config |
|
||||
| test.go:132:3:132:19 | ... := ...[0] | test.go:134:37:134:38 | rc | provenance | |
|
||||
| test.go:132:12:132:12 | f | test.go:132:3:132:19 | ... := ...[0] | provenance | MaD:2 |
|
||||
| test.go:132:12:132:12 | f | test.go:132:3:132:19 | ... := ...[0] | provenance | MaD:4 |
|
||||
| test.go:143:2:143:59 | ... := ...[0] | test.go:145:12:145:12 | f | provenance | |
|
||||
| test.go:143:51:143:58 | filename | test.go:143:2:143:59 | ... := ...[0] | provenance | Config |
|
||||
| test.go:145:12:145:12 | f | test.go:145:12:145:19 | call to Open | provenance | Config |
|
||||
| test.go:145:12:145:19 | call to Open | test.go:147:37:147:38 | rc | provenance | |
|
||||
| test.go:158:19:158:22 | definition of file | test.go:159:25:159:28 | file | provenance | |
|
||||
| test.go:159:2:159:29 | ... := ...[0] | test.go:160:48:160:52 | file1 | provenance | |
|
||||
| test.go:159:25:159:28 | file | test.go:159:2:159:29 | ... := ...[0] | provenance | MaD:4 |
|
||||
| test.go:159:25:159:28 | file | test.go:159:2:159:29 | ... := ...[0] | provenance | MaD:6 |
|
||||
| test.go:160:2:160:69 | ... := ...[0] | test.go:163:26:163:29 | file | provenance | |
|
||||
| test.go:160:32:160:53 | call to NewReader | test.go:160:2:160:69 | ... := ...[0] | provenance | Config |
|
||||
| test.go:160:48:160:52 | file1 | test.go:160:32:160:53 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:160:48:160:52 | file1 | test.go:160:32:160:53 | call to NewReader | provenance | MaD:5 |
|
||||
| test.go:163:3:163:36 | ... := ...[0] | test.go:164:36:164:51 | fileReaderCloser | provenance | |
|
||||
| test.go:163:26:163:29 | file | test.go:163:3:163:36 | ... := ...[0] | provenance | MaD:2 |
|
||||
| test.go:163:26:163:29 | file | test.go:163:3:163:36 | ... := ...[0] | provenance | MaD:4 |
|
||||
| test.go:169:28:169:31 | definition of file | test.go:170:25:170:28 | file | provenance | |
|
||||
| test.go:170:2:170:29 | ... := ...[0] | test.go:171:57:171:61 | file2 | provenance | |
|
||||
| test.go:170:25:170:28 | file | test.go:170:2:170:29 | ... := ...[0] | provenance | MaD:4 |
|
||||
| test.go:170:25:170:28 | file | test.go:170:2:170:29 | ... := ...[0] | provenance | MaD:6 |
|
||||
| test.go:171:2:171:78 | ... := ...[0] | test.go:175:26:175:29 | file | provenance | |
|
||||
| test.go:171:41:171:62 | call to NewReader | test.go:171:2:171:78 | ... := ...[0] | provenance | Config |
|
||||
| test.go:171:57:171:61 | file2 | test.go:171:41:171:62 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:171:57:171:61 | file2 | test.go:171:41:171:62 | call to NewReader | provenance | MaD:5 |
|
||||
| test.go:175:26:175:29 | file | test.go:175:26:175:36 | call to Open | provenance | Config |
|
||||
| test.go:175:26:175:36 | call to Open | test.go:176:36:176:51 | fileReaderCloser | provenance | |
|
||||
| test.go:181:17:181:20 | definition of file | test.go:184:41:184:44 | file | provenance | |
|
||||
@@ -98,49 +98,49 @@ edges
|
||||
| test.go:184:2:184:73 | ... := ...[0] | test.go:187:26:187:36 | bzip2Reader | provenance | |
|
||||
| test.go:184:41:184:44 | file | test.go:184:2:184:73 | ... := ...[0] | provenance | Config |
|
||||
| test.go:187:12:187:37 | call to NewReader | test.go:189:18:189:24 | tarRead | provenance | |
|
||||
| test.go:187:26:187:36 | bzip2Reader | test.go:187:12:187:37 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:187:26:187:36 | bzip2Reader | test.go:187:12:187:37 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:189:18:189:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:208:12:208:15 | definition of file | test.go:211:33:211:36 | file | provenance | |
|
||||
| test.go:211:17:211:37 | call to NewReader | test.go:213:2:213:12 | bzip2Reader | provenance | |
|
||||
| test.go:211:17:211:37 | call to NewReader | test.go:214:26:214:36 | bzip2Reader | provenance | |
|
||||
| test.go:211:33:211:36 | file | test.go:211:17:211:37 | call to NewReader | provenance | Config |
|
||||
| test.go:214:12:214:37 | call to NewReader | test.go:216:18:216:24 | tarRead | provenance | |
|
||||
| test.go:214:26:214:36 | bzip2Reader | test.go:214:12:214:37 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:214:26:214:36 | bzip2Reader | test.go:214:12:214:37 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:216:18:216:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:233:12:233:15 | definition of file | test.go:236:33:236:36 | file | provenance | |
|
||||
| test.go:236:17:236:37 | call to NewReader | test.go:238:2:238:12 | flateReader | provenance | |
|
||||
| test.go:236:17:236:37 | call to NewReader | test.go:239:26:239:36 | flateReader | provenance | |
|
||||
| test.go:236:33:236:36 | file | test.go:236:17:236:37 | call to NewReader | provenance | Config |
|
||||
| test.go:239:12:239:37 | call to NewReader | test.go:241:18:241:24 | tarRead | provenance | |
|
||||
| test.go:239:26:239:36 | flateReader | test.go:239:12:239:37 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:239:26:239:36 | flateReader | test.go:239:12:239:37 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:241:18:241:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:258:21:258:24 | definition of file | test.go:261:42:261:45 | file | provenance | |
|
||||
| test.go:261:17:261:46 | call to NewReader | test.go:263:2:263:12 | flateReader | provenance | |
|
||||
| test.go:261:17:261:46 | call to NewReader | test.go:264:26:264:36 | flateReader | provenance | |
|
||||
| test.go:261:42:261:45 | file | test.go:261:17:261:46 | call to NewReader | provenance | Config |
|
||||
| test.go:264:12:264:37 | call to NewReader | test.go:266:18:266:24 | tarRead | provenance | |
|
||||
| test.go:264:26:264:36 | flateReader | test.go:264:12:264:37 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:264:26:264:36 | flateReader | test.go:264:12:264:37 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:266:18:266:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:283:17:283:20 | definition of file | test.go:286:41:286:44 | file | provenance | |
|
||||
| test.go:286:2:286:73 | ... := ...[0] | test.go:288:2:288:12 | flateReader | provenance | |
|
||||
| test.go:286:2:286:73 | ... := ...[0] | test.go:289:26:289:36 | flateReader | provenance | |
|
||||
| test.go:286:41:286:44 | file | test.go:286:2:286:73 | ... := ...[0] | provenance | Config |
|
||||
| test.go:289:12:289:37 | call to NewReader | test.go:291:18:291:24 | tarRead | provenance | |
|
||||
| test.go:289:26:289:36 | flateReader | test.go:289:12:289:37 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:289:26:289:36 | flateReader | test.go:289:12:289:37 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:291:18:291:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:308:20:308:23 | definition of file | test.go:311:43:311:46 | file | provenance | |
|
||||
| test.go:311:2:311:47 | ... := ...[0] | test.go:313:2:313:11 | zlibReader | provenance | |
|
||||
| test.go:311:2:311:47 | ... := ...[0] | test.go:314:26:314:35 | zlibReader | provenance | |
|
||||
| test.go:311:43:311:46 | file | test.go:311:2:311:47 | ... := ...[0] | provenance | Config |
|
||||
| test.go:314:12:314:36 | call to NewReader | test.go:316:18:316:24 | tarRead | provenance | |
|
||||
| test.go:314:26:314:35 | zlibReader | test.go:314:12:314:36 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:314:26:314:35 | zlibReader | test.go:314:12:314:36 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:316:18:316:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:333:11:333:14 | definition of file | test.go:336:34:336:37 | file | provenance | |
|
||||
| test.go:336:2:336:38 | ... := ...[0] | test.go:338:2:338:11 | zlibReader | provenance | |
|
||||
| test.go:336:2:336:38 | ... := ...[0] | test.go:339:26:339:35 | zlibReader | provenance | |
|
||||
| test.go:336:34:336:37 | file | test.go:336:2:336:38 | ... := ...[0] | provenance | Config |
|
||||
| test.go:339:12:339:36 | call to NewReader | test.go:341:18:341:24 | tarRead | provenance | |
|
||||
| test.go:339:26:339:35 | zlibReader | test.go:339:12:339:36 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:339:26:339:35 | zlibReader | test.go:339:12:339:36 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:341:18:341:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:358:13:358:16 | definition of file | test.go:361:35:361:38 | file | provenance | |
|
||||
| test.go:361:18:361:39 | call to NewReader | test.go:363:2:363:13 | snappyReader | provenance | |
|
||||
@@ -148,7 +148,7 @@ edges
|
||||
| test.go:361:18:361:39 | call to NewReader | test.go:365:26:365:37 | snappyReader | provenance | |
|
||||
| test.go:361:35:361:38 | file | test.go:361:18:361:39 | call to NewReader | provenance | Config |
|
||||
| test.go:365:12:365:38 | call to NewReader | test.go:367:18:367:24 | tarRead | provenance | |
|
||||
| test.go:365:26:365:37 | snappyReader | test.go:365:12:365:38 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:365:26:365:37 | snappyReader | test.go:365:12:365:38 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:367:18:367:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:384:22:384:25 | definition of file | test.go:387:44:387:47 | file | provenance | |
|
||||
| test.go:387:18:387:48 | call to NewReader | test.go:389:2:389:13 | snappyReader | provenance | |
|
||||
@@ -157,7 +157,7 @@ edges
|
||||
| test.go:387:18:387:48 | call to NewReader | test.go:393:26:393:37 | snappyReader | provenance | |
|
||||
| test.go:387:44:387:47 | file | test.go:387:18:387:48 | call to NewReader | provenance | Config |
|
||||
| test.go:393:12:393:38 | call to NewReader | test.go:395:18:395:24 | tarRead | provenance | |
|
||||
| test.go:393:26:393:37 | snappyReader | test.go:393:12:393:38 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:393:26:393:37 | snappyReader | test.go:393:12:393:38 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:395:18:395:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:412:9:412:12 | definition of file | test.go:415:27:415:30 | file | provenance | |
|
||||
| test.go:415:14:415:31 | call to NewReader | test.go:417:2:417:9 | s2Reader | provenance | |
|
||||
@@ -166,7 +166,7 @@ edges
|
||||
| test.go:415:14:415:31 | call to NewReader | test.go:421:26:421:33 | s2Reader | provenance | |
|
||||
| test.go:415:27:415:30 | file | test.go:415:14:415:31 | call to NewReader | provenance | Config |
|
||||
| test.go:421:12:421:34 | call to NewReader | test.go:423:18:423:24 | tarRead | provenance | |
|
||||
| test.go:421:26:421:33 | s2Reader | test.go:421:12:421:34 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:421:26:421:33 | s2Reader | test.go:421:12:421:34 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:423:18:423:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:440:19:440:21 | definition of src | test.go:441:34:441:36 | src | provenance | |
|
||||
| test.go:441:2:441:37 | ... := ...[0] | test.go:444:12:444:32 | type conversion | provenance | |
|
||||
@@ -177,7 +177,7 @@ edges
|
||||
| test.go:450:2:450:38 | ... := ...[0] | test.go:453:26:453:35 | gzipReader | provenance | |
|
||||
| test.go:450:34:450:37 | file | test.go:450:2:450:38 | ... := ...[0] | provenance | Config |
|
||||
| test.go:453:12:453:36 | call to NewReader | test.go:455:18:455:24 | tarRead | provenance | |
|
||||
| test.go:453:26:453:35 | gzipReader | test.go:453:12:453:36 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:453:26:453:35 | gzipReader | test.go:453:12:453:36 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:455:18:455:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:472:20:472:23 | definition of file | test.go:475:43:475:46 | file | provenance | |
|
||||
| test.go:475:2:475:47 | ... := ...[0] | test.go:477:2:477:11 | gzipReader | provenance | |
|
||||
@@ -185,7 +185,7 @@ edges
|
||||
| test.go:475:2:475:47 | ... := ...[0] | test.go:480:26:480:35 | gzipReader | provenance | |
|
||||
| test.go:475:43:475:46 | file | test.go:475:2:475:47 | ... := ...[0] | provenance | Config |
|
||||
| test.go:480:12:480:36 | call to NewReader | test.go:482:18:482:24 | tarRead | provenance | |
|
||||
| test.go:480:26:480:35 | gzipReader | test.go:480:12:480:36 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:480:26:480:35 | gzipReader | test.go:480:12:480:36 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:482:18:482:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:499:20:499:23 | definition of file | test.go:502:45:502:48 | file | provenance | |
|
||||
| test.go:502:2:502:49 | ... := ...[0] | test.go:504:2:504:12 | pgzipReader | provenance | |
|
||||
@@ -193,7 +193,7 @@ edges
|
||||
| test.go:502:2:502:49 | ... := ...[0] | test.go:507:26:507:36 | pgzipReader | provenance | |
|
||||
| test.go:502:45:502:48 | file | test.go:502:2:502:49 | ... := ...[0] | provenance | Config |
|
||||
| test.go:507:12:507:37 | call to NewReader | test.go:509:18:509:24 | tarRead | provenance | |
|
||||
| test.go:507:26:507:36 | pgzipReader | test.go:507:12:507:37 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:507:26:507:36 | pgzipReader | test.go:507:12:507:37 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:509:18:509:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:526:21:526:24 | definition of file | test.go:529:43:529:46 | file | provenance | |
|
||||
| test.go:529:2:529:47 | ... := ...[0] | test.go:531:2:531:11 | zstdReader | provenance | |
|
||||
@@ -202,14 +202,14 @@ edges
|
||||
| test.go:529:2:529:47 | ... := ...[0] | test.go:536:26:536:35 | zstdReader | provenance | |
|
||||
| test.go:529:43:529:46 | file | test.go:529:2:529:47 | ... := ...[0] | provenance | Config |
|
||||
| test.go:536:12:536:36 | call to NewReader | test.go:538:18:538:24 | tarRead | provenance | |
|
||||
| test.go:536:26:536:35 | zstdReader | test.go:536:12:536:36 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:536:26:536:35 | zstdReader | test.go:536:12:536:36 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:538:18:538:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:555:19:555:22 | definition of file | test.go:558:38:558:41 | file | provenance | |
|
||||
| test.go:558:16:558:42 | call to NewReader | test.go:560:2:560:11 | zstdReader | provenance | |
|
||||
| test.go:558:16:558:42 | call to NewReader | test.go:561:26:561:35 | zstdReader | provenance | |
|
||||
| test.go:558:38:558:41 | file | test.go:558:16:558:42 | call to NewReader | provenance | Config |
|
||||
| test.go:561:12:561:36 | call to NewReader | test.go:563:18:563:24 | tarRead | provenance | |
|
||||
| test.go:561:26:561:35 | zstdReader | test.go:561:12:561:36 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:561:26:561:35 | zstdReader | test.go:561:12:561:36 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:563:18:563:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:580:9:580:12 | definition of file | test.go:583:30:583:33 | file | provenance | |
|
||||
| test.go:583:2:583:34 | ... := ...[0] | test.go:585:2:585:9 | xzReader | provenance | |
|
||||
@@ -217,7 +217,7 @@ edges
|
||||
| test.go:583:30:583:33 | file | test.go:583:2:583:34 | ... := ...[0] | provenance | Config |
|
||||
| test.go:586:12:586:34 | call to NewReader | test.go:589:18:589:24 | tarRead | provenance | |
|
||||
| test.go:586:12:586:34 | call to NewReader | test.go:590:19:590:25 | tarRead | provenance | |
|
||||
| test.go:586:26:586:33 | xzReader | test.go:586:12:586:34 | call to NewReader | provenance | MaD:1 |
|
||||
| test.go:586:26:586:33 | xzReader | test.go:586:12:586:34 | call to NewReader | provenance | MaD:3 |
|
||||
| test.go:589:18:589:24 | tarRead | test.go:611:22:611:28 | definition of tarRead | provenance | |
|
||||
| test.go:590:19:590:25 | tarRead | test.go:627:23:627:29 | definition of tarRead | provenance | |
|
||||
| test.go:611:22:611:28 | definition of tarRead | test.go:621:25:621:31 | tarRead | provenance | |
|
||||
@@ -231,12 +231,12 @@ edges
|
||||
| test.go:611:22:611:28 | definition of tarRead | test.go:621:25:621:31 | tarRead | provenance | |
|
||||
| test.go:627:23:627:29 | definition of tarRead | test.go:629:2:629:8 | tarRead | provenance | |
|
||||
models
|
||||
| 1 | Summary: archive/tar; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: archive/zip; File; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual |
|
||||
| 3 | Summary: bytes; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 5 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 6 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 2 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 3 | Summary: archive/tar; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: archive/zip; File; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual |
|
||||
| 5 | Summary: bytes; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
nodes
|
||||
| test.go:59:16:59:44 | call to FormValue | semmle.label | call to FormValue |
|
||||
| test.go:60:15:60:26 | selection of Body | semmle.label | selection of Body |
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
#select
|
||||
| Dsn.go:50:29:50:33 | dbDSN | Dsn.go:47:10:47:30 | call to FormValue | Dsn.go:50:29:50:33 | dbDSN | Data-Source Name is built using $@. | Dsn.go:47:10:47:30 | call to FormValue | untrusted user input |
|
||||
edges
|
||||
| Dsn.go:47:10:47:30 | call to FormValue | Dsn.go:49:102:49:105 | name | provenance | Src:MaD:2 |
|
||||
| Dsn.go:49:11:49:106 | []type{args} [array] | Dsn.go:49:11:49:106 | call to Sprintf | provenance | MaD:1 |
|
||||
| Dsn.go:47:10:47:30 | call to FormValue | Dsn.go:49:102:49:105 | name | provenance | Src:MaD:1 |
|
||||
| Dsn.go:49:11:49:106 | []type{args} [array] | Dsn.go:49:11:49:106 | call to Sprintf | provenance | MaD:2 |
|
||||
| Dsn.go:49:11:49:106 | call to Sprintf | Dsn.go:50:29:50:33 | dbDSN | provenance | |
|
||||
| Dsn.go:49:102:49:105 | name | Dsn.go:49:11:49:106 | []type{args} [array] | provenance | |
|
||||
| Dsn.go:49:102:49:105 | name | Dsn.go:49:11:49:106 | call to Sprintf | provenance | FunctionModel |
|
||||
models
|
||||
| 1 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 2 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 2 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| Dsn.go:47:10:47:30 | call to FormValue | semmle.label | call to FormValue |
|
||||
| Dsn.go:49:11:49:106 | []type{args} [array] | semmle.label | []type{args} [array] |
|
||||
|
||||
@@ -10,32 +10,32 @@
|
||||
| HTMLTemplateEscapingPassthrough.go:67:38:67:38 | g | HTMLTemplateEscapingPassthrough.go:66:24:66:38 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:67:38:67:38 | g | Data from an $@ will not be auto-escaped because it was $@ to template.URL | HTMLTemplateEscapingPassthrough.go:66:24:66:38 | call to UserAgent | untrusted source | HTMLTemplateEscapingPassthrough.go:66:11:66:39 | type conversion | converted |
|
||||
edges
|
||||
| HTMLTemplateEscapingPassthrough.go:29:12:29:41 | type conversion | HTMLTemplateEscapingPassthrough.go:30:39:30:39 | a | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:29:26:29:40 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:29:12:29:41 | type conversion | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:29:26:29:40 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:29:12:29:41 | type conversion | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:35:9:35:38 | type conversion | HTMLTemplateEscapingPassthrough.go:36:40:36:40 | a | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:35:23:35:37 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:35:9:35:38 | type conversion | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:35:23:35:37 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:35:9:35:38 | type conversion | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:40:9:40:34 | type conversion | HTMLTemplateEscapingPassthrough.go:41:40:41:40 | a | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:40:19:40:33 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:40:9:40:34 | type conversion | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:40:19:40:33 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:40:9:40:34 | type conversion | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:46:11:46:44 | type conversion | HTMLTemplateEscapingPassthrough.go:47:41:47:41 | c | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:46:29:46:43 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:46:11:46:44 | type conversion | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:46:29:46:43 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:46:11:46:44 | type conversion | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:50:11:50:38 | type conversion | HTMLTemplateEscapingPassthrough.go:51:44:51:44 | d | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:50:23:50:37 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:50:11:50:38 | type conversion | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:50:23:50:37 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:50:11:50:38 | type conversion | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:54:11:54:41 | type conversion | HTMLTemplateEscapingPassthrough.go:55:44:55:44 | e | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:54:26:54:40 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:54:11:54:41 | type conversion | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:54:26:54:40 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:54:11:54:41 | type conversion | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:58:11:58:39 | type conversion | HTMLTemplateEscapingPassthrough.go:59:38:59:38 | b | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:58:24:58:38 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:58:11:58:39 | type conversion | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:58:24:58:38 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:58:11:58:39 | type conversion | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:62:11:62:42 | type conversion | HTMLTemplateEscapingPassthrough.go:63:44:63:44 | f | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:62:27:62:41 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:62:11:62:42 | type conversion | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:62:27:62:41 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:62:11:62:42 | type conversion | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:66:11:66:39 | type conversion | HTMLTemplateEscapingPassthrough.go:67:38:67:38 | g | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:66:24:66:38 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:66:11:66:39 | type conversion | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:75:17:75:31 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:76:38:76:44 | escaped | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:81:10:81:24 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:84:38:84:40 | src | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:89:10:89:24 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:91:64:91:66 | src | provenance | Src:MaD:2 |
|
||||
| HTMLTemplateEscapingPassthrough.go:66:24:66:38 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:66:11:66:39 | type conversion | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:75:17:75:31 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:76:38:76:44 | escaped | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:81:10:81:24 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:84:38:84:40 | src | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:89:10:89:24 | call to UserAgent | HTMLTemplateEscapingPassthrough.go:91:64:91:66 | src | provenance | Src:MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:91:16:91:77 | type conversion | HTMLTemplateEscapingPassthrough.go:92:38:92:46 | converted | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:91:38:91:67 | call to HTMLEscapeString | HTMLTemplateEscapingPassthrough.go:91:16:91:77 | type conversion | provenance | |
|
||||
| HTMLTemplateEscapingPassthrough.go:91:64:91:66 | src | HTMLTemplateEscapingPassthrough.go:91:38:91:67 | call to HTMLEscapeString | provenance | MaD:1 |
|
||||
| HTMLTemplateEscapingPassthrough.go:91:64:91:66 | src | HTMLTemplateEscapingPassthrough.go:91:38:91:67 | call to HTMLEscapeString | provenance | MaD:2 |
|
||||
models
|
||||
| 1 | Summary: html/template; ; false; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; UserAgent; ; ; ReturnValue; remote; manual |
|
||||
| 2 | Summary: html/template; ; false; HTMLEscapeString; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| HTMLTemplateEscapingPassthrough.go:29:12:29:41 | type conversion | semmle.label | type conversion |
|
||||
| HTMLTemplateEscapingPassthrough.go:29:26:29:40 | call to UserAgent | semmle.label | call to UserAgent |
|
||||
|
||||
@@ -17,61 +17,61 @@
|
||||
| new-tests.go:88:2:88:47 | call to Get | new-tests.go:86:10:86:20 | call to Vars | new-tests.go:88:11:88:46 | ...+... | The URL of this request depends on a user-provided value. |
|
||||
| new-tests.go:96:2:96:47 | call to Get | new-tests.go:95:18:95:45 | call to URLParam | new-tests.go:96:11:96:46 | ...+... | The URL of this request depends on a user-provided value. |
|
||||
edges
|
||||
| builtin.go:19:12:19:34 | call to FormValue | builtin.go:22:21:22:62 | ...+... | provenance | Src:MaD:9 |
|
||||
| builtin.go:83:21:83:31 | call to Referer | builtin.go:88:27:88:40 | untrustedInput | provenance | Src:MaD:10 |
|
||||
| builtin.go:97:21:97:31 | call to Referer | builtin.go:101:36:101:49 | untrustedInput | provenance | Src:MaD:10 |
|
||||
| builtin.go:111:21:111:31 | call to Referer | builtin.go:114:15:114:28 | untrustedInput | provenance | Src:MaD:10 |
|
||||
| builtin.go:129:21:129:31 | call to Referer | builtin.go:132:38:132:51 | untrustedInput | provenance | Src:MaD:10 |
|
||||
| new-tests.go:26:26:26:30 | &... | new-tests.go:31:48:31:56 | selection of word | provenance | Src:MaD:5 |
|
||||
| new-tests.go:26:26:26:30 | &... | new-tests.go:32:48:32:56 | selection of safe | provenance | Src:MaD:5 |
|
||||
| new-tests.go:26:26:26:30 | &... | new-tests.go:35:49:35:57 | selection of word | provenance | Src:MaD:5 |
|
||||
| new-tests.go:31:11:31:57 | []type{args} [array] | new-tests.go:31:11:31:57 | call to Sprintf | provenance | MaD:2 |
|
||||
| builtin.go:19:12:19:34 | call to FormValue | builtin.go:22:21:22:62 | ...+... | provenance | Src:MaD:7 |
|
||||
| builtin.go:83:21:83:31 | call to Referer | builtin.go:88:27:88:40 | untrustedInput | provenance | Src:MaD:8 |
|
||||
| builtin.go:97:21:97:31 | call to Referer | builtin.go:101:36:101:49 | untrustedInput | provenance | Src:MaD:8 |
|
||||
| builtin.go:111:21:111:31 | call to Referer | builtin.go:114:15:114:28 | untrustedInput | provenance | Src:MaD:8 |
|
||||
| builtin.go:129:21:129:31 | call to Referer | builtin.go:132:38:132:51 | untrustedInput | provenance | Src:MaD:8 |
|
||||
| new-tests.go:26:26:26:30 | &... | new-tests.go:31:48:31:56 | selection of word | provenance | Src:MaD:3 |
|
||||
| new-tests.go:26:26:26:30 | &... | new-tests.go:32:48:32:56 | selection of safe | provenance | Src:MaD:3 |
|
||||
| new-tests.go:26:26:26:30 | &... | new-tests.go:35:49:35:57 | selection of word | provenance | Src:MaD:3 |
|
||||
| new-tests.go:31:11:31:57 | []type{args} [array] | new-tests.go:31:11:31:57 | call to Sprintf | provenance | MaD:11 |
|
||||
| new-tests.go:31:48:31:56 | selection of word | new-tests.go:31:11:31:57 | []type{args} [array] | provenance | |
|
||||
| new-tests.go:31:48:31:56 | selection of word | new-tests.go:31:11:31:57 | call to Sprintf | provenance | FunctionModel |
|
||||
| new-tests.go:32:11:32:57 | []type{args} [array] | new-tests.go:32:11:32:57 | call to Sprintf | provenance | MaD:2 |
|
||||
| new-tests.go:32:11:32:57 | []type{args} [array] | new-tests.go:32:11:32:57 | call to Sprintf | provenance | MaD:11 |
|
||||
| new-tests.go:32:48:32:56 | selection of safe | new-tests.go:32:11:32:57 | []type{args} [array] | provenance | |
|
||||
| new-tests.go:32:48:32:56 | selection of safe | new-tests.go:32:11:32:57 | call to Sprintf | provenance | FunctionModel |
|
||||
| new-tests.go:35:12:35:58 | []type{args} [array] | new-tests.go:35:12:35:58 | call to Sprintf | provenance | MaD:2 |
|
||||
| new-tests.go:35:12:35:58 | []type{args} [array] | new-tests.go:35:12:35:58 | call to Sprintf | provenance | MaD:11 |
|
||||
| new-tests.go:35:49:35:57 | selection of word | new-tests.go:35:12:35:58 | []type{args} [array] | provenance | |
|
||||
| new-tests.go:35:49:35:57 | selection of word | new-tests.go:35:12:35:58 | call to Sprintf | provenance | FunctionModel |
|
||||
| new-tests.go:39:18:39:30 | call to Param | new-tests.go:47:11:47:46 | ...+... | provenance | Src:MaD:3 |
|
||||
| new-tests.go:49:18:49:30 | call to Query | new-tests.go:50:11:50:46 | ...+... | provenance | Src:MaD:4 |
|
||||
| new-tests.go:39:18:39:30 | call to Param | new-tests.go:47:11:47:46 | ...+... | provenance | Src:MaD:1 |
|
||||
| new-tests.go:49:18:49:30 | call to Query | new-tests.go:50:11:50:46 | ...+... | provenance | Src:MaD:2 |
|
||||
| new-tests.go:62:2:62:39 | ... := ...[0] | new-tests.go:63:17:63:23 | reqBody | provenance | |
|
||||
| new-tests.go:62:31:62:38 | selection of Body | new-tests.go:62:2:62:39 | ... := ...[0] | provenance | Src:MaD:11 MaD:8 |
|
||||
| new-tests.go:63:17:63:23 | reqBody | new-tests.go:63:26:63:30 | &... | provenance | MaD:1 |
|
||||
| new-tests.go:62:31:62:38 | selection of Body | new-tests.go:62:2:62:39 | ... := ...[0] | provenance | Src:MaD:6 MaD:12 |
|
||||
| new-tests.go:63:17:63:23 | reqBody | new-tests.go:63:26:63:30 | &... | provenance | MaD:10 |
|
||||
| new-tests.go:63:26:63:30 | &... | new-tests.go:68:48:68:56 | selection of word | provenance | |
|
||||
| new-tests.go:63:26:63:30 | &... | new-tests.go:69:48:69:56 | selection of safe | provenance | |
|
||||
| new-tests.go:63:26:63:30 | &... | new-tests.go:74:49:74:57 | selection of word | provenance | |
|
||||
| new-tests.go:68:11:68:57 | []type{args} [array] | new-tests.go:68:11:68:57 | call to Sprintf | provenance | MaD:2 |
|
||||
| new-tests.go:68:11:68:57 | []type{args} [array] | new-tests.go:68:11:68:57 | call to Sprintf | provenance | MaD:11 |
|
||||
| new-tests.go:68:48:68:56 | selection of word | new-tests.go:68:11:68:57 | []type{args} [array] | provenance | |
|
||||
| new-tests.go:68:48:68:56 | selection of word | new-tests.go:68:11:68:57 | call to Sprintf | provenance | FunctionModel |
|
||||
| new-tests.go:69:11:69:57 | []type{args} [array] | new-tests.go:69:11:69:57 | call to Sprintf | provenance | MaD:2 |
|
||||
| new-tests.go:69:11:69:57 | []type{args} [array] | new-tests.go:69:11:69:57 | call to Sprintf | provenance | MaD:11 |
|
||||
| new-tests.go:69:48:69:56 | selection of safe | new-tests.go:69:11:69:57 | []type{args} [array] | provenance | |
|
||||
| new-tests.go:69:48:69:56 | selection of safe | new-tests.go:69:11:69:57 | call to Sprintf | provenance | FunctionModel |
|
||||
| new-tests.go:74:12:74:58 | []type{args} [array] | new-tests.go:74:12:74:58 | call to Sprintf | provenance | MaD:2 |
|
||||
| new-tests.go:74:12:74:58 | []type{args} [array] | new-tests.go:74:12:74:58 | call to Sprintf | provenance | MaD:11 |
|
||||
| new-tests.go:74:49:74:57 | selection of word | new-tests.go:74:12:74:58 | []type{args} [array] | provenance | |
|
||||
| new-tests.go:74:49:74:57 | selection of word | new-tests.go:74:12:74:58 | call to Sprintf | provenance | FunctionModel |
|
||||
| new-tests.go:78:18:78:24 | selection of URL | new-tests.go:78:18:78:32 | call to Query | provenance | Src:MaD:12 MaD:13 |
|
||||
| new-tests.go:78:18:78:24 | selection of URL | new-tests.go:78:18:78:32 | call to Query | provenance | Src:MaD:9 MaD:13 |
|
||||
| new-tests.go:78:18:78:32 | call to Query | new-tests.go:78:18:78:46 | call to Get | provenance | MaD:14 |
|
||||
| new-tests.go:78:18:78:46 | call to Get | new-tests.go:79:11:79:46 | ...+... | provenance | |
|
||||
| new-tests.go:81:18:81:67 | call to TrimPrefix | new-tests.go:82:11:82:46 | ...+... | provenance | |
|
||||
| new-tests.go:81:37:81:43 | selection of URL | new-tests.go:81:37:81:48 | selection of Path | provenance | Src:MaD:12 |
|
||||
| new-tests.go:81:37:81:43 | selection of URL | new-tests.go:81:37:81:48 | selection of Path | provenance | Src:MaD:9 |
|
||||
| new-tests.go:81:37:81:48 | selection of Path | new-tests.go:81:18:81:67 | call to TrimPrefix | provenance | MaD:15 |
|
||||
| new-tests.go:86:10:86:20 | call to Vars | new-tests.go:88:11:88:46 | ...+... | provenance | Src:MaD:7 |
|
||||
| new-tests.go:95:18:95:45 | call to URLParam | new-tests.go:96:11:96:46 | ...+... | provenance | Src:MaD:6 |
|
||||
| new-tests.go:86:10:86:20 | call to Vars | new-tests.go:88:11:88:46 | ...+... | provenance | Src:MaD:5 |
|
||||
| new-tests.go:95:18:95:45 | call to URLParam | new-tests.go:96:11:96:46 | ...+... | provenance | Src:MaD:4 |
|
||||
models
|
||||
| 1 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 2 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 3 | Source: github.com/gin-gonic/gin; Context; true; Param; ; ; ReturnValue; remote; manual |
|
||||
| 4 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual |
|
||||
| 5 | Source: github.com/gin-gonic/gin; Context; true; ShouldBindJSON; ; ; Argument[0]; remote; manual |
|
||||
| 6 | Source: github.com/go-chi/chi; ; true; URLParam; ; ; ReturnValue; remote; manual |
|
||||
| 7 | Source: github.com/gorilla/mux; ; true; Vars; ; ; ReturnValue; remote; manual |
|
||||
| 8 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 9 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 10 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual |
|
||||
| 11 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 12 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 1 | Source: github.com/gin-gonic/gin; Context; true; Param; ; ; ReturnValue; remote; manual |
|
||||
| 2 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual |
|
||||
| 3 | Source: github.com/gin-gonic/gin; Context; true; ShouldBindJSON; ; ; Argument[0]; remote; manual |
|
||||
| 4 | Source: github.com/go-chi/chi; ; true; URLParam; ; ; ReturnValue; remote; manual |
|
||||
| 5 | Source: github.com/gorilla/mux; ; true; Vars; ; ; ReturnValue; remote; manual |
|
||||
| 6 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 7 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 8 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual |
|
||||
| 9 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 10 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 11 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 12 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 13 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 14 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 15 | Summary: strings; ; false; TrimPrefix; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
models
|
||||
| 1 | Summary: io/fs; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual |
|
||||
| 2 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual |
|
||||
| 3 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 2 | Summary: io/fs; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual |
|
||||
| 3 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual |
|
||||
| 4 | Summary: os; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual |
|
||||
edges
|
||||
| Builtin.go:6:2:6:2 | definition of b | Builtin.go:8:9:8:17 | type conversion | provenance | |
|
||||
| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:3 MaD:1 |
|
||||
| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:3 MaD:2 |
|
||||
| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:3 MaD:4 |
|
||||
| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:1 MaD:2 |
|
||||
| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:1 MaD:3 |
|
||||
| Builtin.go:7:2:7:15 | selection of Body | Builtin.go:6:2:6:2 | definition of b | provenance | Src:MaD:1 MaD:4 |
|
||||
| Builtin.go:12:2:12:2 | definition of b | Builtin.go:17:9:17:17 | type conversion | provenance | |
|
||||
| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:3 MaD:1 |
|
||||
| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:3 MaD:2 |
|
||||
| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:3 MaD:4 |
|
||||
| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:1 MaD:2 |
|
||||
| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:1 MaD:3 |
|
||||
| Builtin.go:13:2:13:15 | selection of Body | Builtin.go:12:2:12:2 | definition of b | provenance | Src:MaD:1 MaD:4 |
|
||||
| Builtin.go:21:2:21:2 | definition of b | Builtin.go:24:10:24:18 | type conversion | provenance | |
|
||||
| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:3 MaD:1 |
|
||||
| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:3 MaD:2 |
|
||||
| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:3 MaD:4 |
|
||||
| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:1 MaD:2 |
|
||||
| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:1 MaD:3 |
|
||||
| Builtin.go:22:2:22:15 | selection of Body | Builtin.go:21:2:21:2 | definition of b | provenance | Src:MaD:1 MaD:4 |
|
||||
nodes
|
||||
| Builtin.go:6:2:6:2 | definition of b | semmle.label | definition of b |
|
||||
| Builtin.go:7:2:7:15 | selection of Body | semmle.label | selection of Body |
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
models
|
||||
| 1 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 2 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 4 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual |
|
||||
| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual |
|
||||
| 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 3 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
edges
|
||||
| test.go:27:11:27:63 | call to ExecuteQuery | test.go:28:7:28:11 | query | provenance | Src:MaD:4 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:1 MaD:2 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:3 |
|
||||
| test.go:27:11:27:63 | call to ExecuteQuery | test.go:28:7:28:11 | query | provenance | Src:MaD:1 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:2 MaD:3 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:4 |
|
||||
| test.go:32:11:32:36 | call to Get | test.go:34:7:34:30 | ...+... | provenance | |
|
||||
nodes
|
||||
| test.go:27:11:27:63 | call to ExecuteQuery | semmle.label | call to ExecuteQuery |
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
models
|
||||
| 1 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 2 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 4 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual |
|
||||
| 5 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual |
|
||||
| 6 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual |
|
||||
| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual |
|
||||
| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual |
|
||||
| 3 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual |
|
||||
| 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 5 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
edges
|
||||
| test.go:9:10:9:40 | call to ReadEnvironment | test.go:11:7:11:29 | ...+... | provenance | Src:MaD:5 |
|
||||
| test.go:15:9:15:32 | call to GetCliArg | test.go:17:7:17:28 | ...+... | provenance | Src:MaD:6 |
|
||||
| test.go:27:11:27:63 | call to ExecuteQuery | test.go:28:7:28:11 | query | provenance | Src:MaD:4 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:1 MaD:2 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:3 |
|
||||
| test.go:9:10:9:40 | call to ReadEnvironment | test.go:11:7:11:29 | ...+... | provenance | Src:MaD:3 |
|
||||
| test.go:15:9:15:32 | call to GetCliArg | test.go:17:7:17:28 | ...+... | provenance | Src:MaD:2 |
|
||||
| test.go:27:11:27:63 | call to ExecuteQuery | test.go:28:7:28:11 | query | provenance | Src:MaD:1 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:4 MaD:5 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:6 |
|
||||
| test.go:32:11:32:36 | call to Get | test.go:34:7:34:30 | ...+... | provenance | |
|
||||
nodes
|
||||
| test.go:9:10:9:40 | call to ReadEnvironment | semmle.label | call to ReadEnvironment |
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
models
|
||||
| 1 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 2 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 4 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual |
|
||||
| 5 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual |
|
||||
| 6 | Source: github.com/nonexistent/sources; ; false; GetCustom; ; ; ReturnValue; custom; manual |
|
||||
| 7 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual |
|
||||
| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual |
|
||||
| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual |
|
||||
| 3 | Source: github.com/nonexistent/sources; ; false; GetCustom; ; ; ReturnValue; custom; manual |
|
||||
| 4 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual |
|
||||
| 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 6 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 7 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
edges
|
||||
| test.go:9:10:9:40 | call to ReadEnvironment | test.go:11:7:11:29 | ...+... | provenance | Src:MaD:5 |
|
||||
| test.go:15:9:15:32 | call to GetCliArg | test.go:17:7:17:28 | ...+... | provenance | Src:MaD:7 |
|
||||
| test.go:21:11:21:36 | call to GetCustom | test.go:23:7:23:30 | ...+... | provenance | Src:MaD:6 |
|
||||
| test.go:27:11:27:63 | call to ExecuteQuery | test.go:28:7:28:11 | query | provenance | Src:MaD:4 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:1 MaD:2 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:3 |
|
||||
| test.go:9:10:9:40 | call to ReadEnvironment | test.go:11:7:11:29 | ...+... | provenance | Src:MaD:4 |
|
||||
| test.go:15:9:15:32 | call to GetCliArg | test.go:17:7:17:28 | ...+... | provenance | Src:MaD:2 |
|
||||
| test.go:21:11:21:36 | call to GetCustom | test.go:23:7:23:30 | ...+... | provenance | Src:MaD:3 |
|
||||
| test.go:27:11:27:63 | call to ExecuteQuery | test.go:28:7:28:11 | query | provenance | Src:MaD:1 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:5 MaD:6 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:7 |
|
||||
| test.go:32:11:32:36 | call to Get | test.go:34:7:34:30 | ...+... | provenance | |
|
||||
nodes
|
||||
| test.go:9:10:9:40 | call to ReadEnvironment | semmle.label | call to ReadEnvironment |
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
models
|
||||
| 1 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 2 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 4 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual |
|
||||
| 5 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual |
|
||||
| 1 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual |
|
||||
| 2 | Source: github.com/nonexistent/sources; ; false; ReadEnvironment; ; ; ReturnValue; environment; manual |
|
||||
| 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
edges
|
||||
| test.go:9:10:9:40 | call to ReadEnvironment | test.go:11:7:11:29 | ...+... | provenance | Src:MaD:4 |
|
||||
| test.go:15:9:15:32 | call to GetCliArg | test.go:17:7:17:28 | ...+... | provenance | Src:MaD:5 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:1 MaD:2 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:3 |
|
||||
| test.go:9:10:9:40 | call to ReadEnvironment | test.go:11:7:11:29 | ...+... | provenance | Src:MaD:2 |
|
||||
| test.go:15:9:15:32 | call to GetCliArg | test.go:17:7:17:28 | ...+... | provenance | Src:MaD:1 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:3 MaD:4 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:5 |
|
||||
| test.go:32:11:32:36 | call to Get | test.go:34:7:34:30 | ...+... | provenance | |
|
||||
nodes
|
||||
| test.go:9:10:9:40 | call to ReadEnvironment | semmle.label | call to ReadEnvironment |
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
models
|
||||
| 1 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 2 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 4 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual |
|
||||
| 5 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual |
|
||||
| 1 | Source: github.com/nonexistent/sources; ; false; ExecuteQuery; ; ; ReturnValue; database; manual |
|
||||
| 2 | Source: github.com/nonexistent/sources; ; false; GetCliArg; ; ; ReturnValue; commandargs; manual |
|
||||
| 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 4 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
edges
|
||||
| test.go:15:9:15:32 | call to GetCliArg | test.go:17:7:17:28 | ...+... | provenance | Src:MaD:5 |
|
||||
| test.go:27:11:27:63 | call to ExecuteQuery | test.go:28:7:28:11 | query | provenance | Src:MaD:4 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:1 MaD:2 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:3 |
|
||||
| test.go:15:9:15:32 | call to GetCliArg | test.go:17:7:17:28 | ...+... | provenance | Src:MaD:2 |
|
||||
| test.go:27:11:27:63 | call to ExecuteQuery | test.go:28:7:28:11 | query | provenance | Src:MaD:1 |
|
||||
| test.go:32:11:32:15 | selection of URL | test.go:32:11:32:23 | call to Query | provenance | Src:MaD:3 MaD:4 |
|
||||
| test.go:32:11:32:23 | call to Query | test.go:32:11:32:36 | call to Get | provenance | MaD:5 |
|
||||
| test.go:32:11:32:36 | call to Get | test.go:34:7:34:30 | ...+... | provenance | |
|
||||
nodes
|
||||
| test.go:15:9:15:32 | call to GetCliArg | semmle.label | call to GetCliArg |
|
||||
|
||||
@@ -53,149 +53,149 @@
|
||||
| test.go:311:21:311:48 | type assertion | test.go:309:15:309:36 | call to GetString | test.go:311:21:311:48 | type assertion | Cross-site scripting vulnerability due to $@. | test.go:309:15:309:36 | call to GetString | user-provided value | test.go:0:0:0:0 | test.go | |
|
||||
| test.go:312:21:312:52 | type assertion | test.go:309:15:309:36 | call to GetString | test.go:312:21:312:52 | type assertion | Cross-site scripting vulnerability due to $@. | test.go:309:15:309:36 | call to GetString | user-provided value | test.go:0:0:0:0 | test.go | |
|
||||
edges
|
||||
| test.go:33:6:33:10 | definition of bound | test.go:35:13:35:30 | type conversion | provenance | Src:MaD:14 |
|
||||
| test.go:33:6:33:10 | definition of bound | test.go:36:13:36:27 | type conversion | provenance | Src:MaD:14 |
|
||||
| test.go:33:6:33:10 | definition of bound | test.go:37:13:37:29 | type conversion | provenance | Src:MaD:14 |
|
||||
| test.go:42:20:42:42 | call to Cookie | test.go:42:13:42:43 | type conversion | provenance | Src:MaD:15 |
|
||||
| test.go:47:20:47:31 | call to Data | test.go:47:13:47:52 | type conversion | provenance | Src:MaD:16 |
|
||||
| test.go:52:20:52:43 | call to GetData | test.go:52:13:52:53 | type conversion | provenance | Src:MaD:17 |
|
||||
| test.go:57:20:57:42 | call to Header | test.go:57:13:57:43 | type conversion | provenance | Src:MaD:18 |
|
||||
| test.go:62:20:62:41 | call to Param | test.go:62:13:62:42 | type conversion | provenance | Src:MaD:19 |
|
||||
| test.go:67:20:67:33 | call to Params | test.go:67:13:67:45 | type conversion | provenance | Src:MaD:20 |
|
||||
| test.go:72:20:72:41 | call to Query | test.go:72:13:72:42 | type conversion | provenance | Src:MaD:21 |
|
||||
| test.go:77:20:77:32 | call to Refer | test.go:77:13:77:33 | type conversion | provenance | Src:MaD:22 |
|
||||
| test.go:82:20:82:34 | call to Referer | test.go:82:13:82:35 | type conversion | provenance | Src:MaD:23 |
|
||||
| test.go:87:20:87:30 | call to URI | test.go:87:13:87:31 | type conversion | provenance | Src:MaD:24 |
|
||||
| test.go:92:20:92:30 | call to URL | test.go:92:13:92:31 | type conversion | provenance | Src:MaD:25 |
|
||||
| test.go:97:20:97:36 | call to UserAgent | test.go:97:13:97:37 | type conversion | provenance | Src:MaD:26 |
|
||||
| test.go:102:14:102:25 | call to Data | test.go:102:14:102:45 | type assertion | provenance | Src:MaD:16 |
|
||||
| test.go:114:14:114:25 | call to Data | test.go:114:14:114:45 | type assertion | provenance | Src:MaD:16 |
|
||||
| test.go:126:14:126:25 | call to Data | test.go:126:14:126:45 | type assertion | provenance | Src:MaD:16 |
|
||||
| test.go:143:23:143:42 | call to Data | test.go:143:23:143:62 | type assertion | provenance | Src:MaD:16 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:200:36:200:53 | type assertion | provenance | Src:MaD:16 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:201:39:201:56 | type assertion | provenance | Src:MaD:16 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:202:28:202:56 | type assertion | provenance | Src:MaD:16 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:204:36:204:53 | type assertion | provenance | Src:MaD:16 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:205:34:205:51 | type assertion | provenance | Src:MaD:16 |
|
||||
| test.go:33:6:33:10 | definition of bound | test.go:35:13:35:30 | type conversion | provenance | Src:MaD:1 |
|
||||
| test.go:33:6:33:10 | definition of bound | test.go:36:13:36:27 | type conversion | provenance | Src:MaD:1 |
|
||||
| test.go:33:6:33:10 | definition of bound | test.go:37:13:37:29 | type conversion | provenance | Src:MaD:1 |
|
||||
| test.go:42:20:42:42 | call to Cookie | test.go:42:13:42:43 | type conversion | provenance | Src:MaD:2 |
|
||||
| test.go:47:20:47:31 | call to Data | test.go:47:13:47:52 | type conversion | provenance | Src:MaD:3 |
|
||||
| test.go:52:20:52:43 | call to GetData | test.go:52:13:52:53 | type conversion | provenance | Src:MaD:4 |
|
||||
| test.go:57:20:57:42 | call to Header | test.go:57:13:57:43 | type conversion | provenance | Src:MaD:5 |
|
||||
| test.go:62:20:62:41 | call to Param | test.go:62:13:62:42 | type conversion | provenance | Src:MaD:6 |
|
||||
| test.go:67:20:67:33 | call to Params | test.go:67:13:67:45 | type conversion | provenance | Src:MaD:7 |
|
||||
| test.go:72:20:72:41 | call to Query | test.go:72:13:72:42 | type conversion | provenance | Src:MaD:8 |
|
||||
| test.go:77:20:77:32 | call to Refer | test.go:77:13:77:33 | type conversion | provenance | Src:MaD:9 |
|
||||
| test.go:82:20:82:34 | call to Referer | test.go:82:13:82:35 | type conversion | provenance | Src:MaD:10 |
|
||||
| test.go:87:20:87:30 | call to URI | test.go:87:13:87:31 | type conversion | provenance | Src:MaD:11 |
|
||||
| test.go:92:20:92:30 | call to URL | test.go:92:13:92:31 | type conversion | provenance | Src:MaD:12 |
|
||||
| test.go:97:20:97:36 | call to UserAgent | test.go:97:13:97:37 | type conversion | provenance | Src:MaD:13 |
|
||||
| test.go:102:14:102:25 | call to Data | test.go:102:14:102:45 | type assertion | provenance | Src:MaD:3 |
|
||||
| test.go:114:14:114:25 | call to Data | test.go:114:14:114:45 | type assertion | provenance | Src:MaD:3 |
|
||||
| test.go:126:14:126:25 | call to Data | test.go:126:14:126:45 | type assertion | provenance | Src:MaD:3 |
|
||||
| test.go:143:23:143:42 | call to Data | test.go:143:23:143:62 | type assertion | provenance | Src:MaD:3 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:200:36:200:53 | type assertion | provenance | Src:MaD:3 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:201:39:201:56 | type assertion | provenance | Src:MaD:3 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:202:28:202:56 | type assertion | provenance | Src:MaD:3 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:204:36:204:53 | type assertion | provenance | Src:MaD:3 |
|
||||
| test.go:199:15:199:26 | call to Data | test.go:205:34:205:51 | type assertion | provenance | Src:MaD:3 |
|
||||
| test.go:200:21:200:54 | call to HTML2str | test.go:200:14:200:55 | type conversion | provenance | |
|
||||
| test.go:200:36:200:53 | type assertion | test.go:200:21:200:54 | call to HTML2str | provenance | MaD:28 |
|
||||
| test.go:200:36:200:53 | type assertion | test.go:200:21:200:54 | call to HTML2str | provenance | MaD:35 |
|
||||
| test.go:201:21:201:57 | call to Htmlunquote | test.go:201:14:201:58 | type conversion | provenance | |
|
||||
| test.go:201:39:201:56 | type assertion | test.go:201:21:201:57 | call to Htmlunquote | provenance | MaD:29 |
|
||||
| test.go:201:39:201:56 | type assertion | test.go:201:21:201:57 | call to Htmlunquote | provenance | MaD:36 |
|
||||
| test.go:202:2:202:68 | ... := ...[0] | test.go:203:14:203:28 | type assertion | provenance | |
|
||||
| test.go:202:28:202:56 | type assertion | test.go:202:2:202:68 | ... := ...[0] | provenance | MaD:30 |
|
||||
| test.go:202:28:202:56 | type assertion | test.go:202:2:202:68 | ... := ...[0] | provenance | MaD:37 |
|
||||
| test.go:204:21:204:54 | call to Str2html | test.go:204:14:204:55 | type conversion | provenance | |
|
||||
| test.go:204:36:204:53 | type assertion | test.go:204:21:204:54 | call to Str2html | provenance | MaD:32 |
|
||||
| test.go:204:36:204:53 | type assertion | test.go:204:21:204:54 | call to Str2html | provenance | MaD:39 |
|
||||
| test.go:205:21:205:58 | call to Substr | test.go:205:14:205:59 | type conversion | provenance | |
|
||||
| test.go:205:34:205:51 | type assertion | test.go:205:21:205:58 | call to Substr | provenance | MaD:33 |
|
||||
| test.go:205:34:205:51 | type assertion | test.go:205:21:205:58 | call to Substr | provenance | MaD:40 |
|
||||
| test.go:207:6:207:6 | definition of s | test.go:209:14:209:28 | type conversion | provenance | |
|
||||
| test.go:208:18:208:33 | selection of Form | test.go:207:6:207:6 | definition of s | provenance | Src:MaD:41 MaD:31 |
|
||||
| test.go:223:2:223:34 | ... := ...[0] | test.go:225:31:225:31 | f | provenance | Src:MaD:35 |
|
||||
| test.go:223:2:223:34 | ... := ...[1] | test.go:224:14:224:32 | type conversion | provenance | Src:MaD:35 |
|
||||
| test.go:208:18:208:33 | selection of Form | test.go:207:6:207:6 | definition of s | provenance | Src:MaD:21 MaD:38 |
|
||||
| test.go:223:2:223:34 | ... := ...[0] | test.go:225:31:225:31 | f | provenance | Src:MaD:15 |
|
||||
| test.go:223:2:223:34 | ... := ...[1] | test.go:224:14:224:32 | type conversion | provenance | Src:MaD:15 |
|
||||
| test.go:225:2:225:32 | ... := ...[0] | test.go:226:14:226:20 | content | provenance | |
|
||||
| test.go:225:31:225:31 | f | test.go:225:2:225:32 | ... := ...[0] | provenance | MaD:40 |
|
||||
| test.go:228:2:228:40 | ... := ...[0] | test.go:229:14:229:38 | type conversion | provenance | Src:MaD:36 |
|
||||
| test.go:231:7:231:28 | call to GetString | test.go:232:14:232:22 | type conversion | provenance | Src:MaD:37 |
|
||||
| test.go:234:8:234:35 | call to GetStrings | test.go:235:14:235:26 | type conversion | provenance | Src:MaD:38 |
|
||||
| test.go:237:9:237:17 | call to Input | test.go:238:14:238:27 | type conversion | provenance | Src:MaD:39 |
|
||||
| test.go:240:6:240:8 | definition of str | test.go:242:14:242:30 | type conversion | provenance | Src:MaD:34 |
|
||||
| test.go:246:15:246:36 | call to GetString | test.go:249:21:249:29 | untrusted | provenance | Src:MaD:37 |
|
||||
| test.go:259:23:259:44 | call to GetCookie | test.go:259:16:259:45 | type conversion | provenance | Src:MaD:27 |
|
||||
| test.go:270:62:270:83 | call to GetCookie | test.go:270:55:270:84 | type conversion | provenance | Src:MaD:27 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:278:21:278:28 | index expression | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:283:44:283:60 | selection of Filename | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:284:38:284:49 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:285:37:285:48 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:291:4:291:15 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:293:42:293:53 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:294:53:294:64 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:295:38:295:49 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:296:49:296:60 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:297:51:297:65 | index expression | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:298:36:298:47 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:299:37:299:48 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:301:39:301:50 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:302:40:302:51 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:303:39:303:50 | genericFiles | provenance | Src:MaD:36 |
|
||||
| test.go:225:31:225:31 | f | test.go:225:2:225:32 | ... := ...[0] | provenance | MaD:41 |
|
||||
| test.go:228:2:228:40 | ... := ...[0] | test.go:229:14:229:38 | type conversion | provenance | Src:MaD:16 |
|
||||
| test.go:231:7:231:28 | call to GetString | test.go:232:14:232:22 | type conversion | provenance | Src:MaD:17 |
|
||||
| test.go:234:8:234:35 | call to GetStrings | test.go:235:14:235:26 | type conversion | provenance | Src:MaD:18 |
|
||||
| test.go:237:9:237:17 | call to Input | test.go:238:14:238:27 | type conversion | provenance | Src:MaD:19 |
|
||||
| test.go:240:6:240:8 | definition of str | test.go:242:14:242:30 | type conversion | provenance | Src:MaD:20 |
|
||||
| test.go:246:15:246:36 | call to GetString | test.go:249:21:249:29 | untrusted | provenance | Src:MaD:17 |
|
||||
| test.go:259:23:259:44 | call to GetCookie | test.go:259:16:259:45 | type conversion | provenance | Src:MaD:14 |
|
||||
| test.go:270:62:270:83 | call to GetCookie | test.go:270:55:270:84 | type conversion | provenance | Src:MaD:14 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:278:21:278:28 | index expression | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:283:44:283:60 | selection of Filename | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:284:38:284:49 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:285:37:285:48 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:291:4:291:15 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:293:42:293:53 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:294:53:294:64 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:295:38:295:49 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:296:49:296:60 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:297:51:297:65 | index expression | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:298:36:298:47 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:299:37:299:48 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:301:39:301:50 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:302:40:302:51 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:275:2:275:40 | ... := ...[0] | test.go:303:39:303:50 | genericFiles | provenance | Src:MaD:16 |
|
||||
| test.go:276:2:276:13 | definition of genericFiles [array] | test.go:297:51:297:62 | genericFiles [array] | provenance | |
|
||||
| test.go:278:21:278:28 | index expression | test.go:276:2:276:13 | definition of genericFiles [array] | provenance | |
|
||||
| test.go:283:44:283:60 | selection of Filename | test.go:283:21:283:61 | call to GetDisplayString | provenance | FunctionModel |
|
||||
| test.go:284:21:284:53 | call to SliceChunk | test.go:284:21:284:92 | selection of Filename | provenance | |
|
||||
| test.go:284:38:284:49 | genericFiles | test.go:284:21:284:53 | call to SliceChunk | provenance | MaD:1 |
|
||||
| test.go:284:38:284:49 | genericFiles | test.go:284:21:284:53 | call to SliceChunk | provenance | MaD:22 |
|
||||
| test.go:285:21:285:60 | call to SliceDiff | test.go:285:21:285:96 | selection of Filename | provenance | |
|
||||
| test.go:285:37:285:48 | genericFiles | test.go:285:21:285:60 | call to SliceDiff | provenance | MaD:2 |
|
||||
| test.go:285:37:285:48 | genericFiles | test.go:285:21:285:60 | call to SliceDiff | provenance | MaD:23 |
|
||||
| test.go:290:3:292:44 | call to SliceFilter | test.go:290:3:292:80 | selection of Filename | provenance | |
|
||||
| test.go:291:4:291:15 | genericFiles | test.go:290:3:292:44 | call to SliceFilter | provenance | MaD:3 |
|
||||
| test.go:291:4:291:15 | genericFiles | test.go:290:3:292:44 | call to SliceFilter | provenance | MaD:24 |
|
||||
| test.go:293:21:293:65 | call to SliceIntersect | test.go:293:21:293:101 | selection of Filename | provenance | |
|
||||
| test.go:293:42:293:53 | genericFiles | test.go:293:21:293:65 | call to SliceIntersect | provenance | MaD:4 |
|
||||
| test.go:293:42:293:53 | genericFiles | test.go:293:21:293:65 | call to SliceIntersect | provenance | MaD:25 |
|
||||
| test.go:294:21:294:65 | call to SliceIntersect | test.go:294:21:294:101 | selection of Filename | provenance | |
|
||||
| test.go:294:53:294:64 | genericFiles | test.go:294:21:294:65 | call to SliceIntersect | provenance | MaD:4 |
|
||||
| test.go:294:53:294:64 | genericFiles | test.go:294:21:294:65 | call to SliceIntersect | provenance | MaD:25 |
|
||||
| test.go:295:21:295:61 | call to SliceMerge | test.go:295:21:295:97 | selection of Filename | provenance | |
|
||||
| test.go:295:38:295:49 | genericFiles | test.go:295:21:295:61 | call to SliceMerge | provenance | MaD:5 |
|
||||
| test.go:295:38:295:49 | genericFiles | test.go:295:21:295:61 | call to SliceMerge | provenance | MaD:26 |
|
||||
| test.go:296:21:296:61 | call to SliceMerge | test.go:296:21:296:97 | selection of Filename | provenance | |
|
||||
| test.go:296:49:296:60 | genericFiles | test.go:296:21:296:61 | call to SliceMerge | provenance | MaD:5 |
|
||||
| test.go:296:49:296:60 | genericFiles | test.go:296:21:296:61 | call to SliceMerge | provenance | MaD:26 |
|
||||
| test.go:297:21:297:66 | call to SlicePad | test.go:297:21:297:102 | selection of Filename | provenance | |
|
||||
| test.go:297:51:297:62 | genericFiles [array] | test.go:297:51:297:65 | index expression | provenance | |
|
||||
| test.go:297:51:297:65 | index expression | test.go:297:21:297:66 | call to SlicePad | provenance | MaD:6 |
|
||||
| test.go:297:51:297:65 | index expression | test.go:297:21:297:66 | call to SlicePad | provenance | MaD:27 |
|
||||
| test.go:298:21:298:66 | call to SlicePad | test.go:298:21:298:102 | selection of Filename | provenance | |
|
||||
| test.go:298:36:298:47 | genericFiles | test.go:298:21:298:66 | call to SlicePad | provenance | MaD:6 |
|
||||
| test.go:298:36:298:47 | genericFiles | test.go:298:21:298:66 | call to SlicePad | provenance | MaD:27 |
|
||||
| test.go:299:21:299:49 | call to SliceRand | test.go:299:21:299:82 | selection of Filename | provenance | |
|
||||
| test.go:299:37:299:48 | genericFiles | test.go:299:21:299:49 | call to SliceRand | provenance | MaD:7 |
|
||||
| test.go:299:37:299:48 | genericFiles | test.go:299:21:299:49 | call to SliceRand | provenance | MaD:28 |
|
||||
| test.go:301:21:301:97 | call to SliceReduce | test.go:301:21:301:133 | selection of Filename | provenance | |
|
||||
| test.go:301:39:301:50 | genericFiles | test.go:301:21:301:97 | call to SliceReduce | provenance | MaD:8 |
|
||||
| test.go:301:39:301:50 | genericFiles | test.go:301:21:301:97 | call to SliceReduce | provenance | MaD:29 |
|
||||
| test.go:302:21:302:52 | call to SliceShuffle | test.go:302:21:302:88 | selection of Filename | provenance | |
|
||||
| test.go:302:40:302:51 | genericFiles | test.go:302:21:302:52 | call to SliceShuffle | provenance | MaD:9 |
|
||||
| test.go:302:40:302:51 | genericFiles | test.go:302:21:302:52 | call to SliceShuffle | provenance | MaD:30 |
|
||||
| test.go:303:21:303:51 | call to SliceUnique | test.go:303:21:303:87 | selection of Filename | provenance | |
|
||||
| test.go:303:39:303:50 | genericFiles | test.go:303:21:303:51 | call to SliceUnique | provenance | MaD:10 |
|
||||
| test.go:303:39:303:50 | genericFiles | test.go:303:21:303:51 | call to SliceUnique | provenance | MaD:31 |
|
||||
| test.go:308:2:308:5 | definition of bMap | test.go:311:21:311:24 | bMap | provenance | |
|
||||
| test.go:308:2:308:5 | definition of bMap | test.go:312:21:312:24 | bMap | provenance | |
|
||||
| test.go:309:15:309:36 | call to GetString | test.go:310:22:310:30 | untrusted | provenance | Src:MaD:37 |
|
||||
| test.go:310:22:310:30 | untrusted | test.go:308:2:308:5 | definition of bMap | provenance | MaD:13 |
|
||||
| test.go:311:21:311:24 | bMap | test.go:311:21:311:39 | call to Get | provenance | MaD:11 |
|
||||
| test.go:309:15:309:36 | call to GetString | test.go:310:22:310:30 | untrusted | provenance | Src:MaD:17 |
|
||||
| test.go:310:22:310:30 | untrusted | test.go:308:2:308:5 | definition of bMap | provenance | MaD:34 |
|
||||
| test.go:311:21:311:24 | bMap | test.go:311:21:311:39 | call to Get | provenance | MaD:32 |
|
||||
| test.go:311:21:311:39 | call to Get | test.go:311:21:311:48 | type assertion | provenance | |
|
||||
| test.go:312:21:312:24 | bMap | test.go:312:21:312:32 | call to Items | provenance | MaD:12 |
|
||||
| test.go:312:21:312:24 | bMap | test.go:312:21:312:32 | call to Items | provenance | MaD:33 |
|
||||
| test.go:312:21:312:32 | call to Items | test.go:312:21:312:52 | type assertion | provenance | |
|
||||
models
|
||||
| 1 | Summary: group:beego-utils; ; false; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: group:beego-utils; ; false; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: group:beego-utils; ; false; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: group:beego-utils; ; false; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: group:beego-utils; ; false; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: group:beego-utils; ; false; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual |
|
||||
| 7 | Summary: group:beego-utils; ; false; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 8 | Summary: group:beego-utils; ; false; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 9 | Summary: group:beego-utils; ; false; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: group:beego-utils; ; false; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 11 | Summary: group:beego-utils; BeeMap; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 12 | Summary: group:beego-utils; BeeMap; true; Items; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 13 | Summary: group:beego-utils; BeeMap; true; Set; ; ; Argument[1]; Argument[receiver]; taint; manual |
|
||||
| 14 | Source: group:beego-context; BeegoInput; true; Bind; ; ; Argument[0]; remote; manual |
|
||||
| 15 | Source: group:beego-context; BeegoInput; true; Cookie; ; ; ReturnValue[0]; remote; manual |
|
||||
| 16 | Source: group:beego-context; BeegoInput; true; Data; ; ; ReturnValue[0]; remote; manual |
|
||||
| 17 | Source: group:beego-context; BeegoInput; true; GetData; ; ; ReturnValue[0]; remote; manual |
|
||||
| 18 | Source: group:beego-context; BeegoInput; true; Header; ; ; ReturnValue[0]; remote; manual |
|
||||
| 19 | Source: group:beego-context; BeegoInput; true; Param; ; ; ReturnValue[0]; remote; manual |
|
||||
| 20 | Source: group:beego-context; BeegoInput; true; Params; ; ; ReturnValue[0]; remote; manual |
|
||||
| 21 | Source: group:beego-context; BeegoInput; true; Query; ; ; ReturnValue[0]; remote; manual |
|
||||
| 22 | Source: group:beego-context; BeegoInput; true; Refer; ; ; ReturnValue[0]; remote; manual |
|
||||
| 23 | Source: group:beego-context; BeegoInput; true; Referer; ; ; ReturnValue[0]; remote; manual |
|
||||
| 24 | Source: group:beego-context; BeegoInput; true; URI; ; ; ReturnValue[0]; remote; manual |
|
||||
| 25 | Source: group:beego-context; BeegoInput; true; URL; ; ; ReturnValue[0]; remote; manual |
|
||||
| 26 | Source: group:beego-context; BeegoInput; true; UserAgent; ; ; ReturnValue[0]; remote; manual |
|
||||
| 27 | Source: group:beego-context; Context; true; GetCookie; ; ; ReturnValue; remote; manual |
|
||||
| 28 | Summary: group:beego; ; false; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 29 | Summary: group:beego; ; false; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 30 | Summary: group:beego; ; false; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 31 | Summary: group:beego; ; false; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 32 | Summary: group:beego; ; false; Str2html; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 33 | Summary: group:beego; ; false; Substr; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 34 | Source: group:beego; Controller; true; ParseForm; ; ; Argument[0]; remote; manual |
|
||||
| 35 | Source: group:beego; Controller; true; GetFile; ; ; ReturnValue[0..1]; remote; manual |
|
||||
| 36 | Source: group:beego; Controller; true; GetFiles; ; ; ReturnValue[0]; remote; manual |
|
||||
| 37 | Source: group:beego; Controller; true; GetString; ; ; ReturnValue[0]; remote; manual |
|
||||
| 38 | Source: group:beego; Controller; true; GetStrings; ; ; ReturnValue[0]; remote; manual |
|
||||
| 39 | Source: group:beego; Controller; true; Input; ; ; ReturnValue[0]; remote; manual |
|
||||
| 40 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 41 | Source: net/http; Request; true; Form; ; ; ; remote; manual |
|
||||
| 1 | Source: group:beego-context; BeegoInput; true; Bind; ; ; Argument[0]; remote; manual |
|
||||
| 2 | Source: group:beego-context; BeegoInput; true; Cookie; ; ; ReturnValue[0]; remote; manual |
|
||||
| 3 | Source: group:beego-context; BeegoInput; true; Data; ; ; ReturnValue[0]; remote; manual |
|
||||
| 4 | Source: group:beego-context; BeegoInput; true; GetData; ; ; ReturnValue[0]; remote; manual |
|
||||
| 5 | Source: group:beego-context; BeegoInput; true; Header; ; ; ReturnValue[0]; remote; manual |
|
||||
| 6 | Source: group:beego-context; BeegoInput; true; Param; ; ; ReturnValue[0]; remote; manual |
|
||||
| 7 | Source: group:beego-context; BeegoInput; true; Params; ; ; ReturnValue[0]; remote; manual |
|
||||
| 8 | Source: group:beego-context; BeegoInput; true; Query; ; ; ReturnValue[0]; remote; manual |
|
||||
| 9 | Source: group:beego-context; BeegoInput; true; Refer; ; ; ReturnValue[0]; remote; manual |
|
||||
| 10 | Source: group:beego-context; BeegoInput; true; Referer; ; ; ReturnValue[0]; remote; manual |
|
||||
| 11 | Source: group:beego-context; BeegoInput; true; URI; ; ; ReturnValue[0]; remote; manual |
|
||||
| 12 | Source: group:beego-context; BeegoInput; true; URL; ; ; ReturnValue[0]; remote; manual |
|
||||
| 13 | Source: group:beego-context; BeegoInput; true; UserAgent; ; ; ReturnValue[0]; remote; manual |
|
||||
| 14 | Source: group:beego-context; Context; true; GetCookie; ; ; ReturnValue; remote; manual |
|
||||
| 15 | Source: group:beego; Controller; true; GetFile; ; ; ReturnValue[0..1]; remote; manual |
|
||||
| 16 | Source: group:beego; Controller; true; GetFiles; ; ; ReturnValue[0]; remote; manual |
|
||||
| 17 | Source: group:beego; Controller; true; GetString; ; ; ReturnValue[0]; remote; manual |
|
||||
| 18 | Source: group:beego; Controller; true; GetStrings; ; ; ReturnValue[0]; remote; manual |
|
||||
| 19 | Source: group:beego; Controller; true; Input; ; ; ReturnValue[0]; remote; manual |
|
||||
| 20 | Source: group:beego; Controller; true; ParseForm; ; ; Argument[0]; remote; manual |
|
||||
| 21 | Source: net/http; Request; true; Form; ; ; ; remote; manual |
|
||||
| 22 | Summary: group:beego-utils; ; false; SliceChunk; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 23 | Summary: group:beego-utils; ; false; SliceDiff; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 24 | Summary: group:beego-utils; ; false; SliceFilter; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 25 | Summary: group:beego-utils; ; false; SliceIntersect; ; ; Argument[0..1]; ReturnValue; taint; manual |
|
||||
| 26 | Summary: group:beego-utils; ; false; SliceMerge; ; ; Argument[0..1]; ReturnValue; taint; manual |
|
||||
| 27 | Summary: group:beego-utils; ; false; SlicePad; ; ; Argument[0..2]; ReturnValue; taint; manual |
|
||||
| 28 | Summary: group:beego-utils; ; false; SliceRand; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 29 | Summary: group:beego-utils; ; false; SliceReduce; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 30 | Summary: group:beego-utils; ; false; SliceShuffle; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 31 | Summary: group:beego-utils; ; false; SliceUnique; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 32 | Summary: group:beego-utils; BeeMap; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 33 | Summary: group:beego-utils; BeeMap; true; Items; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 34 | Summary: group:beego-utils; BeeMap; true; Set; ; ; Argument[1]; Argument[receiver]; taint; manual |
|
||||
| 35 | Summary: group:beego; ; false; HTML2str; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 36 | Summary: group:beego; ; false; Htmlunquote; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 37 | Summary: group:beego; ; false; MapGet; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 38 | Summary: group:beego; ; false; ParseForm; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 39 | Summary: group:beego; ; false; Str2html; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 40 | Summary: group:beego; ; false; Substr; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 41 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
nodes
|
||||
| test.go:33:6:33:10 | definition of bound | semmle.label | definition of bound |
|
||||
| test.go:35:13:35:30 | type conversion | semmle.label | type conversion |
|
||||
|
||||
@@ -7,23 +7,23 @@
|
||||
| test.go:342:53:342:61 | untrusted | test.go:340:15:340:26 | call to Data | test.go:342:53:342:61 | untrusted | This path depends on a $@. | test.go:340:15:340:26 | call to Data | user-provided value |
|
||||
| test.go:344:23:344:31 | untrusted | test.go:340:15:340:26 | call to Data | test.go:344:23:344:31 | untrusted | This path depends on a $@. | test.go:340:15:340:26 | call to Data | user-provided value |
|
||||
edges
|
||||
| test.go:215:15:215:26 | call to Data | test.go:216:18:216:26 | untrusted | provenance | Src:MaD:3 Sink:MaD:5 |
|
||||
| test.go:215:15:215:26 | call to Data | test.go:217:10:217:18 | untrusted | provenance | Src:MaD:3 Sink:MaD:8 |
|
||||
| test.go:215:15:215:26 | call to Data | test.go:218:35:218:43 | untrusted | provenance | Src:MaD:3 Sink:MaD:6 |
|
||||
| test.go:324:17:324:37 | selection of RequestBody | test.go:324:40:324:43 | &... | provenance | Src:MaD:4 MaD:1 |
|
||||
| test.go:324:40:324:43 | &... | test.go:326:35:326:43 | untrusted | provenance | Sink:MaD:6 |
|
||||
| test.go:332:15:332:26 | call to Data | test.go:334:23:334:31 | untrusted | provenance | Src:MaD:3 Sink:MaD:2 |
|
||||
| test.go:340:15:340:26 | call to Data | test.go:342:53:342:61 | untrusted | provenance | Src:MaD:3 Sink:MaD:7 |
|
||||
| test.go:340:15:340:26 | call to Data | test.go:344:23:344:31 | untrusted | provenance | Src:MaD:3 Sink:MaD:2 |
|
||||
| test.go:215:15:215:26 | call to Data | test.go:216:18:216:26 | untrusted | provenance | Src:MaD:6 Sink:MaD:2 |
|
||||
| test.go:215:15:215:26 | call to Data | test.go:217:10:217:18 | untrusted | provenance | Src:MaD:6 Sink:MaD:5 |
|
||||
| test.go:215:15:215:26 | call to Data | test.go:218:35:218:43 | untrusted | provenance | Src:MaD:6 Sink:MaD:3 |
|
||||
| test.go:324:17:324:37 | selection of RequestBody | test.go:324:40:324:43 | &... | provenance | Src:MaD:7 MaD:8 |
|
||||
| test.go:324:40:324:43 | &... | test.go:326:35:326:43 | untrusted | provenance | Sink:MaD:3 |
|
||||
| test.go:332:15:332:26 | call to Data | test.go:334:23:334:31 | untrusted | provenance | Src:MaD:6 Sink:MaD:1 |
|
||||
| test.go:340:15:340:26 | call to Data | test.go:342:53:342:61 | untrusted | provenance | Src:MaD:6 Sink:MaD:4 |
|
||||
| test.go:340:15:340:26 | call to Data | test.go:344:23:344:31 | untrusted | provenance | Src:MaD:6 Sink:MaD:1 |
|
||||
models
|
||||
| 1 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 2 | Sink: group:beego-context; BeegoOutput; false; Download; ; ; Argument[0]; path-injection; manual |
|
||||
| 3 | Source: group:beego-context; BeegoInput; true; Data; ; ; ReturnValue[0]; remote; manual |
|
||||
| 4 | Source: group:beego-context; BeegoInput; true; RequestBody; ; ; ; remote; manual |
|
||||
| 5 | Sink: group:beego; ; false; Walk; ; ; Argument[1]; path-injection; manual |
|
||||
| 6 | Sink: group:beego; Controller; false; SaveToFile; ; ; Argument[1]; path-injection; manual |
|
||||
| 7 | Sink: group:beego; Controller; false; SaveToFileWithBuffer; ; ; Argument[1]; path-injection; manual |
|
||||
| 8 | Sink: group:beego; FileSystem; false; Open; ; ; Argument[0]; path-injection; manual |
|
||||
| 1 | Sink: group:beego-context; BeegoOutput; false; Download; ; ; Argument[0]; path-injection; manual |
|
||||
| 2 | Sink: group:beego; ; false; Walk; ; ; Argument[1]; path-injection; manual |
|
||||
| 3 | Sink: group:beego; Controller; false; SaveToFile; ; ; Argument[1]; path-injection; manual |
|
||||
| 4 | Sink: group:beego; Controller; false; SaveToFileWithBuffer; ; ; Argument[1]; path-injection; manual |
|
||||
| 5 | Sink: group:beego; FileSystem; false; Open; ; ; Argument[0]; path-injection; manual |
|
||||
| 6 | Source: group:beego-context; BeegoInput; true; Data; ; ; ReturnValue[0]; remote; manual |
|
||||
| 7 | Source: group:beego-context; BeegoInput; true; RequestBody; ; ; ; remote; manual |
|
||||
| 8 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
nodes
|
||||
| test.go:215:15:215:26 | call to Data | semmle.label | call to Data |
|
||||
| test.go:216:18:216:26 | untrusted | semmle.label | untrusted |
|
||||
|
||||
@@ -19,57 +19,57 @@
|
||||
| test.go:150:31:150:36 | reader | test.go:148:11:148:32 | call to Param | test.go:150:31:150:36 | reader | Cross-site scripting vulnerability due to $@. | test.go:148:11:148:32 | call to Param | user-provided value | test.go:0:0:0:0 | test.go | |
|
||||
| test.go:165:23:165:35 | type conversion | test.go:164:11:164:32 | call to Param | test.go:165:23:165:35 | type conversion | Cross-site scripting vulnerability due to $@. | test.go:164:11:164:32 | call to Param | user-provided value | test.go:0:0:0:0 | test.go | |
|
||||
edges
|
||||
| test.go:15:11:15:32 | call to Param | test.go:16:16:16:20 | param | provenance | Src:MaD:4 |
|
||||
| test.go:21:11:21:27 | call to ParamValues | test.go:22:16:22:20 | param | provenance | Src:MaD:5 |
|
||||
| test.go:27:11:27:37 | call to QueryParam | test.go:28:16:28:20 | param | provenance | Src:MaD:6 |
|
||||
| test.go:33:11:33:27 | call to QueryParams | test.go:34:16:34:20 | param | provenance | Src:MaD:7 |
|
||||
| test.go:39:10:39:26 | call to QueryString | test.go:40:16:40:19 | qstr | provenance | Src:MaD:8 |
|
||||
| test.go:45:9:45:34 | call to FormValue | test.go:46:16:46:18 | val | provenance | Src:MaD:9 |
|
||||
| test.go:51:2:51:30 | ... := ...[0] | test.go:52:16:52:37 | index expression | provenance | Src:MaD:10 |
|
||||
| test.go:57:2:57:46 | ... := ...[0] | test.go:58:13:58:22 | fileHeader | provenance | Src:MaD:11 |
|
||||
| test.go:15:11:15:32 | call to Param | test.go:16:16:16:20 | param | provenance | Src:MaD:8 |
|
||||
| test.go:21:11:21:27 | call to ParamValues | test.go:22:16:22:20 | param | provenance | Src:MaD:9 |
|
||||
| test.go:27:11:27:37 | call to QueryParam | test.go:28:16:28:20 | param | provenance | Src:MaD:10 |
|
||||
| test.go:33:11:33:27 | call to QueryParams | test.go:34:16:34:20 | param | provenance | Src:MaD:11 |
|
||||
| test.go:39:10:39:26 | call to QueryString | test.go:40:16:40:19 | qstr | provenance | Src:MaD:12 |
|
||||
| test.go:45:9:45:34 | call to FormValue | test.go:46:16:46:18 | val | provenance | Src:MaD:6 |
|
||||
| test.go:51:2:51:30 | ... := ...[0] | test.go:52:16:52:37 | index expression | provenance | Src:MaD:5 |
|
||||
| test.go:57:2:57:46 | ... := ...[0] | test.go:58:13:58:22 | fileHeader | provenance | Src:MaD:4 |
|
||||
| test.go:58:2:58:29 | ... := ...[0] | test.go:60:2:60:5 | file | provenance | |
|
||||
| test.go:58:13:58:22 | fileHeader | test.go:58:2:58:29 | ... := ...[0] | provenance | MaD:17 |
|
||||
| test.go:59:2:59:7 | definition of buffer | test.go:61:20:61:25 | buffer | provenance | |
|
||||
| test.go:60:2:60:5 | file | test.go:59:2:59:7 | definition of buffer | provenance | MaD:15 |
|
||||
| test.go:60:2:60:5 | file | test.go:59:2:59:7 | definition of buffer | provenance | MaD:16 |
|
||||
| test.go:60:2:60:5 | file | test.go:59:2:59:7 | definition of buffer | provenance | MaD:18 |
|
||||
| test.go:66:2:66:31 | ... := ...[0] | test.go:67:16:67:41 | index expression | provenance | Src:MaD:12 |
|
||||
| test.go:72:2:72:31 | ... := ...[0] | test.go:74:13:74:22 | fileHeader | provenance | Src:MaD:12 |
|
||||
| test.go:66:2:66:31 | ... := ...[0] | test.go:67:16:67:41 | index expression | provenance | Src:MaD:7 |
|
||||
| test.go:72:2:72:31 | ... := ...[0] | test.go:74:13:74:22 | fileHeader | provenance | Src:MaD:7 |
|
||||
| test.go:74:2:74:29 | ... := ...[0] | test.go:76:2:76:5 | file | provenance | |
|
||||
| test.go:74:13:74:22 | fileHeader | test.go:74:2:74:29 | ... := ...[0] | provenance | MaD:17 |
|
||||
| test.go:75:2:75:7 | definition of buffer | test.go:77:20:77:25 | buffer | provenance | |
|
||||
| test.go:76:2:76:5 | file | test.go:75:2:75:7 | definition of buffer | provenance | MaD:15 |
|
||||
| test.go:76:2:76:5 | file | test.go:75:2:75:7 | definition of buffer | provenance | MaD:16 |
|
||||
| test.go:76:2:76:5 | file | test.go:75:2:75:7 | definition of buffer | provenance | MaD:18 |
|
||||
| test.go:82:2:82:32 | ... := ...[0] | test.go:83:16:83:24 | selection of Value | provenance | Src:MaD:13 |
|
||||
| test.go:88:13:88:25 | call to Cookies | test.go:89:16:89:31 | selection of Value | provenance | Src:MaD:14 |
|
||||
| test.go:99:11:99:15 | &... | test.go:100:16:100:21 | selection of s | provenance | Src:MaD:3 |
|
||||
| test.go:82:2:82:32 | ... := ...[0] | test.go:83:16:83:24 | selection of Value | provenance | Src:MaD:2 |
|
||||
| test.go:88:13:88:25 | call to Cookies | test.go:89:16:89:31 | selection of Value | provenance | Src:MaD:3 |
|
||||
| test.go:99:11:99:15 | &... | test.go:100:16:100:21 | selection of s | provenance | Src:MaD:1 |
|
||||
| test.go:112:17:112:19 | definition of ctx | test.go:114:16:114:18 | ctx | provenance | |
|
||||
| test.go:113:21:113:42 | call to Param | test.go:112:17:112:19 | definition of ctx | provenance | Src:MaD:4 MaD:2 |
|
||||
| test.go:114:16:114:18 | ctx | test.go:114:16:114:33 | call to Get | provenance | MaD:1 |
|
||||
| test.go:113:21:113:42 | call to Param | test.go:112:17:112:19 | definition of ctx | provenance | Src:MaD:8 MaD:14 |
|
||||
| test.go:114:16:114:18 | ctx | test.go:114:16:114:33 | call to Get | provenance | MaD:13 |
|
||||
| test.go:114:16:114:33 | call to Get | test.go:114:16:114:42 | type assertion | provenance | |
|
||||
| test.go:124:11:124:32 | call to Param | test.go:125:16:125:20 | param | provenance | Src:MaD:4 |
|
||||
| test.go:130:11:130:32 | call to Param | test.go:131:20:131:32 | type conversion | provenance | Src:MaD:4 |
|
||||
| test.go:136:11:136:32 | call to Param | test.go:137:29:137:41 | type conversion | provenance | Src:MaD:4 |
|
||||
| test.go:148:11:148:32 | call to Param | test.go:149:30:149:34 | param | provenance | Src:MaD:4 |
|
||||
| test.go:124:11:124:32 | call to Param | test.go:125:16:125:20 | param | provenance | Src:MaD:8 |
|
||||
| test.go:130:11:130:32 | call to Param | test.go:131:20:131:32 | type conversion | provenance | Src:MaD:8 |
|
||||
| test.go:136:11:136:32 | call to Param | test.go:137:29:137:41 | type conversion | provenance | Src:MaD:8 |
|
||||
| test.go:148:11:148:32 | call to Param | test.go:149:30:149:34 | param | provenance | Src:MaD:8 |
|
||||
| test.go:149:12:149:35 | call to NewReader | test.go:150:31:150:36 | reader | provenance | |
|
||||
| test.go:149:30:149:34 | param | test.go:149:12:149:35 | call to NewReader | provenance | MaD:19 |
|
||||
| test.go:164:11:164:32 | call to Param | test.go:165:23:165:35 | type conversion | provenance | Src:MaD:4 |
|
||||
| test.go:164:11:164:32 | call to Param | test.go:165:23:165:35 | type conversion | provenance | Src:MaD:8 |
|
||||
models
|
||||
| 1 | Summary: github.com/labstack/echo; Context; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: github.com/labstack/echo; Context; true; Set; ; ; Argument[1]; Argument[receiver]; taint; manual |
|
||||
| 3 | Source: github.com/labstack/echo; Context; true; Bind; ; ; Argument[0]; remote; manual |
|
||||
| 4 | Source: github.com/labstack/echo; Context; true; Param; ; ; ReturnValue[0]; remote; manual |
|
||||
| 5 | Source: github.com/labstack/echo; Context; true; ParamValues; ; ; ReturnValue[0]; remote; manual |
|
||||
| 6 | Source: github.com/labstack/echo; Context; true; QueryParam; ; ; ReturnValue[0]; remote; manual |
|
||||
| 7 | Source: github.com/labstack/echo; Context; true; QueryParams; ; ; ReturnValue[0]; remote; manual |
|
||||
| 8 | Source: github.com/labstack/echo; Context; true; QueryString; ; ; ReturnValue[0]; remote; manual |
|
||||
| 9 | Source: github.com/labstack/echo; Context; true; FormValue; ; ; ReturnValue[0]; remote; manual |
|
||||
| 10 | Source: github.com/labstack/echo; Context; true; FormParams; ; ; ReturnValue[0]; remote; manual |
|
||||
| 11 | Source: github.com/labstack/echo; Context; true; FormFile; ; ; ReturnValue[0]; remote; manual |
|
||||
| 12 | Source: github.com/labstack/echo; Context; true; MultipartForm; ; ; ReturnValue[0]; remote; manual |
|
||||
| 13 | Source: github.com/labstack/echo; Context; true; Cookie; ; ; ReturnValue[0]; remote; manual |
|
||||
| 14 | Source: github.com/labstack/echo; Context; true; Cookies; ; ; ReturnValue[0]; remote; manual |
|
||||
| 1 | Source: github.com/labstack/echo; Context; true; Bind; ; ; Argument[0]; remote; manual |
|
||||
| 2 | Source: github.com/labstack/echo; Context; true; Cookie; ; ; ReturnValue[0]; remote; manual |
|
||||
| 3 | Source: github.com/labstack/echo; Context; true; Cookies; ; ; ReturnValue[0]; remote; manual |
|
||||
| 4 | Source: github.com/labstack/echo; Context; true; FormFile; ; ; ReturnValue[0]; remote; manual |
|
||||
| 5 | Source: github.com/labstack/echo; Context; true; FormParams; ; ; ReturnValue[0]; remote; manual |
|
||||
| 6 | Source: github.com/labstack/echo; Context; true; FormValue; ; ; ReturnValue[0]; remote; manual |
|
||||
| 7 | Source: github.com/labstack/echo; Context; true; MultipartForm; ; ; ReturnValue[0]; remote; manual |
|
||||
| 8 | Source: github.com/labstack/echo; Context; true; Param; ; ; ReturnValue[0]; remote; manual |
|
||||
| 9 | Source: github.com/labstack/echo; Context; true; ParamValues; ; ; ReturnValue[0]; remote; manual |
|
||||
| 10 | Source: github.com/labstack/echo; Context; true; QueryParam; ; ; ReturnValue[0]; remote; manual |
|
||||
| 11 | Source: github.com/labstack/echo; Context; true; QueryParams; ; ; ReturnValue[0]; remote; manual |
|
||||
| 12 | Source: github.com/labstack/echo; Context; true; QueryString; ; ; ReturnValue[0]; remote; manual |
|
||||
| 13 | Summary: github.com/labstack/echo; Context; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 14 | Summary: github.com/labstack/echo; Context; true; Set; ; ; Argument[1]; Argument[receiver]; taint; manual |
|
||||
| 15 | Summary: io/fs; File; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual |
|
||||
| 16 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual |
|
||||
| 17 | Summary: mime/multipart; FileHeader; true; Open; ; ; Argument[receiver]; ReturnValue[0]; taint; manual |
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
models
|
||||
| 1 | Summary: github.com/json-iterator/go; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 2 | Summary: github.com/json-iterator/go; ; false; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 3 | Summary: github.com/json-iterator/go; API; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 4 | Summary: github.com/json-iterator/go; API; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 5 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual |
|
||||
| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual |
|
||||
| 2 | Summary: github.com/json-iterator/go; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 3 | Summary: github.com/json-iterator/go; ; false; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 4 | Summary: github.com/json-iterator/go; API; true; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 5 | Summary: github.com/json-iterator/go; API; true; UnmarshalFromString; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
edges
|
||||
| jsoniter.go:23:20:23:38 | call to getUntrustedBytes | jsoniter.go:27:17:27:30 | untrustedInput | provenance | |
|
||||
| jsoniter.go:23:20:23:38 | call to getUntrustedBytes | jsoniter.go:31:21:31:34 | untrustedInput | provenance | |
|
||||
| jsoniter.go:24:21:24:40 | call to getUntrustedString | jsoniter.go:35:27:35:41 | untrustedString | provenance | |
|
||||
| jsoniter.go:24:21:24:40 | call to getUntrustedString | jsoniter.go:39:31:39:45 | untrustedString | provenance | |
|
||||
| jsoniter.go:27:17:27:30 | untrustedInput | jsoniter.go:27:33:27:37 | &... | provenance | MaD:3 |
|
||||
| jsoniter.go:27:33:27:37 | &... | jsoniter.go:28:15:28:24 | selection of field | provenance | Sink:MaD:5 |
|
||||
| jsoniter.go:31:21:31:34 | untrustedInput | jsoniter.go:31:37:31:42 | &... | provenance | MaD:1 |
|
||||
| jsoniter.go:31:37:31:42 | &... | jsoniter.go:32:15:32:25 | selection of field | provenance | Sink:MaD:5 |
|
||||
| jsoniter.go:35:27:35:41 | untrustedString | jsoniter.go:35:44:35:49 | &... | provenance | MaD:4 |
|
||||
| jsoniter.go:35:44:35:49 | &... | jsoniter.go:36:15:36:25 | selection of field | provenance | Sink:MaD:5 |
|
||||
| jsoniter.go:39:31:39:45 | untrustedString | jsoniter.go:39:48:39:53 | &... | provenance | MaD:2 |
|
||||
| jsoniter.go:39:48:39:53 | &... | jsoniter.go:40:15:40:25 | selection of field | provenance | Sink:MaD:5 |
|
||||
| jsoniter.go:27:17:27:30 | untrustedInput | jsoniter.go:27:33:27:37 | &... | provenance | MaD:4 |
|
||||
| jsoniter.go:27:33:27:37 | &... | jsoniter.go:28:15:28:24 | selection of field | provenance | Sink:MaD:1 |
|
||||
| jsoniter.go:31:21:31:34 | untrustedInput | jsoniter.go:31:37:31:42 | &... | provenance | MaD:2 |
|
||||
| jsoniter.go:31:37:31:42 | &... | jsoniter.go:32:15:32:25 | selection of field | provenance | Sink:MaD:1 |
|
||||
| jsoniter.go:35:27:35:41 | untrustedString | jsoniter.go:35:44:35:49 | &... | provenance | MaD:5 |
|
||||
| jsoniter.go:35:44:35:49 | &... | jsoniter.go:36:15:36:25 | selection of field | provenance | Sink:MaD:1 |
|
||||
| jsoniter.go:39:31:39:45 | untrustedString | jsoniter.go:39:48:39:53 | &... | provenance | MaD:3 |
|
||||
| jsoniter.go:39:48:39:53 | &... | jsoniter.go:40:15:40:25 | selection of field | provenance | Sink:MaD:1 |
|
||||
nodes
|
||||
| jsoniter.go:23:20:23:38 | call to getUntrustedBytes | semmle.label | call to getUntrustedBytes |
|
||||
| jsoniter.go:24:21:24:40 | call to getUntrustedString | semmle.label | call to getUntrustedString |
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
| Gin.go:27:20:27:27 | filepath | Gin.go:24:15:24:33 | call to Query | Gin.go:27:20:27:27 | filepath | This path depends on a $@. | Gin.go:24:15:24:33 | call to Query | user-provided value |
|
||||
| Gin.go:29:32:29:39 | filepath | Gin.go:24:15:24:33 | call to Query | Gin.go:29:32:29:39 | filepath | This path depends on a $@. | Gin.go:24:15:24:33 | call to Query | user-provided value |
|
||||
edges
|
||||
| Gin.go:24:15:24:33 | call to Query | Gin.go:25:10:25:17 | filepath | provenance | Src:MaD:4 Sink:MaD:1 |
|
||||
| Gin.go:24:15:24:33 | call to Query | Gin.go:26:39:26:46 | filepath | provenance | Src:MaD:4 Sink:MaD:5 |
|
||||
| Gin.go:24:15:24:33 | call to Query | Gin.go:27:20:27:27 | filepath | provenance | Src:MaD:4 Sink:MaD:2 |
|
||||
| Gin.go:24:15:24:33 | call to Query | Gin.go:29:32:29:39 | filepath | provenance | Src:MaD:4 Sink:MaD:3 |
|
||||
| Gin.go:24:15:24:33 | call to Query | Gin.go:25:10:25:17 | filepath | provenance | Src:MaD:5 Sink:MaD:1 |
|
||||
| Gin.go:24:15:24:33 | call to Query | Gin.go:26:39:26:46 | filepath | provenance | Src:MaD:5 Sink:MaD:4 |
|
||||
| Gin.go:24:15:24:33 | call to Query | Gin.go:27:20:27:27 | filepath | provenance | Src:MaD:5 Sink:MaD:2 |
|
||||
| Gin.go:24:15:24:33 | call to Query | Gin.go:29:32:29:39 | filepath | provenance | Src:MaD:5 Sink:MaD:3 |
|
||||
models
|
||||
| 1 | Sink: github.com/gin-gonic/gin; Context; false; File; ; ; Argument[0]; path-injection; manual |
|
||||
| 2 | Sink: github.com/gin-gonic/gin; Context; false; FileAttachment; ; ; Argument[0]; path-injection; manual |
|
||||
| 3 | Sink: github.com/gin-gonic/gin; Context; false; SaveUploadedFile; ; ; Argument[1]; path-injection; manual |
|
||||
| 4 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual |
|
||||
| 5 | Sink: net/http; ; false; ServeFile; ; ; Argument[2]; path-injection; manual |
|
||||
| 4 | Sink: net/http; ; false; ServeFile; ; ; Argument[2]; path-injection; manual |
|
||||
| 5 | Source: github.com/gin-gonic/gin; Context; true; Query; ; ; ReturnValue; remote; manual |
|
||||
nodes
|
||||
| Gin.go:24:15:24:33 | call to Query | semmle.label | call to Query |
|
||||
| Gin.go:25:10:25:17 | filepath | semmle.label | filepath |
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
models
|
||||
| 1 | Source: github.com/emicklei/go-restful; Request; true; QueryParameters; ; ; ReturnValue; remote; manual |
|
||||
| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual |
|
||||
| 2 | Source: github.com/emicklei/go-restful; Request; true; BodyParameter; ; ; ReturnValue[0]; remote; manual |
|
||||
| 3 | Source: github.com/emicklei/go-restful; Request; true; PathParameters; ; ; ReturnValue; remote; manual |
|
||||
| 4 | Source: github.com/emicklei/go-restful; Request; true; ReadEntity; ; ; Argument[0]; remote; manual |
|
||||
| 5 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual |
|
||||
| 4 | Source: github.com/emicklei/go-restful; Request; true; QueryParameters; ; ; ReturnValue; remote; manual |
|
||||
| 5 | Source: github.com/emicklei/go-restful; Request; true; ReadEntity; ; ; Argument[0]; remote; manual |
|
||||
edges
|
||||
| gorestful.go:15:15:15:44 | call to QueryParameters | gorestful.go:15:15:15:47 | index expression | provenance | Src:MaD:1 Sink:MaD:5 |
|
||||
| gorestful.go:17:2:17:39 | ... := ...[0] | gorestful.go:18:15:18:17 | val | provenance | Src:MaD:2 Sink:MaD:5 |
|
||||
| gorestful.go:21:15:21:38 | call to PathParameters | gorestful.go:21:15:21:45 | index expression | provenance | Src:MaD:3 Sink:MaD:5 |
|
||||
| gorestful.go:23:21:23:24 | &... | gorestful.go:24:15:24:21 | selection of cmd | provenance | Src:MaD:4 Sink:MaD:5 |
|
||||
| gorestful_v2.go:15:15:15:44 | call to QueryParameters | gorestful_v2.go:15:15:15:47 | index expression | provenance | Src:MaD:1 Sink:MaD:5 |
|
||||
| gorestful_v2.go:17:2:17:39 | ... := ...[0] | gorestful_v2.go:18:15:18:17 | val | provenance | Src:MaD:2 Sink:MaD:5 |
|
||||
| gorestful_v2.go:21:15:21:38 | call to PathParameters | gorestful_v2.go:21:15:21:45 | index expression | provenance | Src:MaD:3 Sink:MaD:5 |
|
||||
| gorestful_v2.go:23:21:23:24 | &... | gorestful_v2.go:24:15:24:21 | selection of cmd | provenance | Src:MaD:4 Sink:MaD:5 |
|
||||
| gorestful.go:15:15:15:44 | call to QueryParameters | gorestful.go:15:15:15:47 | index expression | provenance | Src:MaD:4 Sink:MaD:1 |
|
||||
| gorestful.go:17:2:17:39 | ... := ...[0] | gorestful.go:18:15:18:17 | val | provenance | Src:MaD:2 Sink:MaD:1 |
|
||||
| gorestful.go:21:15:21:38 | call to PathParameters | gorestful.go:21:15:21:45 | index expression | provenance | Src:MaD:3 Sink:MaD:1 |
|
||||
| gorestful.go:23:21:23:24 | &... | gorestful.go:24:15:24:21 | selection of cmd | provenance | Src:MaD:5 Sink:MaD:1 |
|
||||
| gorestful_v2.go:15:15:15:44 | call to QueryParameters | gorestful_v2.go:15:15:15:47 | index expression | provenance | Src:MaD:4 Sink:MaD:1 |
|
||||
| gorestful_v2.go:17:2:17:39 | ... := ...[0] | gorestful_v2.go:18:15:18:17 | val | provenance | Src:MaD:2 Sink:MaD:1 |
|
||||
| gorestful_v2.go:21:15:21:38 | call to PathParameters | gorestful_v2.go:21:15:21:45 | index expression | provenance | Src:MaD:3 Sink:MaD:1 |
|
||||
| gorestful_v2.go:23:21:23:24 | &... | gorestful_v2.go:24:15:24:21 | selection of cmd | provenance | Src:MaD:5 Sink:MaD:1 |
|
||||
nodes
|
||||
| gorestful.go:15:15:15:44 | call to QueryParameters | semmle.label | call to QueryParameters |
|
||||
| gorestful.go:15:15:15:47 | index expression | semmle.label | index expression |
|
||||
|
||||
@@ -8,16 +8,16 @@ edges
|
||||
| EndToEnd.go:35:2:35:4 | definition of buf | EndToEnd.go:37:24:37:26 | buf | provenance | |
|
||||
| EndToEnd.go:36:18:36:25 | selection of Params | EndToEnd.go:36:18:36:30 | selection of Form | provenance | Src:MaD:1 |
|
||||
| EndToEnd.go:36:18:36:30 | selection of Form | EndToEnd.go:36:18:36:47 | call to Get | provenance | MaD:4 |
|
||||
| EndToEnd.go:36:18:36:47 | call to Get | EndToEnd.go:35:2:35:4 | definition of buf | provenance | MaD:2 |
|
||||
| EndToEnd.go:36:18:36:47 | call to Get | EndToEnd.go:35:2:35:4 | definition of buf | provenance | MaD:3 |
|
||||
| EndToEnd.go:69:22:69:29 | selection of Params | EndToEnd.go:69:22:69:34 | selection of Form | provenance | Src:MaD:1 |
|
||||
| EndToEnd.go:69:22:69:34 | selection of Form | EndToEnd.go:69:22:69:51 | call to Get | provenance | MaD:4 |
|
||||
| Revel.go:70:22:70:29 | selection of Params | Revel.go:70:22:70:35 | selection of Query | provenance | Src:MaD:1 |
|
||||
| examples/booking/app/init.go:36:44:36:48 | selection of URL | examples/booking/app/init.go:36:44:36:53 | selection of Path | provenance | Src:MaD:3 |
|
||||
| examples/booking/app/init.go:40:49:40:53 | selection of URL | examples/booking/app/init.go:40:49:40:58 | selection of Path | provenance | Src:MaD:3 |
|
||||
| examples/booking/app/init.go:36:44:36:48 | selection of URL | examples/booking/app/init.go:36:44:36:53 | selection of Path | provenance | Src:MaD:2 |
|
||||
| examples/booking/app/init.go:40:49:40:53 | selection of URL | examples/booking/app/init.go:40:49:40:58 | selection of Path | provenance | Src:MaD:2 |
|
||||
models
|
||||
| 1 | Source: group:revel; Controller; true; Params; ; ; ; remote; manual |
|
||||
| 2 | Summary: io; StringWriter; true; WriteString; ; ; Argument[0]; Argument[receiver]; taint; manual |
|
||||
| 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 3 | Summary: io; StringWriter; true; WriteString; ; ; Argument[0]; Argument[receiver]; taint; manual |
|
||||
| 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| EndToEnd.go:35:2:35:4 | definition of buf | semmle.label | definition of buf |
|
||||
|
||||
@@ -2,15 +2,15 @@
|
||||
| EndToEnd.go:58:18:58:47 | call to Get | EndToEnd.go:58:18:58:25 | selection of Params | EndToEnd.go:58:18:58:47 | call to Get | This path depends on a $@. | EndToEnd.go:58:18:58:25 | selection of Params | user-provided value |
|
||||
| EndToEnd.go:64:26:64:55 | call to Get | EndToEnd.go:64:26:64:33 | selection of Params | EndToEnd.go:64:26:64:55 | call to Get | This path depends on a $@. | EndToEnd.go:64:26:64:33 | selection of Params | user-provided value |
|
||||
edges
|
||||
| EndToEnd.go:58:18:58:25 | selection of Params | EndToEnd.go:58:18:58:30 | selection of Form | provenance | Src:MaD:1 |
|
||||
| EndToEnd.go:58:18:58:30 | selection of Form | EndToEnd.go:58:18:58:47 | call to Get | provenance | MaD:3 Sink:MaD:4 |
|
||||
| EndToEnd.go:64:26:64:33 | selection of Params | EndToEnd.go:64:26:64:38 | selection of Form | provenance | Src:MaD:1 |
|
||||
| EndToEnd.go:64:26:64:38 | selection of Form | EndToEnd.go:64:26:64:55 | call to Get | provenance | MaD:3 Sink:MaD:2 |
|
||||
| EndToEnd.go:58:18:58:25 | selection of Params | EndToEnd.go:58:18:58:30 | selection of Form | provenance | Src:MaD:3 |
|
||||
| EndToEnd.go:58:18:58:30 | selection of Form | EndToEnd.go:58:18:58:47 | call to Get | provenance | MaD:4 Sink:MaD:2 |
|
||||
| EndToEnd.go:64:26:64:33 | selection of Params | EndToEnd.go:64:26:64:38 | selection of Form | provenance | Src:MaD:3 |
|
||||
| EndToEnd.go:64:26:64:38 | selection of Form | EndToEnd.go:64:26:64:55 | call to Get | provenance | MaD:4 Sink:MaD:1 |
|
||||
models
|
||||
| 1 | Source: group:revel; Controller; true; Params; ; ; ; remote; manual |
|
||||
| 2 | Sink: group:revel; Controller; true; RenderFileName; ; ; Argument[0]; path-injection; manual |
|
||||
| 3 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 4 | Sink: os; ; false; Open; ; ; Argument[0]; path-injection; manual |
|
||||
| 1 | Sink: group:revel; Controller; true; RenderFileName; ; ; Argument[0]; path-injection; manual |
|
||||
| 2 | Sink: os; ; false; Open; ; ; Argument[0]; path-injection; manual |
|
||||
| 3 | Source: group:revel; Controller; true; Params; ; ; ; remote; manual |
|
||||
| 4 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| EndToEnd.go:58:18:58:25 | selection of Params | semmle.label | selection of Params |
|
||||
| EndToEnd.go:58:18:58:30 | selection of Form | semmle.label | selection of Form |
|
||||
|
||||
@@ -8,9 +8,9 @@ edges
|
||||
| rpc/notes/service.twirp.go:493:2:493:2 | capture variable reqContent | rpc/notes/service.twirp.go:495:35:495:44 | reqContent | provenance | |
|
||||
| rpc/notes/service.twirp.go:495:35:495:44 | reqContent | server/main.go:19:56:19:61 | definition of params | provenance | |
|
||||
| rpc/notes/service.twirp.go:538:2:538:33 | ... := ...[0] | rpc/notes/service.twirp.go:544:27:544:29 | buf | provenance | |
|
||||
| rpc/notes/service.twirp.go:538:25:538:32 | selection of Body | rpc/notes/service.twirp.go:538:2:538:33 | ... := ...[0] | provenance | Src:MaD:3 MaD:2 |
|
||||
| rpc/notes/service.twirp.go:538:25:538:32 | selection of Body | rpc/notes/service.twirp.go:538:2:538:33 | ... := ...[0] | provenance | Src:MaD:1 MaD:3 |
|
||||
| rpc/notes/service.twirp.go:543:2:543:11 | definition of reqContent | rpc/notes/service.twirp.go:574:2:574:2 | capture variable reqContent | provenance | |
|
||||
| rpc/notes/service.twirp.go:544:27:544:29 | buf | rpc/notes/service.twirp.go:543:2:543:11 | definition of reqContent | provenance | MaD:1 |
|
||||
| rpc/notes/service.twirp.go:544:27:544:29 | buf | rpc/notes/service.twirp.go:543:2:543:11 | definition of reqContent | provenance | MaD:2 |
|
||||
| rpc/notes/service.twirp.go:554:6:554:13 | definition of typedReq | rpc/notes/service.twirp.go:558:44:558:51 | typedReq | provenance | |
|
||||
| rpc/notes/service.twirp.go:558:44:558:51 | typedReq | server/main.go:19:56:19:61 | definition of params | provenance | |
|
||||
| rpc/notes/service.twirp.go:574:2:574:2 | capture variable reqContent | rpc/notes/service.twirp.go:576:35:576:44 | reqContent | provenance | |
|
||||
@@ -24,9 +24,9 @@ edges
|
||||
| server/main.go:19:56:19:61 | definition of params [Return] | rpc/notes/service.twirp.go:554:6:554:13 | definition of typedReq | provenance | |
|
||||
| server/main.go:19:56:19:61 | definition of params [Return] | rpc/notes/service.twirp.go:574:2:574:2 | capture variable reqContent | provenance | |
|
||||
models
|
||||
| 1 | Summary: google.golang.org/protobuf/proto; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 2 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 3 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 2 | Summary: google.golang.org/protobuf/proto; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 3 | Summary: io; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
nodes
|
||||
| client/main.go:16:35:16:78 | &... | semmle.label | &... |
|
||||
| rpc/notes/service.twirp.go:473:6:473:13 | definition of typedReq | semmle.label | definition of typedReq |
|
||||
|
||||
@@ -14,42 +14,42 @@
|
||||
| test.go:45:22:45:31 | &... | test.go:43:31:43:42 | selection of Body | test.go:45:22:45:31 | &... | Cross-site scripting vulnerability due to $@. | test.go:43:31:43:42 | selection of Body | user-provided value | test.go:0:0:0:0 | test.go | |
|
||||
| test.go:50:22:50:32 | &... | test.go:48:32:48:43 | selection of Body | test.go:50:22:50:32 | &... | Cross-site scripting vulnerability due to $@. | test.go:48:32:48:43 | selection of Body | user-provided value | test.go:0:0:0:0 | test.go | |
|
||||
edges
|
||||
| test.go:12:12:12:22 | selection of URL | test.go:12:12:12:30 | call to Query | provenance | Src:MaD:16 MaD:17 |
|
||||
| test.go:12:12:12:22 | selection of URL | test.go:12:12:12:30 | call to Query | provenance | Src:MaD:2 MaD:17 |
|
||||
| test.go:12:12:12:30 | call to Query | test.go:12:12:12:44 | call to Get | provenance | MaD:18 |
|
||||
| test.go:12:12:12:44 | call to Get | test.go:15:42:15:47 | param1 | provenance | |
|
||||
| test.go:15:22:15:48 | call to UnescapeString | test.go:15:15:15:49 | type conversion | provenance | |
|
||||
| test.go:15:42:15:47 | param1 | test.go:15:22:15:48 | call to UnescapeString | provenance | MaD:7 |
|
||||
| test.go:15:42:15:47 | param1 | test.go:15:22:15:48 | call to UnescapeString | provenance | MaD:9 |
|
||||
| test.go:17:2:17:36 | ... := ...[0] | test.go:18:15:18:31 | type conversion | provenance | |
|
||||
| test.go:17:2:17:36 | ... := ...[0] | test.go:29:22:29:25 | node | provenance | |
|
||||
| test.go:17:24:17:35 | selection of Body | test.go:17:2:17:36 | ... := ...[0] | provenance | Src:MaD:15 MaD:3 |
|
||||
| test.go:17:24:17:35 | selection of Body | test.go:17:2:17:36 | ... := ...[0] | provenance | Src:MaD:1 MaD:5 |
|
||||
| test.go:20:2:20:48 | ... := ...[0] | test.go:21:15:21:32 | type conversion | provenance | |
|
||||
| test.go:20:36:20:47 | selection of Body | test.go:20:2:20:48 | ... := ...[0] | provenance | Src:MaD:15 MaD:6 |
|
||||
| test.go:20:36:20:47 | selection of Body | test.go:20:2:20:48 | ... := ...[0] | provenance | Src:MaD:1 MaD:8 |
|
||||
| test.go:23:2:23:50 | ... := ...[0] | test.go:24:15:24:35 | type conversion | provenance | |
|
||||
| test.go:23:33:23:44 | selection of Body | test.go:23:2:23:50 | ... := ...[0] | provenance | Src:MaD:15 MaD:4 |
|
||||
| test.go:23:33:23:44 | selection of Body | test.go:23:2:23:50 | ... := ...[0] | provenance | Src:MaD:1 MaD:6 |
|
||||
| test.go:26:2:26:62 | ... := ...[0] | test.go:27:15:27:36 | type conversion | provenance | |
|
||||
| test.go:26:45:26:56 | selection of Body | test.go:26:2:26:62 | ... := ...[0] | provenance | Src:MaD:15 MaD:5 |
|
||||
| test.go:26:45:26:56 | selection of Body | test.go:26:2:26:62 | ... := ...[0] | provenance | Src:MaD:1 MaD:7 |
|
||||
| test.go:31:15:31:45 | call to NewTokenizer | test.go:32:15:32:23 | tokenizer | provenance | |
|
||||
| test.go:31:15:31:45 | call to NewTokenizer | test.go:33:15:33:23 | tokenizer | provenance | |
|
||||
| test.go:31:15:31:45 | call to NewTokenizer | test.go:34:17:34:25 | tokenizer | provenance | |
|
||||
| test.go:31:15:31:45 | call to NewTokenizer | test.go:36:15:36:23 | tokenizer | provenance | |
|
||||
| test.go:31:15:31:45 | call to NewTokenizer | test.go:37:22:37:30 | tokenizer | provenance | |
|
||||
| test.go:31:33:31:44 | selection of Body | test.go:31:15:31:45 | call to NewTokenizer | provenance | Src:MaD:15 MaD:1 |
|
||||
| test.go:32:15:32:23 | tokenizer | test.go:32:15:32:34 | call to Buffered | provenance | MaD:10 |
|
||||
| test.go:33:15:33:23 | tokenizer | test.go:33:15:33:29 | call to Raw | provenance | MaD:11 |
|
||||
| test.go:31:33:31:44 | selection of Body | test.go:31:15:31:45 | call to NewTokenizer | provenance | Src:MaD:1 MaD:3 |
|
||||
| test.go:32:15:32:23 | tokenizer | test.go:32:15:32:34 | call to Buffered | provenance | MaD:12 |
|
||||
| test.go:33:15:33:23 | tokenizer | test.go:33:15:33:29 | call to Raw | provenance | MaD:13 |
|
||||
| test.go:34:2:34:35 | ... := ...[1] | test.go:35:15:35:19 | value | provenance | |
|
||||
| test.go:34:17:34:25 | tokenizer | test.go:34:2:34:35 | ... := ...[1] | provenance | MaD:12 |
|
||||
| test.go:36:15:36:23 | tokenizer | test.go:36:15:36:30 | call to Text | provenance | MaD:13 |
|
||||
| test.go:37:22:37:30 | tokenizer | test.go:37:22:37:38 | call to Token | provenance | MaD:14 |
|
||||
| test.go:34:17:34:25 | tokenizer | test.go:34:2:34:35 | ... := ...[1] | provenance | MaD:14 |
|
||||
| test.go:36:15:36:23 | tokenizer | test.go:36:15:36:30 | call to Text | provenance | MaD:15 |
|
||||
| test.go:37:22:37:30 | tokenizer | test.go:37:22:37:38 | call to Token | provenance | MaD:16 |
|
||||
| test.go:37:22:37:38 | call to Token | test.go:37:15:37:44 | type conversion | provenance | |
|
||||
| test.go:39:23:39:77 | call to NewTokenizerFragment | test.go:40:15:40:31 | tokenizerFragment | provenance | |
|
||||
| test.go:39:49:39:60 | selection of Body | test.go:39:23:39:77 | call to NewTokenizerFragment | provenance | Src:MaD:15 MaD:2 |
|
||||
| test.go:40:15:40:31 | tokenizerFragment | test.go:40:15:40:42 | call to Buffered | provenance | MaD:10 |
|
||||
| test.go:39:49:39:60 | selection of Body | test.go:39:23:39:77 | call to NewTokenizerFragment | provenance | Src:MaD:1 MaD:4 |
|
||||
| test.go:40:15:40:31 | tokenizerFragment | test.go:40:15:40:42 | call to Buffered | provenance | MaD:12 |
|
||||
| test.go:42:6:42:14 | definition of cleanNode | test.go:45:22:45:31 | &... | provenance | |
|
||||
| test.go:42:6:42:14 | definition of cleanNode | test.go:45:22:45:31 | &... | provenance | |
|
||||
| test.go:42:6:42:14 | definition of cleanNode | test.go:45:23:45:31 | cleanNode | provenance | |
|
||||
| test.go:43:2:43:43 | ... := ...[0] | test.go:44:24:44:34 | taintedNode | provenance | |
|
||||
| test.go:43:31:43:42 | selection of Body | test.go:43:2:43:43 | ... := ...[0] | provenance | Src:MaD:15 MaD:3 |
|
||||
| test.go:44:24:44:34 | taintedNode | test.go:42:6:42:14 | definition of cleanNode | provenance | MaD:8 |
|
||||
| test.go:43:31:43:42 | selection of Body | test.go:43:2:43:43 | ... := ...[0] | provenance | Src:MaD:1 MaD:5 |
|
||||
| test.go:44:24:44:34 | taintedNode | test.go:42:6:42:14 | definition of cleanNode | provenance | MaD:10 |
|
||||
| test.go:45:22:45:31 | &... | test.go:45:23:45:31 | cleanNode | provenance | |
|
||||
| test.go:45:22:45:31 | &... [pointer] | test.go:45:22:45:31 | &... | provenance | |
|
||||
| test.go:45:22:45:31 | &... [pointer] | test.go:45:22:45:31 | &... | provenance | |
|
||||
@@ -60,8 +60,8 @@ edges
|
||||
| test.go:47:6:47:15 | definition of cleanNode2 | test.go:50:22:50:32 | &... | provenance | |
|
||||
| test.go:47:6:47:15 | definition of cleanNode2 | test.go:50:23:50:32 | cleanNode2 | provenance | |
|
||||
| test.go:48:2:48:44 | ... := ...[0] | test.go:49:26:49:37 | taintedNode2 | provenance | |
|
||||
| test.go:48:32:48:43 | selection of Body | test.go:48:2:48:44 | ... := ...[0] | provenance | Src:MaD:15 MaD:3 |
|
||||
| test.go:49:26:49:37 | taintedNode2 | test.go:47:6:47:15 | definition of cleanNode2 | provenance | MaD:9 |
|
||||
| test.go:48:32:48:43 | selection of Body | test.go:48:2:48:44 | ... := ...[0] | provenance | Src:MaD:1 MaD:5 |
|
||||
| test.go:49:26:49:37 | taintedNode2 | test.go:47:6:47:15 | definition of cleanNode2 | provenance | MaD:11 |
|
||||
| test.go:50:22:50:32 | &... | test.go:50:23:50:32 | cleanNode2 | provenance | |
|
||||
| test.go:50:22:50:32 | &... [pointer] | test.go:50:22:50:32 | &... | provenance | |
|
||||
| test.go:50:22:50:32 | &... [pointer] | test.go:50:22:50:32 | &... | provenance | |
|
||||
@@ -69,22 +69,22 @@ edges
|
||||
| test.go:50:23:50:32 | cleanNode2 | test.go:50:22:50:32 | &... | provenance | |
|
||||
| test.go:50:23:50:32 | cleanNode2 | test.go:50:22:50:32 | &... [pointer] | provenance | |
|
||||
models
|
||||
| 1 | Summary: golang.org/x/net/html; ; false; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: golang.org/x/net/html; ; false; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: golang.org/x/net/html; ; false; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 4 | Summary: golang.org/x/net/html; ; false; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 5 | Summary: golang.org/x/net/html; ; false; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 6 | Summary: golang.org/x/net/html; ; false; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 7 | Summary: golang.org/x/net/html; ; false; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 8 | Summary: golang.org/x/net/html; Node; true; AppendChild; ; ; Argument[0]; Argument[receiver]; taint; manual |
|
||||
| 9 | Summary: golang.org/x/net/html; Node; true; InsertBefore; ; ; Argument[0]; Argument[receiver]; taint; manual |
|
||||
| 10 | Summary: golang.org/x/net/html; Tokenizer; true; Buffered; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 11 | Summary: golang.org/x/net/html; Tokenizer; true; Raw; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 12 | Summary: golang.org/x/net/html; Tokenizer; true; TagAttr; ; ; Argument[receiver]; ReturnValue[1]; taint; manual |
|
||||
| 13 | Summary: golang.org/x/net/html; Tokenizer; true; Text; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 14 | Summary: golang.org/x/net/html; Tokenizer; true; Token; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 15 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 16 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 3 | Summary: golang.org/x/net/html; ; false; NewTokenizer; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: golang.org/x/net/html; ; false; NewTokenizerFragment; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: golang.org/x/net/html; ; false; Parse; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 6 | Summary: golang.org/x/net/html; ; false; ParseFragment; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 7 | Summary: golang.org/x/net/html; ; false; ParseFragmentWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 8 | Summary: golang.org/x/net/html; ; false; ParseWithOptions; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 9 | Summary: golang.org/x/net/html; ; false; UnescapeString; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: golang.org/x/net/html; Node; true; AppendChild; ; ; Argument[0]; Argument[receiver]; taint; manual |
|
||||
| 11 | Summary: golang.org/x/net/html; Node; true; InsertBefore; ; ; Argument[0]; Argument[receiver]; taint; manual |
|
||||
| 12 | Summary: golang.org/x/net/html; Tokenizer; true; Buffered; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 13 | Summary: golang.org/x/net/html; Tokenizer; true; Raw; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 14 | Summary: golang.org/x/net/html; Tokenizer; true; TagAttr; ; ; Argument[receiver]; ReturnValue[1]; taint; manual |
|
||||
| 15 | Summary: golang.org/x/net/html; Tokenizer; true; Text; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 16 | Summary: golang.org/x/net/html; Tokenizer; true; Token; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 17 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 18 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#select
|
||||
| test.go:57:11:57:41 | call to EscapeString | test.go:56:2:56:42 | ... := ...[0] | test.go:57:11:57:41 | call to EscapeString | This query depends on a $@. | test.go:56:2:56:42 | ... := ...[0] | user-provided value |
|
||||
edges
|
||||
| test.go:56:2:56:42 | ... := ...[0] | test.go:57:29:57:40 | selection of Value | provenance | Src:MaD:2 |
|
||||
| test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:1 |
|
||||
| test.go:56:2:56:42 | ... := ...[0] | test.go:57:29:57:40 | selection of Value | provenance | Src:MaD:1 |
|
||||
| test.go:57:29:57:40 | selection of Value | test.go:57:11:57:41 | call to EscapeString | provenance | MaD:2 |
|
||||
models
|
||||
| 1 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; Cookie; ; ; ReturnValue[0]; remote; manual |
|
||||
| 2 | Summary: golang.org/x/net/html; ; false; EscapeString; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| test.go:56:2:56:42 | ... := ...[0] | semmle.label | ... := ...[0] |
|
||||
| test.go:57:11:57:41 | call to EscapeString | semmle.label | call to EscapeString |
|
||||
|
||||
@@ -26,29 +26,29 @@
|
||||
| SanitizingDoubleDash.go:148:30:148:36 | tainted | SanitizingDoubleDash.go:92:13:92:19 | selection of URL | SanitizingDoubleDash.go:148:30:148:36 | tainted | This command depends on a $@. | SanitizingDoubleDash.go:92:13:92:19 | selection of URL | user-provided value |
|
||||
| SanitizingDoubleDash.go:152:24:152:30 | tainted | SanitizingDoubleDash.go:92:13:92:19 | selection of URL | SanitizingDoubleDash.go:152:24:152:30 | tainted | This command depends on a $@. | SanitizingDoubleDash.go:92:13:92:19 | selection of URL | user-provided value |
|
||||
edges
|
||||
| ArgumentInjection.go:9:10:9:16 | selection of URL | ArgumentInjection.go:9:10:9:24 | call to Query | provenance | Src:MaD:5 MaD:6 |
|
||||
| ArgumentInjection.go:9:10:9:16 | selection of URL | ArgumentInjection.go:9:10:9:24 | call to Query | provenance | Src:MaD:2 MaD:7 |
|
||||
| ArgumentInjection.go:9:10:9:24 | call to Query | ArgumentInjection.go:10:31:10:34 | path | provenance | |
|
||||
| CommandInjection2.go:13:15:13:21 | selection of URL | CommandInjection2.go:13:15:13:29 | call to Query | provenance | Src:MaD:5 MaD:6 |
|
||||
| CommandInjection2.go:13:15:13:21 | selection of URL | CommandInjection2.go:13:15:13:29 | call to Query | provenance | Src:MaD:2 MaD:7 |
|
||||
| CommandInjection2.go:13:15:13:29 | call to Query | CommandInjection2.go:15:67:15:75 | imageName | provenance | |
|
||||
| CommandInjection2.go:15:34:15:88 | []type{args} [array] | CommandInjection2.go:15:34:15:88 | call to Sprintf | provenance | MaD:4 |
|
||||
| CommandInjection2.go:15:34:15:88 | []type{args} [array] | CommandInjection2.go:15:34:15:88 | call to Sprintf | provenance | MaD:6 |
|
||||
| CommandInjection2.go:15:67:15:75 | imageName | CommandInjection2.go:15:34:15:88 | []type{args} [array] | provenance | |
|
||||
| CommandInjection2.go:15:67:15:75 | imageName | CommandInjection2.go:15:34:15:88 | call to Sprintf | provenance | FunctionModel |
|
||||
| CommandInjection2.go:41:15:41:21 | selection of URL | CommandInjection2.go:41:15:41:29 | call to Query | provenance | Src:MaD:5 MaD:6 |
|
||||
| CommandInjection2.go:41:15:41:21 | selection of URL | CommandInjection2.go:41:15:41:29 | call to Query | provenance | Src:MaD:2 MaD:7 |
|
||||
| CommandInjection2.go:41:15:41:29 | call to Query | CommandInjection2.go:44:67:44:75 | imageName | provenance | |
|
||||
| CommandInjection2.go:44:34:44:88 | []type{args} [array] | CommandInjection2.go:44:34:44:88 | call to Sprintf | provenance | MaD:4 |
|
||||
| CommandInjection2.go:44:34:44:88 | []type{args} [array] | CommandInjection2.go:44:34:44:88 | call to Sprintf | provenance | MaD:6 |
|
||||
| CommandInjection2.go:44:67:44:75 | imageName | CommandInjection2.go:44:34:44:88 | []type{args} [array] | provenance | |
|
||||
| CommandInjection2.go:44:67:44:75 | imageName | CommandInjection2.go:44:34:44:88 | call to Sprintf | provenance | FunctionModel |
|
||||
| CommandInjection.go:9:13:9:19 | selection of URL | CommandInjection.go:9:13:9:27 | call to Query | provenance | Src:MaD:5 MaD:6 |
|
||||
| CommandInjection.go:9:13:9:27 | call to Query | CommandInjection.go:10:22:10:28 | cmdName | provenance | Sink:MaD:7 |
|
||||
| GitSubcommands.go:11:13:11:19 | selection of URL | GitSubcommands.go:11:13:11:27 | call to Query | provenance | Src:MaD:5 MaD:6 |
|
||||
| CommandInjection.go:9:13:9:19 | selection of URL | CommandInjection.go:9:13:9:27 | call to Query | provenance | Src:MaD:2 MaD:7 |
|
||||
| CommandInjection.go:9:13:9:27 | call to Query | CommandInjection.go:10:22:10:28 | cmdName | provenance | Sink:MaD:1 |
|
||||
| GitSubcommands.go:11:13:11:19 | selection of URL | GitSubcommands.go:11:13:11:27 | call to Query | provenance | Src:MaD:2 MaD:7 |
|
||||
| GitSubcommands.go:11:13:11:27 | call to Query | GitSubcommands.go:13:31:13:37 | tainted | provenance | |
|
||||
| GitSubcommands.go:11:13:11:27 | call to Query | GitSubcommands.go:14:31:14:37 | tainted | provenance | |
|
||||
| GitSubcommands.go:11:13:11:27 | call to Query | GitSubcommands.go:15:30:15:36 | tainted | provenance | |
|
||||
| GitSubcommands.go:11:13:11:27 | call to Query | GitSubcommands.go:16:35:16:41 | tainted | provenance | |
|
||||
| GitSubcommands.go:11:13:11:27 | call to Query | GitSubcommands.go:17:36:17:42 | tainted | provenance | |
|
||||
| GitSubcommands.go:33:13:33:19 | selection of URL | GitSubcommands.go:33:13:33:27 | call to Query | provenance | Src:MaD:5 MaD:6 |
|
||||
| GitSubcommands.go:33:13:33:19 | selection of URL | GitSubcommands.go:33:13:33:27 | call to Query | provenance | Src:MaD:2 MaD:7 |
|
||||
| GitSubcommands.go:33:13:33:27 | call to Query | GitSubcommands.go:38:32:38:38 | tainted | provenance | |
|
||||
| SanitizingDoubleDash.go:9:13:9:19 | selection of URL | SanitizingDoubleDash.go:9:13:9:27 | call to Query | provenance | Src:MaD:5 MaD:6 |
|
||||
| SanitizingDoubleDash.go:9:13:9:19 | selection of URL | SanitizingDoubleDash.go:9:13:9:27 | call to Query | provenance | Src:MaD:2 MaD:7 |
|
||||
| SanitizingDoubleDash.go:9:13:9:27 | call to Query | SanitizingDoubleDash.go:13:25:13:31 | tainted | provenance | |
|
||||
| SanitizingDoubleDash.go:9:13:9:27 | call to Query | SanitizingDoubleDash.go:14:23:14:33 | slice expression | provenance | |
|
||||
| SanitizingDoubleDash.go:9:13:9:27 | call to Query | SanitizingDoubleDash.go:39:31:39:37 | tainted | provenance | |
|
||||
@@ -60,8 +60,8 @@ edges
|
||||
| SanitizingDoubleDash.go:13:25:13:31 | tainted | SanitizingDoubleDash.go:13:15:13:32 | array literal [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:14:23:14:30 | arrayLit [array] | SanitizingDoubleDash.go:14:23:14:33 | slice element node | provenance | |
|
||||
| SanitizingDoubleDash.go:14:23:14:33 | slice element node | SanitizingDoubleDash.go:14:23:14:33 | slice expression | provenance | |
|
||||
| SanitizingDoubleDash.go:39:14:39:44 | []type{args} [array] | SanitizingDoubleDash.go:39:14:39:44 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:39:14:39:44 | []type{args} [array] | SanitizingDoubleDash.go:39:14:39:44 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:39:14:39:44 | []type{args} [array] | SanitizingDoubleDash.go:39:14:39:44 | call to append | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:39:14:39:44 | []type{args} [array] | SanitizingDoubleDash.go:39:14:39:44 | call to append [array] | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:39:14:39:44 | call to append | SanitizingDoubleDash.go:40:23:40:30 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:39:14:39:44 | call to append [array] | SanitizingDoubleDash.go:40:23:40:30 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:39:31:39:37 | tainted | SanitizingDoubleDash.go:39:14:39:44 | []type{args} [array] | provenance | |
|
||||
@@ -69,20 +69,20 @@ edges
|
||||
| SanitizingDoubleDash.go:52:24:52:30 | tainted | SanitizingDoubleDash.go:52:15:52:31 | slice literal [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:53:14:53:35 | call to append | SanitizingDoubleDash.go:54:23:54:30 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:53:14:53:35 | call to append [array] | SanitizingDoubleDash.go:54:23:54:30 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:53:21:53:28 | arrayLit | SanitizingDoubleDash.go:53:14:53:35 | call to append | provenance | MaD:1 |
|
||||
| SanitizingDoubleDash.go:53:21:53:28 | arrayLit [array] | SanitizingDoubleDash.go:53:14:53:35 | call to append | provenance | MaD:2 |
|
||||
| SanitizingDoubleDash.go:53:21:53:28 | arrayLit [array] | SanitizingDoubleDash.go:53:14:53:35 | call to append [array] | provenance | MaD:2 |
|
||||
| SanitizingDoubleDash.go:68:14:68:38 | []type{args} [array] | SanitizingDoubleDash.go:68:14:68:38 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:68:14:68:38 | []type{args} [array] | SanitizingDoubleDash.go:68:14:68:38 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:53:21:53:28 | arrayLit | SanitizingDoubleDash.go:53:14:53:35 | call to append | provenance | MaD:4 |
|
||||
| SanitizingDoubleDash.go:53:21:53:28 | arrayLit [array] | SanitizingDoubleDash.go:53:14:53:35 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:53:21:53:28 | arrayLit [array] | SanitizingDoubleDash.go:53:14:53:35 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:68:14:68:38 | []type{args} [array] | SanitizingDoubleDash.go:68:14:68:38 | call to append | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:68:14:68:38 | []type{args} [array] | SanitizingDoubleDash.go:68:14:68:38 | call to append [array] | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:68:14:68:38 | call to append | SanitizingDoubleDash.go:69:21:69:28 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:68:14:68:38 | call to append [array] | SanitizingDoubleDash.go:69:21:69:28 | arrayLit [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:68:31:68:37 | tainted | SanitizingDoubleDash.go:68:14:68:38 | []type{args} [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:69:14:69:35 | call to append | SanitizingDoubleDash.go:70:23:70:30 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:69:14:69:35 | call to append [array] | SanitizingDoubleDash.go:70:23:70:30 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:69:21:69:28 | arrayLit | SanitizingDoubleDash.go:69:14:69:35 | call to append | provenance | MaD:1 |
|
||||
| SanitizingDoubleDash.go:69:21:69:28 | arrayLit [array] | SanitizingDoubleDash.go:69:14:69:35 | call to append | provenance | MaD:2 |
|
||||
| SanitizingDoubleDash.go:69:21:69:28 | arrayLit [array] | SanitizingDoubleDash.go:69:14:69:35 | call to append [array] | provenance | MaD:2 |
|
||||
| SanitizingDoubleDash.go:92:13:92:19 | selection of URL | SanitizingDoubleDash.go:92:13:92:27 | call to Query | provenance | Src:MaD:5 MaD:6 |
|
||||
| SanitizingDoubleDash.go:69:21:69:28 | arrayLit | SanitizingDoubleDash.go:69:14:69:35 | call to append | provenance | MaD:4 |
|
||||
| SanitizingDoubleDash.go:69:21:69:28 | arrayLit [array] | SanitizingDoubleDash.go:69:14:69:35 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:69:21:69:28 | arrayLit [array] | SanitizingDoubleDash.go:69:14:69:35 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:92:13:92:19 | selection of URL | SanitizingDoubleDash.go:92:13:92:27 | call to Query | provenance | Src:MaD:2 MaD:7 |
|
||||
| SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:95:25:95:31 | tainted | provenance | |
|
||||
| SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:96:24:96:34 | slice expression | provenance | |
|
||||
| SanitizingDoubleDash.go:92:13:92:27 | call to Query | SanitizingDoubleDash.go:100:31:100:37 | tainted | provenance | |
|
||||
@@ -108,18 +108,18 @@ edges
|
||||
| SanitizingDoubleDash.go:101:24:101:34 | slice element node | SanitizingDoubleDash.go:101:24:101:34 | slice expression | provenance | |
|
||||
| SanitizingDoubleDash.go:105:15:105:37 | slice literal [array] | SanitizingDoubleDash.go:106:24:106:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:105:30:105:36 | tainted | SanitizingDoubleDash.go:105:15:105:37 | slice literal [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:111:14:111:44 | []type{args} [array] | SanitizingDoubleDash.go:111:14:111:44 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:111:14:111:44 | []type{args} [array] | SanitizingDoubleDash.go:111:14:111:44 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:111:14:111:44 | []type{args} [array] | SanitizingDoubleDash.go:111:14:111:44 | call to append | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:111:14:111:44 | []type{args} [array] | SanitizingDoubleDash.go:111:14:111:44 | call to append [array] | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:111:14:111:44 | call to append | SanitizingDoubleDash.go:112:24:112:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:111:14:111:44 | call to append [array] | SanitizingDoubleDash.go:112:24:112:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:111:37:111:43 | tainted | SanitizingDoubleDash.go:111:14:111:44 | []type{args} [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:117:14:117:44 | []type{args} [array] | SanitizingDoubleDash.go:117:14:117:44 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:117:14:117:44 | []type{args} [array] | SanitizingDoubleDash.go:117:14:117:44 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:117:14:117:44 | []type{args} [array] | SanitizingDoubleDash.go:117:14:117:44 | call to append | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:117:14:117:44 | []type{args} [array] | SanitizingDoubleDash.go:117:14:117:44 | call to append [array] | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:117:14:117:44 | call to append | SanitizingDoubleDash.go:118:24:118:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:117:14:117:44 | call to append [array] | SanitizingDoubleDash.go:118:24:118:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:117:31:117:37 | tainted | SanitizingDoubleDash.go:117:14:117:44 | []type{args} [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:123:14:123:38 | []type{args} [array] | SanitizingDoubleDash.go:123:14:123:38 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:123:14:123:38 | []type{args} [array] | SanitizingDoubleDash.go:123:14:123:38 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:123:14:123:38 | []type{args} [array] | SanitizingDoubleDash.go:123:14:123:38 | call to append | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:123:14:123:38 | []type{args} [array] | SanitizingDoubleDash.go:123:14:123:38 | call to append [array] | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:123:14:123:38 | call to append | SanitizingDoubleDash.go:124:24:124:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:123:14:123:38 | call to append [array] | SanitizingDoubleDash.go:124:24:124:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:123:31:123:37 | tainted | SanitizingDoubleDash.go:123:14:123:38 | []type{args} [array] | provenance | |
|
||||
@@ -127,32 +127,32 @@ edges
|
||||
| SanitizingDoubleDash.go:128:24:128:30 | tainted | SanitizingDoubleDash.go:128:15:128:31 | slice literal [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:129:14:129:35 | call to append | SanitizingDoubleDash.go:130:24:130:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:129:14:129:35 | call to append [array] | SanitizingDoubleDash.go:130:24:130:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:129:21:129:28 | arrayLit | SanitizingDoubleDash.go:129:14:129:35 | call to append | provenance | MaD:1 |
|
||||
| SanitizingDoubleDash.go:129:21:129:28 | arrayLit [array] | SanitizingDoubleDash.go:129:14:129:35 | call to append | provenance | MaD:2 |
|
||||
| SanitizingDoubleDash.go:129:21:129:28 | arrayLit [array] | SanitizingDoubleDash.go:129:14:129:35 | call to append [array] | provenance | MaD:2 |
|
||||
| SanitizingDoubleDash.go:136:14:136:38 | []type{args} [array] | SanitizingDoubleDash.go:136:14:136:38 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:136:14:136:38 | []type{args} [array] | SanitizingDoubleDash.go:136:14:136:38 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:129:21:129:28 | arrayLit | SanitizingDoubleDash.go:129:14:129:35 | call to append | provenance | MaD:4 |
|
||||
| SanitizingDoubleDash.go:129:21:129:28 | arrayLit [array] | SanitizingDoubleDash.go:129:14:129:35 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:129:21:129:28 | arrayLit [array] | SanitizingDoubleDash.go:129:14:129:35 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:136:14:136:38 | []type{args} [array] | SanitizingDoubleDash.go:136:14:136:38 | call to append | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:136:14:136:38 | []type{args} [array] | SanitizingDoubleDash.go:136:14:136:38 | call to append [array] | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:136:14:136:38 | call to append | SanitizingDoubleDash.go:137:24:137:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:136:14:136:38 | call to append [array] | SanitizingDoubleDash.go:137:24:137:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:136:31:136:37 | tainted | SanitizingDoubleDash.go:136:14:136:38 | []type{args} [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:142:14:142:38 | []type{args} [array] | SanitizingDoubleDash.go:142:14:142:38 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:142:14:142:38 | []type{args} [array] | SanitizingDoubleDash.go:142:14:142:38 | call to append [array] | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:142:14:142:38 | []type{args} [array] | SanitizingDoubleDash.go:142:14:142:38 | call to append | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:142:14:142:38 | []type{args} [array] | SanitizingDoubleDash.go:142:14:142:38 | call to append [array] | provenance | MaD:5 |
|
||||
| SanitizingDoubleDash.go:142:14:142:38 | call to append | SanitizingDoubleDash.go:143:21:143:28 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:142:14:142:38 | call to append [array] | SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:142:31:142:37 | tainted | SanitizingDoubleDash.go:142:14:142:38 | []type{args} [array] | provenance | |
|
||||
| SanitizingDoubleDash.go:143:14:143:35 | call to append | SanitizingDoubleDash.go:144:24:144:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | SanitizingDoubleDash.go:144:24:144:31 | arrayLit | provenance | |
|
||||
| SanitizingDoubleDash.go:143:21:143:28 | arrayLit | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:1 |
|
||||
| SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:2 |
|
||||
| SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | provenance | MaD:2 |
|
||||
| SanitizingDoubleDash.go:143:21:143:28 | arrayLit | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:4 |
|
||||
| SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append | provenance | MaD:3 |
|
||||
| SanitizingDoubleDash.go:143:21:143:28 | arrayLit [array] | SanitizingDoubleDash.go:143:14:143:35 | call to append [array] | provenance | MaD:3 |
|
||||
models
|
||||
| 1 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual |
|
||||
| 3 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual |
|
||||
| 4 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 6 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 7 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual |
|
||||
| 1 | Sink: os/exec; ; false; Command; ; ; Argument[0]; command-injection; manual |
|
||||
| 2 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 3 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual |
|
||||
| 4 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual |
|
||||
| 6 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 7 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| ArgumentInjection.go:9:10:9:16 | selection of URL | semmle.label | selection of URL |
|
||||
| ArgumentInjection.go:9:10:9:24 | call to Query | semmle.label | call to Query |
|
||||
|
||||
@@ -20,73 +20,73 @@
|
||||
| websocketXss.go:52:24:52:31 | gorilla2 | websocketXss.go:50:3:50:10 | definition of gorilla2 | websocketXss.go:52:24:52:31 | gorilla2 | Cross-site scripting vulnerability due to $@. | websocketXss.go:50:3:50:10 | definition of gorilla2 | user-provided value | websocketXss.go:0:0:0:0 | websocketXss.go | |
|
||||
| websocketXss.go:55:24:55:31 | gorilla3 | websocketXss.go:54:3:54:38 | ... := ...[1] | websocketXss.go:55:24:55:31 | gorilla3 | Cross-site scripting vulnerability due to $@. | websocketXss.go:54:3:54:38 | ... := ...[1] | user-provided value | websocketXss.go:0:0:0:0 | websocketXss.go | |
|
||||
edges
|
||||
| ReflectedXss.go:11:15:11:20 | selection of Form | ReflectedXss.go:11:15:11:36 | call to Get | provenance | Src:MaD:14 MaD:17 |
|
||||
| ReflectedXss.go:11:15:11:20 | selection of Form | ReflectedXss.go:11:15:11:36 | call to Get | provenance | Src:MaD:6 MaD:18 |
|
||||
| ReflectedXss.go:11:15:11:36 | call to Get | ReflectedXss.go:14:44:14:51 | username | provenance | |
|
||||
| contenttype.go:11:11:11:16 | selection of Form | contenttype.go:11:11:11:28 | call to Get | provenance | Src:MaD:14 MaD:17 |
|
||||
| contenttype.go:11:11:11:16 | selection of Form | contenttype.go:11:11:11:28 | call to Get | provenance | Src:MaD:6 MaD:18 |
|
||||
| contenttype.go:11:11:11:28 | call to Get | contenttype.go:17:11:17:22 | type conversion | provenance | |
|
||||
| contenttype.go:49:11:49:16 | selection of Form | contenttype.go:49:11:49:28 | call to Get | provenance | Src:MaD:14 MaD:17 |
|
||||
| contenttype.go:49:11:49:16 | selection of Form | contenttype.go:49:11:49:28 | call to Get | provenance | Src:MaD:6 MaD:18 |
|
||||
| contenttype.go:49:11:49:28 | call to Get | contenttype.go:53:34:53:37 | data | provenance | |
|
||||
| contenttype.go:63:10:63:28 | call to FormValue | contenttype.go:64:52:64:55 | data | provenance | Src:MaD:12 |
|
||||
| contenttype.go:73:10:73:28 | call to FormValue | contenttype.go:79:11:79:14 | data | provenance | Src:MaD:12 |
|
||||
| contenttype.go:88:10:88:28 | call to FormValue | contenttype.go:91:4:91:7 | data | provenance | Src:MaD:12 |
|
||||
| contenttype.go:113:10:113:28 | call to FormValue | contenttype.go:114:50:114:53 | data | provenance | Src:MaD:12 |
|
||||
| reflectedxsstest.go:31:2:31:44 | ... := ...[0] | reflectedxsstest.go:32:34:32:37 | file | provenance | Src:MaD:11 |
|
||||
| reflectedxsstest.go:31:2:31:44 | ... := ...[1] | reflectedxsstest.go:34:46:34:60 | selection of Filename | provenance | Src:MaD:11 |
|
||||
| contenttype.go:63:10:63:28 | call to FormValue | contenttype.go:64:52:64:55 | data | provenance | Src:MaD:8 |
|
||||
| contenttype.go:73:10:73:28 | call to FormValue | contenttype.go:79:11:79:14 | data | provenance | Src:MaD:8 |
|
||||
| contenttype.go:88:10:88:28 | call to FormValue | contenttype.go:91:4:91:7 | data | provenance | Src:MaD:8 |
|
||||
| contenttype.go:113:10:113:28 | call to FormValue | contenttype.go:114:50:114:53 | data | provenance | Src:MaD:8 |
|
||||
| reflectedxsstest.go:31:2:31:44 | ... := ...[0] | reflectedxsstest.go:32:34:32:37 | file | provenance | Src:MaD:7 |
|
||||
| reflectedxsstest.go:31:2:31:44 | ... := ...[1] | reflectedxsstest.go:34:46:34:60 | selection of Filename | provenance | Src:MaD:7 |
|
||||
| reflectedxsstest.go:32:2:32:38 | ... := ...[0] | reflectedxsstest.go:33:49:33:55 | content | provenance | |
|
||||
| reflectedxsstest.go:32:34:32:37 | file | reflectedxsstest.go:32:2:32:38 | ... := ...[0] | provenance | MaD:7 |
|
||||
| reflectedxsstest.go:33:17:33:56 | []type{args} [array] | reflectedxsstest.go:33:17:33:56 | call to Sprintf | provenance | MaD:1 |
|
||||
| reflectedxsstest.go:32:34:32:37 | file | reflectedxsstest.go:32:2:32:38 | ... := ...[0] | provenance | MaD:13 |
|
||||
| reflectedxsstest.go:33:17:33:56 | []type{args} [array] | reflectedxsstest.go:33:17:33:56 | call to Sprintf | provenance | MaD:12 |
|
||||
| reflectedxsstest.go:33:17:33:56 | call to Sprintf | reflectedxsstest.go:33:10:33:57 | type conversion | provenance | |
|
||||
| reflectedxsstest.go:33:49:33:55 | content | reflectedxsstest.go:33:17:33:56 | []type{args} [array] | provenance | |
|
||||
| reflectedxsstest.go:33:49:33:55 | content | reflectedxsstest.go:33:17:33:56 | call to Sprintf | provenance | FunctionModel |
|
||||
| reflectedxsstest.go:34:17:34:61 | []type{args} [array] | reflectedxsstest.go:34:17:34:61 | call to Sprintf | provenance | MaD:1 |
|
||||
| reflectedxsstest.go:34:17:34:61 | []type{args} [array] | reflectedxsstest.go:34:17:34:61 | call to Sprintf | provenance | MaD:12 |
|
||||
| reflectedxsstest.go:34:17:34:61 | call to Sprintf | reflectedxsstest.go:34:10:34:62 | type conversion | provenance | |
|
||||
| reflectedxsstest.go:34:46:34:60 | selection of Filename | reflectedxsstest.go:34:17:34:61 | []type{args} [array] | provenance | |
|
||||
| reflectedxsstest.go:34:46:34:60 | selection of Filename | reflectedxsstest.go:34:17:34:61 | call to Sprintf | provenance | FunctionModel |
|
||||
| reflectedxsstest.go:38:2:38:35 | ... := ...[0] | reflectedxsstest.go:39:16:39:21 | reader | provenance | Src:MaD:13 |
|
||||
| reflectedxsstest.go:38:2:38:35 | ... := ...[0] | reflectedxsstest.go:39:16:39:21 | reader | provenance | Src:MaD:9 |
|
||||
| reflectedxsstest.go:39:2:39:32 | ... := ...[0] | reflectedxsstest.go:40:14:40:17 | part | provenance | |
|
||||
| reflectedxsstest.go:39:2:39:32 | ... := ...[0] | reflectedxsstest.go:42:2:42:5 | part | provenance | |
|
||||
| reflectedxsstest.go:39:16:39:21 | reader | reflectedxsstest.go:39:2:39:32 | ... := ...[0] | provenance | MaD:10 |
|
||||
| reflectedxsstest.go:40:14:40:17 | part | reflectedxsstest.go:40:14:40:28 | call to FileName | provenance | MaD:9 |
|
||||
| reflectedxsstest.go:39:16:39:21 | reader | reflectedxsstest.go:39:2:39:32 | ... := ...[0] | provenance | MaD:16 |
|
||||
| reflectedxsstest.go:40:14:40:17 | part | reflectedxsstest.go:40:14:40:28 | call to FileName | provenance | MaD:15 |
|
||||
| reflectedxsstest.go:40:14:40:28 | call to FileName | reflectedxsstest.go:44:46:44:53 | partName | provenance | |
|
||||
| reflectedxsstest.go:41:2:41:10 | definition of byteSlice | reflectedxsstest.go:45:10:45:18 | byteSlice | provenance | |
|
||||
| reflectedxsstest.go:42:2:42:5 | part | reflectedxsstest.go:41:2:41:10 | definition of byteSlice | provenance | MaD:8 |
|
||||
| reflectedxsstest.go:44:17:44:54 | []type{args} [array] | reflectedxsstest.go:44:17:44:54 | call to Sprintf | provenance | MaD:1 |
|
||||
| reflectedxsstest.go:42:2:42:5 | part | reflectedxsstest.go:41:2:41:10 | definition of byteSlice | provenance | MaD:14 |
|
||||
| reflectedxsstest.go:44:17:44:54 | []type{args} [array] | reflectedxsstest.go:44:17:44:54 | call to Sprintf | provenance | MaD:12 |
|
||||
| reflectedxsstest.go:44:17:44:54 | call to Sprintf | reflectedxsstest.go:44:10:44:55 | type conversion | provenance | |
|
||||
| reflectedxsstest.go:44:46:44:53 | partName | reflectedxsstest.go:44:17:44:54 | []type{args} [array] | provenance | |
|
||||
| reflectedxsstest.go:44:46:44:53 | partName | reflectedxsstest.go:44:17:44:54 | call to Sprintf | provenance | FunctionModel |
|
||||
| reflectedxsstest.go:51:14:51:18 | selection of URL | reflectedxsstest.go:51:14:51:26 | call to Query | provenance | Src:MaD:15 MaD:16 |
|
||||
| reflectedxsstest.go:51:14:51:18 | selection of URL | reflectedxsstest.go:51:14:51:26 | call to Query | provenance | Src:MaD:10 MaD:17 |
|
||||
| reflectedxsstest.go:51:14:51:26 | call to Query | reflectedxsstest.go:54:11:54:21 | type conversion | provenance | |
|
||||
| tst.go:14:15:14:20 | selection of Form | tst.go:14:15:14:36 | call to Get | provenance | Src:MaD:14 MaD:17 |
|
||||
| tst.go:14:15:14:20 | selection of Form | tst.go:14:15:14:36 | call to Get | provenance | Src:MaD:6 MaD:18 |
|
||||
| tst.go:14:15:14:36 | call to Get | tst.go:18:32:18:32 | a | provenance | |
|
||||
| tst.go:18:19:18:38 | call to Join | tst.go:18:12:18:39 | type conversion | provenance | |
|
||||
| tst.go:18:32:18:32 | a | tst.go:18:19:18:38 | call to Join | provenance | MaD:19 |
|
||||
| tst.go:48:14:48:19 | selection of Form | tst.go:48:14:48:34 | call to Get | provenance | Src:MaD:14 MaD:17 |
|
||||
| tst.go:48:14:48:19 | selection of Form | tst.go:48:14:48:34 | call to Get | provenance | Src:MaD:6 MaD:18 |
|
||||
| tst.go:48:14:48:34 | call to Get | tst.go:53:12:53:26 | type conversion | provenance | |
|
||||
| websocketXss.go:30:7:30:10 | definition of xnet | websocketXss.go:32:24:32:27 | xnet | provenance | Src:MaD:6 |
|
||||
| websocketXss.go:34:3:34:7 | definition of xnet2 | websocketXss.go:36:24:36:28 | xnet2 | provenance | Src:MaD:5 |
|
||||
| websocketXss.go:40:3:40:40 | ... := ...[1] | websocketXss.go:41:24:41:29 | nhooyr | provenance | Src:MaD:18 |
|
||||
| websocketXss.go:46:7:46:16 | definition of gorillaMsg | websocketXss.go:48:24:48:33 | gorillaMsg | provenance | Src:MaD:2 |
|
||||
| websocketXss.go:50:3:50:10 | definition of gorilla2 | websocketXss.go:52:24:52:31 | gorilla2 | provenance | Src:MaD:3 |
|
||||
| websocketXss.go:54:3:54:38 | ... := ...[1] | websocketXss.go:55:24:55:31 | gorilla3 | provenance | Src:MaD:4 |
|
||||
| websocketXss.go:30:7:30:10 | definition of xnet | websocketXss.go:32:24:32:27 | xnet | provenance | Src:MaD:5 |
|
||||
| websocketXss.go:34:3:34:7 | definition of xnet2 | websocketXss.go:36:24:36:28 | xnet2 | provenance | Src:MaD:4 |
|
||||
| websocketXss.go:40:3:40:40 | ... := ...[1] | websocketXss.go:41:24:41:29 | nhooyr | provenance | Src:MaD:11 |
|
||||
| websocketXss.go:46:7:46:16 | definition of gorillaMsg | websocketXss.go:48:24:48:33 | gorillaMsg | provenance | Src:MaD:1 |
|
||||
| websocketXss.go:50:3:50:10 | definition of gorilla2 | websocketXss.go:52:24:52:31 | gorilla2 | provenance | Src:MaD:2 |
|
||||
| websocketXss.go:54:3:54:38 | ... := ...[1] | websocketXss.go:55:24:55:31 | gorilla3 | provenance | Src:MaD:3 |
|
||||
models
|
||||
| 1 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 2 | Source: github.com/gorilla/websocket; ; true; ReadJSON; ; ; Argument[1]; remote; manual |
|
||||
| 3 | Source: github.com/gorilla/websocket; Conn; true; ReadJSON; ; ; Argument[0]; remote; manual |
|
||||
| 4 | Source: github.com/gorilla/websocket; Conn; true; ReadMessage; ; ; ReturnValue[1]; remote; manual |
|
||||
| 5 | Source: golang.org/x/net/websocket; Codec; true; Receive; ; ; Argument[1]; remote; manual |
|
||||
| 6 | Source: golang.org/x/net/websocket; Conn; true; Read; ; ; Argument[0]; remote; manual |
|
||||
| 7 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 8 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual |
|
||||
| 9 | Summary: mime/multipart; Part; true; FileName; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: mime/multipart; Reader; true; NextPart; ; ; Argument[receiver]; ReturnValue[0]; taint; manual |
|
||||
| 11 | Source: net/http; Request; true; FormFile; ; ; ReturnValue[0..1]; remote; manual |
|
||||
| 12 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 13 | Source: net/http; Request; true; MultipartReader; ; ; ReturnValue[0]; remote; manual |
|
||||
| 14 | Source: net/http; Request; true; Form; ; ; ; remote; manual |
|
||||
| 15 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 16 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 17 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 18 | Source: nhooyr.io/websocket; Conn; true; Read; ; ; ReturnValue[1]; remote; manual |
|
||||
| 1 | Source: github.com/gorilla/websocket; ; true; ReadJSON; ; ; Argument[1]; remote; manual |
|
||||
| 2 | Source: github.com/gorilla/websocket; Conn; true; ReadJSON; ; ; Argument[0]; remote; manual |
|
||||
| 3 | Source: github.com/gorilla/websocket; Conn; true; ReadMessage; ; ; ReturnValue[1]; remote; manual |
|
||||
| 4 | Source: golang.org/x/net/websocket; Codec; true; Receive; ; ; Argument[1]; remote; manual |
|
||||
| 5 | Source: golang.org/x/net/websocket; Conn; true; Read; ; ; Argument[0]; remote; manual |
|
||||
| 6 | Source: net/http; Request; true; Form; ; ; ; remote; manual |
|
||||
| 7 | Source: net/http; Request; true; FormFile; ; ; ReturnValue[0..1]; remote; manual |
|
||||
| 8 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 9 | Source: net/http; Request; true; MultipartReader; ; ; ReturnValue[0]; remote; manual |
|
||||
| 10 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 11 | Source: nhooyr.io/websocket; Conn; true; Read; ; ; ReturnValue[1]; remote; manual |
|
||||
| 12 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 13 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 14 | Summary: io; Reader; true; Read; ; ; Argument[receiver]; Argument[0]; taint; manual |
|
||||
| 15 | Summary: mime/multipart; Part; true; FileName; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 16 | Summary: mime/multipart; Reader; true; NextPart; ; ; Argument[receiver]; ReturnValue[0]; taint; manual |
|
||||
| 17 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 18 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 19 | Summary: strings; ; false; Join; ; ; Argument[0..1]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| ReflectedXss.go:11:15:11:20 | selection of Form | semmle.label | selection of Form |
|
||||
|
||||
@@ -25,52 +25,52 @@
|
||||
| mongoDB.go:80:22:80:27 | filter | mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:80:22:80:27 | filter | This query depends on a $@. | mongoDB.go:40:20:40:30 | call to Referer | user-provided value |
|
||||
| mongoDB.go:81:18:81:25 | pipeline | mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:81:18:81:25 | pipeline | This query depends on a $@. | mongoDB.go:40:20:40:30 | call to Referer | user-provided value |
|
||||
edges
|
||||
| SqlInjection.go:10:7:11:30 | []type{args} [array] | SqlInjection.go:10:7:11:30 | call to Sprintf | provenance | MaD:2 |
|
||||
| SqlInjection.go:10:7:11:30 | []type{args} [array] | SqlInjection.go:10:7:11:30 | call to Sprintf | provenance | MaD:7 |
|
||||
| SqlInjection.go:10:7:11:30 | call to Sprintf | SqlInjection.go:12:11:12:11 | q | provenance | |
|
||||
| SqlInjection.go:11:3:11:9 | selection of URL | SqlInjection.go:11:3:11:17 | call to Query | provenance | Src:MaD:9 MaD:10 |
|
||||
| SqlInjection.go:11:3:11:9 | selection of URL | SqlInjection.go:11:3:11:17 | call to Query | provenance | Src:MaD:5 MaD:10 |
|
||||
| SqlInjection.go:11:3:11:17 | call to Query | SqlInjection.go:11:3:11:29 | index expression | provenance | |
|
||||
| SqlInjection.go:11:3:11:29 | index expression | SqlInjection.go:10:7:11:30 | []type{args} [array] | provenance | |
|
||||
| SqlInjection.go:11:3:11:29 | index expression | SqlInjection.go:10:7:11:30 | call to Sprintf | provenance | FunctionModel |
|
||||
| issue48.go:17:2:17:33 | ... := ...[0] | issue48.go:18:17:18:17 | b | provenance | |
|
||||
| issue48.go:17:25:17:32 | selection of Body | issue48.go:17:2:17:33 | ... := ...[0] | provenance | Src:MaD:6 MaD:3 |
|
||||
| issue48.go:18:17:18:17 | b | issue48.go:18:20:18:39 | &... | provenance | MaD:1 |
|
||||
| issue48.go:17:25:17:32 | selection of Body | issue48.go:17:2:17:33 | ... := ...[0] | provenance | Src:MaD:1 MaD:8 |
|
||||
| issue48.go:18:17:18:17 | b | issue48.go:18:20:18:39 | &... | provenance | MaD:6 |
|
||||
| issue48.go:18:20:18:39 | &... | issue48.go:21:3:21:33 | index expression | provenance | |
|
||||
| issue48.go:20:8:21:34 | []type{args} [array] | issue48.go:20:8:21:34 | call to Sprintf | provenance | MaD:2 |
|
||||
| issue48.go:20:8:21:34 | []type{args} [array] | issue48.go:20:8:21:34 | call to Sprintf | provenance | MaD:7 |
|
||||
| issue48.go:20:8:21:34 | call to Sprintf | issue48.go:22:11:22:12 | q3 | provenance | |
|
||||
| issue48.go:21:3:21:33 | index expression | issue48.go:20:8:21:34 | []type{args} [array] | provenance | |
|
||||
| issue48.go:21:3:21:33 | index expression | issue48.go:20:8:21:34 | call to Sprintf | provenance | FunctionModel |
|
||||
| issue48.go:27:2:27:34 | ... := ...[0] | issue48.go:28:17:28:18 | b2 | provenance | |
|
||||
| issue48.go:27:26:27:33 | selection of Body | issue48.go:27:2:27:34 | ... := ...[0] | provenance | Src:MaD:6 MaD:3 |
|
||||
| issue48.go:28:17:28:18 | b2 | issue48.go:28:21:28:41 | &... | provenance | MaD:1 |
|
||||
| issue48.go:27:26:27:33 | selection of Body | issue48.go:27:2:27:34 | ... := ...[0] | provenance | Src:MaD:1 MaD:8 |
|
||||
| issue48.go:28:17:28:18 | b2 | issue48.go:28:21:28:41 | &... | provenance | MaD:6 |
|
||||
| issue48.go:28:21:28:41 | &... | issue48.go:31:3:31:31 | selection of Category | provenance | |
|
||||
| issue48.go:30:8:31:32 | []type{args} [array] | issue48.go:30:8:31:32 | call to Sprintf | provenance | MaD:2 |
|
||||
| issue48.go:30:8:31:32 | []type{args} [array] | issue48.go:30:8:31:32 | call to Sprintf | provenance | MaD:7 |
|
||||
| issue48.go:30:8:31:32 | call to Sprintf | issue48.go:32:11:32:12 | q4 | provenance | |
|
||||
| issue48.go:31:3:31:31 | selection of Category | issue48.go:30:8:31:32 | []type{args} [array] | provenance | |
|
||||
| issue48.go:31:3:31:31 | selection of Category | issue48.go:30:8:31:32 | call to Sprintf | provenance | FunctionModel |
|
||||
| issue48.go:37:17:37:50 | type conversion | issue48.go:37:53:37:73 | &... | provenance | MaD:1 |
|
||||
| issue48.go:37:24:37:30 | selection of URL | issue48.go:37:24:37:38 | call to Query | provenance | Src:MaD:9 MaD:10 |
|
||||
| issue48.go:37:17:37:50 | type conversion | issue48.go:37:53:37:73 | &... | provenance | MaD:6 |
|
||||
| issue48.go:37:24:37:30 | selection of URL | issue48.go:37:24:37:38 | call to Query | provenance | Src:MaD:5 MaD:10 |
|
||||
| issue48.go:37:24:37:38 | call to Query | issue48.go:37:17:37:50 | type conversion | provenance | |
|
||||
| issue48.go:37:53:37:73 | &... | issue48.go:40:3:40:31 | selection of Category | provenance | |
|
||||
| issue48.go:39:8:40:32 | []type{args} [array] | issue48.go:39:8:40:32 | call to Sprintf | provenance | MaD:2 |
|
||||
| issue48.go:39:8:40:32 | []type{args} [array] | issue48.go:39:8:40:32 | call to Sprintf | provenance | MaD:7 |
|
||||
| issue48.go:39:8:40:32 | call to Sprintf | issue48.go:41:11:41:12 | q5 | provenance | |
|
||||
| issue48.go:40:3:40:31 | selection of Category | issue48.go:39:8:40:32 | []type{args} [array] | provenance | |
|
||||
| issue48.go:40:3:40:31 | selection of Category | issue48.go:39:8:40:32 | call to Sprintf | provenance | FunctionModel |
|
||||
| main.go:11:11:11:16 | selection of Form | main.go:11:11:11:28 | index expression | provenance | Src:MaD:7 |
|
||||
| main.go:15:11:15:84 | []type{args} [array] | main.go:15:11:15:84 | call to Sprintf | provenance | MaD:2 |
|
||||
| main.go:15:63:15:67 | selection of URL | main.go:15:63:15:75 | call to Query | provenance | Src:MaD:9 MaD:10 |
|
||||
| main.go:11:11:11:16 | selection of Form | main.go:11:11:11:28 | index expression | provenance | Src:MaD:2 |
|
||||
| main.go:15:11:15:84 | []type{args} [array] | main.go:15:11:15:84 | call to Sprintf | provenance | MaD:7 |
|
||||
| main.go:15:63:15:67 | selection of URL | main.go:15:63:15:75 | call to Query | provenance | Src:MaD:5 MaD:10 |
|
||||
| main.go:15:63:15:75 | call to Query | main.go:15:63:15:83 | index expression | provenance | |
|
||||
| main.go:15:63:15:83 | index expression | main.go:15:11:15:84 | []type{args} [array] | provenance | |
|
||||
| main.go:15:63:15:83 | index expression | main.go:15:11:15:84 | call to Sprintf | provenance | FunctionModel |
|
||||
| main.go:16:11:16:85 | []type{args} [array] | main.go:16:11:16:85 | call to Sprintf | provenance | MaD:2 |
|
||||
| main.go:16:63:16:70 | selection of Header | main.go:16:63:16:84 | call to Get | provenance | Src:MaD:8 MaD:4 |
|
||||
| main.go:16:11:16:85 | []type{args} [array] | main.go:16:11:16:85 | call to Sprintf | provenance | MaD:7 |
|
||||
| main.go:16:63:16:70 | selection of Header | main.go:16:63:16:84 | call to Get | provenance | Src:MaD:3 MaD:9 |
|
||||
| main.go:16:63:16:84 | call to Get | main.go:16:11:16:85 | []type{args} [array] | provenance | |
|
||||
| main.go:16:63:16:84 | call to Get | main.go:16:11:16:85 | call to Sprintf | provenance | FunctionModel |
|
||||
| main.go:28:17:31:2 | &... [pointer, Category] | main.go:34:3:34:13 | RequestData [pointer, Category] | provenance | |
|
||||
| main.go:28:18:31:2 | struct literal [Category] | main.go:28:17:31:2 | &... [pointer, Category] | provenance | |
|
||||
| main.go:30:13:30:19 | selection of URL | main.go:30:13:30:27 | call to Query | provenance | Src:MaD:9 MaD:10 |
|
||||
| main.go:30:13:30:19 | selection of URL | main.go:30:13:30:27 | call to Query | provenance | Src:MaD:5 MaD:10 |
|
||||
| main.go:30:13:30:27 | call to Query | main.go:30:13:30:39 | index expression | provenance | |
|
||||
| main.go:30:13:30:39 | index expression | main.go:28:18:31:2 | struct literal [Category] | provenance | |
|
||||
| main.go:33:7:34:23 | []type{args} [array] | main.go:33:7:34:23 | call to Sprintf | provenance | MaD:2 |
|
||||
| main.go:33:7:34:23 | []type{args} [array] | main.go:33:7:34:23 | call to Sprintf | provenance | MaD:7 |
|
||||
| main.go:33:7:34:23 | call to Sprintf | main.go:35:11:35:11 | q | provenance | |
|
||||
| main.go:34:3:34:13 | RequestData [pointer, Category] | main.go:34:3:34:13 | implicit dereference [Category] | provenance | |
|
||||
| main.go:34:3:34:13 | implicit dereference [Category] | main.go:34:3:34:22 | selection of Category | provenance | |
|
||||
@@ -80,10 +80,10 @@ edges
|
||||
| main.go:39:2:39:12 | definition of RequestData [pointer, Category] | main.go:43:3:43:13 | RequestData [pointer, Category] | provenance | |
|
||||
| main.go:40:2:40:12 | RequestData [pointer, Category] | main.go:40:2:40:12 | implicit dereference [Category] | provenance | |
|
||||
| main.go:40:2:40:12 | implicit dereference [Category] | main.go:39:2:39:12 | definition of RequestData [pointer, Category] | provenance | |
|
||||
| main.go:40:25:40:31 | selection of URL | main.go:40:25:40:39 | call to Query | provenance | Src:MaD:9 MaD:10 |
|
||||
| main.go:40:25:40:31 | selection of URL | main.go:40:25:40:39 | call to Query | provenance | Src:MaD:5 MaD:10 |
|
||||
| main.go:40:25:40:39 | call to Query | main.go:40:25:40:51 | index expression | provenance | |
|
||||
| main.go:40:25:40:51 | index expression | main.go:40:2:40:12 | implicit dereference [Category] | provenance | |
|
||||
| main.go:42:7:43:23 | []type{args} [array] | main.go:42:7:43:23 | call to Sprintf | provenance | MaD:2 |
|
||||
| main.go:42:7:43:23 | []type{args} [array] | main.go:42:7:43:23 | call to Sprintf | provenance | MaD:7 |
|
||||
| main.go:42:7:43:23 | call to Sprintf | main.go:44:11:44:11 | q | provenance | |
|
||||
| main.go:43:3:43:13 | RequestData [pointer, Category] | main.go:43:3:43:13 | implicit dereference [Category] | provenance | |
|
||||
| main.go:43:3:43:13 | implicit dereference [Category] | main.go:43:3:43:22 | selection of Category | provenance | |
|
||||
@@ -93,10 +93,10 @@ edges
|
||||
| main.go:48:2:48:12 | definition of RequestData [pointer, Category] | main.go:52:3:52:13 | RequestData [pointer, Category] | provenance | |
|
||||
| main.go:49:3:49:14 | star expression [Category] | main.go:48:2:48:12 | definition of RequestData [pointer, Category] | provenance | |
|
||||
| main.go:49:4:49:14 | RequestData [pointer, Category] | main.go:49:3:49:14 | star expression [Category] | provenance | |
|
||||
| main.go:49:28:49:34 | selection of URL | main.go:49:28:49:42 | call to Query | provenance | Src:MaD:9 MaD:10 |
|
||||
| main.go:49:28:49:34 | selection of URL | main.go:49:28:49:42 | call to Query | provenance | Src:MaD:5 MaD:10 |
|
||||
| main.go:49:28:49:42 | call to Query | main.go:49:28:49:54 | index expression | provenance | |
|
||||
| main.go:49:28:49:54 | index expression | main.go:49:3:49:14 | star expression [Category] | provenance | |
|
||||
| main.go:51:7:52:23 | []type{args} [array] | main.go:51:7:52:23 | call to Sprintf | provenance | MaD:2 |
|
||||
| main.go:51:7:52:23 | []type{args} [array] | main.go:51:7:52:23 | call to Sprintf | provenance | MaD:7 |
|
||||
| main.go:51:7:52:23 | call to Sprintf | main.go:53:11:53:11 | q | provenance | |
|
||||
| main.go:52:3:52:13 | RequestData [pointer, Category] | main.go:52:3:52:13 | implicit dereference [Category] | provenance | |
|
||||
| main.go:52:3:52:13 | implicit dereference [Category] | main.go:52:3:52:22 | selection of Category | provenance | |
|
||||
@@ -106,16 +106,16 @@ edges
|
||||
| main.go:57:2:57:12 | definition of RequestData [pointer, Category] | main.go:61:5:61:15 | RequestData [pointer, Category] | provenance | |
|
||||
| main.go:58:3:58:14 | star expression [Category] | main.go:57:2:57:12 | definition of RequestData [pointer, Category] | provenance | |
|
||||
| main.go:58:4:58:14 | RequestData [pointer, Category] | main.go:58:3:58:14 | star expression [Category] | provenance | |
|
||||
| main.go:58:28:58:34 | selection of URL | main.go:58:28:58:42 | call to Query | provenance | Src:MaD:9 MaD:10 |
|
||||
| main.go:58:28:58:34 | selection of URL | main.go:58:28:58:42 | call to Query | provenance | Src:MaD:5 MaD:10 |
|
||||
| main.go:58:28:58:42 | call to Query | main.go:58:28:58:54 | index expression | provenance | |
|
||||
| main.go:58:28:58:54 | index expression | main.go:58:3:58:14 | star expression [Category] | provenance | |
|
||||
| main.go:60:7:61:26 | []type{args} [array] | main.go:60:7:61:26 | call to Sprintf | provenance | MaD:2 |
|
||||
| main.go:60:7:61:26 | []type{args} [array] | main.go:60:7:61:26 | call to Sprintf | provenance | MaD:7 |
|
||||
| main.go:60:7:61:26 | call to Sprintf | main.go:62:11:62:11 | q | provenance | |
|
||||
| main.go:61:3:61:25 | selection of Category | main.go:60:7:61:26 | []type{args} [array] | provenance | |
|
||||
| main.go:61:3:61:25 | selection of Category | main.go:60:7:61:26 | call to Sprintf | provenance | FunctionModel |
|
||||
| main.go:61:4:61:15 | star expression [Category] | main.go:61:3:61:25 | selection of Category | provenance | |
|
||||
| main.go:61:5:61:15 | RequestData [pointer, Category] | main.go:61:4:61:15 | star expression [Category] | provenance | |
|
||||
| mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:42:28:42:41 | untrustedInput | provenance | Src:MaD:5 |
|
||||
| mongoDB.go:40:20:40:30 | call to Referer | mongoDB.go:42:28:42:41 | untrustedInput | provenance | Src:MaD:4 |
|
||||
| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:50:34:50:39 | filter | provenance | |
|
||||
| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:61:27:61:32 | filter | provenance | |
|
||||
| mongoDB.go:42:19:42:42 | struct literal | mongoDB.go:63:23:63:28 | filter | provenance | |
|
||||
@@ -134,15 +134,15 @@ edges
|
||||
| mongoDB.go:50:23:50:40 | struct literal | mongoDB.go:81:18:81:25 | pipeline | provenance | |
|
||||
| mongoDB.go:50:34:50:39 | filter | mongoDB.go:50:23:50:40 | struct literal | provenance | Config |
|
||||
models
|
||||
| 1 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 2 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 3 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 4 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 5 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual |
|
||||
| 6 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 7 | Source: net/http; Request; true; Form; ; ; ; remote; manual |
|
||||
| 8 | Source: net/http; Request; true; Header; ; ; ; remote; manual |
|
||||
| 9 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; Body; ; ; ; remote; manual |
|
||||
| 2 | Source: net/http; Request; true; Form; ; ; ; remote; manual |
|
||||
| 3 | Source: net/http; Request; true; Header; ; ; ; remote; manual |
|
||||
| 4 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual |
|
||||
| 5 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 6 | Summary: encoding/json; ; false; Unmarshal; ; ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 7 | Summary: fmt; ; true; Sprintf; ; ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 8 | Summary: io/ioutil; ; false; ReadAll; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 9 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| SqlInjection.go:10:7:11:30 | []type{args} [array] | semmle.label | []type{args} [array] |
|
||||
|
||||
@@ -59,9 +59,9 @@ edges
|
||||
| UnsafeTLS.go:344:19:344:44 | call to append | UnsafeTLS.go:344:26:344:37 | cipherSuites | provenance | |
|
||||
| UnsafeTLS.go:344:19:344:44 | call to append | UnsafeTLS.go:346:25:346:36 | cipherSuites | provenance | |
|
||||
| UnsafeTLS.go:344:19:344:44 | call to append [array] | UnsafeTLS.go:344:26:344:37 | cipherSuites [array] | provenance | |
|
||||
| UnsafeTLS.go:344:26:344:37 | cipherSuites | UnsafeTLS.go:344:19:344:44 | call to append | provenance | MaD:1 |
|
||||
| UnsafeTLS.go:344:26:344:37 | cipherSuites [array] | UnsafeTLS.go:344:19:344:44 | call to append | provenance | MaD:2 |
|
||||
| UnsafeTLS.go:344:26:344:37 | cipherSuites [array] | UnsafeTLS.go:344:19:344:44 | call to append [array] | provenance | MaD:2 |
|
||||
| UnsafeTLS.go:344:26:344:37 | cipherSuites | UnsafeTLS.go:344:19:344:44 | call to append | provenance | MaD:2 |
|
||||
| UnsafeTLS.go:344:26:344:37 | cipherSuites [array] | UnsafeTLS.go:344:19:344:44 | call to append | provenance | MaD:1 |
|
||||
| UnsafeTLS.go:344:26:344:37 | cipherSuites [array] | UnsafeTLS.go:344:19:344:44 | call to append [array] | provenance | MaD:1 |
|
||||
| UnsafeTLS.go:344:40:344:43 | selection of ID | UnsafeTLS.go:344:19:344:44 | []type{args} [array] | provenance | |
|
||||
| UnsafeTLS.go:351:13:351:38 | call to InsecureCipherSuites | UnsafeTLS.go:353:40:353:51 | selection of ID | provenance | |
|
||||
| UnsafeTLS.go:353:19:353:52 | []type{args} [array] | UnsafeTLS.go:353:19:353:52 | call to append | provenance | MaD:3 |
|
||||
@@ -69,9 +69,9 @@ edges
|
||||
| UnsafeTLS.go:353:19:353:52 | call to append | UnsafeTLS.go:353:26:353:37 | cipherSuites | provenance | |
|
||||
| UnsafeTLS.go:353:19:353:52 | call to append | UnsafeTLS.go:355:25:355:36 | cipherSuites | provenance | |
|
||||
| UnsafeTLS.go:353:19:353:52 | call to append [array] | UnsafeTLS.go:353:26:353:37 | cipherSuites [array] | provenance | |
|
||||
| UnsafeTLS.go:353:26:353:37 | cipherSuites | UnsafeTLS.go:353:19:353:52 | call to append | provenance | MaD:1 |
|
||||
| UnsafeTLS.go:353:26:353:37 | cipherSuites [array] | UnsafeTLS.go:353:19:353:52 | call to append | provenance | MaD:2 |
|
||||
| UnsafeTLS.go:353:26:353:37 | cipherSuites [array] | UnsafeTLS.go:353:19:353:52 | call to append [array] | provenance | MaD:2 |
|
||||
| UnsafeTLS.go:353:26:353:37 | cipherSuites | UnsafeTLS.go:353:19:353:52 | call to append | provenance | MaD:2 |
|
||||
| UnsafeTLS.go:353:26:353:37 | cipherSuites [array] | UnsafeTLS.go:353:19:353:52 | call to append | provenance | MaD:1 |
|
||||
| UnsafeTLS.go:353:26:353:37 | cipherSuites [array] | UnsafeTLS.go:353:19:353:52 | call to append [array] | provenance | MaD:1 |
|
||||
| UnsafeTLS.go:353:40:353:51 | selection of ID | UnsafeTLS.go:353:19:353:52 | []type{args} [array] | provenance | |
|
||||
| UnsafeTLS.go:363:5:363:47 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:362:18:364:4 | slice literal | provenance | |
|
||||
| UnsafeTLS.go:371:5:371:47 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:370:18:372:4 | slice literal | provenance | |
|
||||
@@ -87,8 +87,8 @@ edges
|
||||
| UnsafeTLS.go:450:6:450:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:449:19:451:5 | slice literal | provenance | |
|
||||
| UnsafeTLS.go:457:6:457:48 | selection of TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 | UnsafeTLS.go:456:19:458:5 | slice literal | provenance | |
|
||||
models
|
||||
| 1 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual |
|
||||
| 1 | Summary: ; ; false; append; ; ; Argument[0].ArrayElement; ReturnValue.ArrayElement; value; manual |
|
||||
| 2 | Summary: ; ; false; append; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: ; ; false; append; ; ; Argument[1].ArrayElement; ReturnValue.ArrayElement; value; manual |
|
||||
nodes
|
||||
| UnsafeTLS.go:21:23:21:23 | 0 | semmle.label | 0 |
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
| go-jose.v3.go:33:12:33:23 | DecodedToken | go-jose.v3.go:25:16:25:20 | selection of URL | go-jose.v3.go:33:12:33:23 | DecodedToken | This JWT is parsed without verification and received from $@. | go-jose.v3.go:25:16:25:20 | selection of URL | this user-controlled source |
|
||||
| golang-jwt-v5.go:34:58:34:68 | signedToken | golang-jwt-v5.go:28:16:28:20 | selection of URL | golang-jwt-v5.go:34:58:34:68 | signedToken | This JWT is parsed without verification and received from $@. | golang-jwt-v5.go:28:16:28:20 | selection of URL | this user-controlled source |
|
||||
edges
|
||||
| go-jose.v3.go:25:16:25:20 | selection of URL | go-jose.v3.go:25:16:25:28 | call to Query | provenance | Src:MaD:4 MaD:5 |
|
||||
| go-jose.v3.go:25:16:25:20 | selection of URL | go-jose.v3.go:25:16:25:28 | call to Query | provenance | Src:MaD:3 MaD:5 |
|
||||
| go-jose.v3.go:25:16:25:28 | call to Query | go-jose.v3.go:25:16:25:47 | call to Get | provenance | MaD:6 |
|
||||
| go-jose.v3.go:25:16:25:47 | call to Get | go-jose.v3.go:26:15:26:25 | signedToken | provenance | |
|
||||
| go-jose.v3.go:26:15:26:25 | signedToken | go-jose.v3.go:29:19:29:29 | definition of signedToken | provenance | |
|
||||
| go-jose.v3.go:29:19:29:29 | definition of signedToken | go-jose.v3.go:31:37:31:47 | signedToken | provenance | |
|
||||
| go-jose.v3.go:31:2:31:48 | ... := ...[0] | go-jose.v3.go:33:12:33:23 | DecodedToken | provenance | Sink:MaD:1 |
|
||||
| go-jose.v3.go:31:37:31:47 | signedToken | go-jose.v3.go:31:2:31:48 | ... := ...[0] | provenance | MaD:2 |
|
||||
| golang-jwt-v5.go:28:16:28:20 | selection of URL | golang-jwt-v5.go:28:16:28:28 | call to Query | provenance | Src:MaD:4 MaD:5 |
|
||||
| go-jose.v3.go:31:2:31:48 | ... := ...[0] | go-jose.v3.go:33:12:33:23 | DecodedToken | provenance | Sink:MaD:2 |
|
||||
| go-jose.v3.go:31:37:31:47 | signedToken | go-jose.v3.go:31:2:31:48 | ... := ...[0] | provenance | MaD:4 |
|
||||
| golang-jwt-v5.go:28:16:28:20 | selection of URL | golang-jwt-v5.go:28:16:28:28 | call to Query | provenance | Src:MaD:3 MaD:5 |
|
||||
| golang-jwt-v5.go:28:16:28:28 | call to Query | golang-jwt-v5.go:28:16:28:47 | call to Get | provenance | MaD:6 |
|
||||
| golang-jwt-v5.go:28:16:28:47 | call to Get | golang-jwt-v5.go:29:25:29:35 | signedToken | provenance | |
|
||||
| golang-jwt-v5.go:29:25:29:35 | signedToken | golang-jwt-v5.go:32:29:32:39 | definition of signedToken | provenance | |
|
||||
| golang-jwt-v5.go:32:29:32:39 | definition of signedToken | golang-jwt-v5.go:34:58:34:68 | signedToken | provenance | Sink:MaD:3 |
|
||||
| golang-jwt-v5.go:32:29:32:39 | definition of signedToken | golang-jwt-v5.go:34:58:34:68 | signedToken | provenance | Sink:MaD:1 |
|
||||
models
|
||||
| 1 | Sink: group:go-jose/jwt; JSONWebToken; true; UnsafeClaimsWithoutVerification; ; ; Argument[receiver]; jwt; manual |
|
||||
| 2 | Summary: group:go-jose/jwt; ; true; ParseSigned; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 3 | Sink: github.com/golang-jwt/jwt; Parser; true; ParseUnverified; ; ; Argument[0]; jwt; manual |
|
||||
| 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 1 | Sink: github.com/golang-jwt/jwt; Parser; true; ParseUnverified; ; ; Argument[0]; jwt; manual |
|
||||
| 2 | Sink: group:go-jose/jwt; JSONWebToken; true; UnsafeClaimsWithoutVerification; ; ; Argument[receiver]; jwt; manual |
|
||||
| 3 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
| 4 | Summary: group:go-jose/jwt; ; true; ParseSigned; ; ; Argument[0]; ReturnValue[0]; taint; manual |
|
||||
| 5 | Summary: net/url; URL; true; Query; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
|
||||
@@ -11,21 +11,21 @@
|
||||
| stdlib.go:192:23:192:33 | selection of Path | stdlib.go:190:36:190:56 | call to FormValue | stdlib.go:192:23:192:33 | selection of Path | This path to an untrusted URL redirection depends on a $@. | stdlib.go:190:36:190:56 | call to FormValue | user-provided value |
|
||||
| stdlib.go:194:23:194:42 | call to EscapedPath | stdlib.go:190:36:190:56 | call to FormValue | stdlib.go:194:23:194:42 | call to EscapedPath | This path to an untrusted URL redirection depends on a $@. | stdlib.go:190:36:190:56 | call to FormValue | user-provided value |
|
||||
edges
|
||||
| OpenUrlRedirect.go:10:23:10:28 | selection of Form | OpenUrlRedirect.go:10:23:10:42 | call to Get | provenance | Src:MaD:3 Config Sink:MaD:1 |
|
||||
| stdlib.go:13:13:13:18 | selection of Form | stdlib.go:13:13:13:32 | call to Get | provenance | Src:MaD:3 Config |
|
||||
| OpenUrlRedirect.go:10:23:10:28 | selection of Form | OpenUrlRedirect.go:10:23:10:42 | call to Get | provenance | Src:MaD:2 Config Sink:MaD:1 |
|
||||
| stdlib.go:13:13:13:18 | selection of Form | stdlib.go:13:13:13:32 | call to Get | provenance | Src:MaD:2 Config |
|
||||
| stdlib.go:13:13:13:32 | call to Get | stdlib.go:15:30:15:35 | target | provenance | |
|
||||
| stdlib.go:22:13:22:18 | selection of Form | stdlib.go:22:13:22:32 | call to Get | provenance | Src:MaD:3 Config |
|
||||
| stdlib.go:22:13:22:18 | selection of Form | stdlib.go:22:13:22:32 | call to Get | provenance | Src:MaD:2 Config |
|
||||
| stdlib.go:22:13:22:32 | call to Get | stdlib.go:24:30:24:35 | target | provenance | |
|
||||
| stdlib.go:31:13:31:18 | selection of Form | stdlib.go:31:13:31:32 | call to Get | provenance | Src:MaD:3 Config |
|
||||
| stdlib.go:31:13:31:18 | selection of Form | stdlib.go:31:13:31:32 | call to Get | provenance | Src:MaD:2 Config |
|
||||
| stdlib.go:31:13:31:32 | call to Get | stdlib.go:35:34:35:39 | target | provenance | |
|
||||
| stdlib.go:35:34:35:39 | target | stdlib.go:35:30:35:39 | ...+... | provenance | Config |
|
||||
| stdlib.go:44:13:44:18 | selection of Form | stdlib.go:44:13:44:32 | call to Get | provenance | Src:MaD:3 Config |
|
||||
| stdlib.go:44:13:44:18 | selection of Form | stdlib.go:44:13:44:32 | call to Get | provenance | Src:MaD:2 Config |
|
||||
| stdlib.go:44:13:44:32 | call to Get | stdlib.go:46:23:46:28 | target | provenance | Sink:MaD:1 |
|
||||
| stdlib.go:64:13:64:18 | selection of Form | stdlib.go:64:13:64:32 | call to Get | provenance | Src:MaD:3 Config |
|
||||
| stdlib.go:64:13:64:18 | selection of Form | stdlib.go:64:13:64:32 | call to Get | provenance | Src:MaD:2 Config |
|
||||
| stdlib.go:64:13:64:32 | call to Get | stdlib.go:67:23:67:28 | target | provenance | |
|
||||
| stdlib.go:67:23:67:28 | target | stdlib.go:67:23:67:37 | ...+... | provenance | Config |
|
||||
| stdlib.go:67:23:67:37 | ...+... | stdlib.go:67:23:67:40 | ...+... | provenance | Config Sink:MaD:1 |
|
||||
| stdlib.go:89:13:89:18 | selection of Form | stdlib.go:89:13:89:32 | call to Get | provenance | Src:MaD:3 Config |
|
||||
| stdlib.go:89:13:89:18 | selection of Form | stdlib.go:89:13:89:32 | call to Get | provenance | Src:MaD:2 Config |
|
||||
| stdlib.go:89:13:89:32 | call to Get | stdlib.go:90:3:90:8 | target | provenance | |
|
||||
| stdlib.go:90:3:90:8 | target | stdlib.go:90:3:90:25 | ... += ... | provenance | Config |
|
||||
| stdlib.go:90:3:90:25 | ... += ... | stdlib.go:92:23:92:28 | target | provenance | Sink:MaD:1 |
|
||||
@@ -47,7 +47,7 @@ edges
|
||||
| stdlib.go:113:24:113:24 | implicit dereference [URL] | stdlib.go:113:24:113:28 | selection of URL | provenance | |
|
||||
| stdlib.go:113:24:113:24 | r [pointer, URL] | stdlib.go:113:24:113:24 | implicit dereference [URL] | provenance | |
|
||||
| stdlib.go:113:24:113:28 | selection of URL | stdlib.go:113:24:113:37 | call to String | provenance | Src:MaD:4 Config Sink:MaD:1 |
|
||||
| stdlib.go:146:13:146:18 | selection of Form | stdlib.go:146:13:146:32 | call to Get | provenance | Src:MaD:3 Config |
|
||||
| stdlib.go:146:13:146:18 | selection of Form | stdlib.go:146:13:146:32 | call to Get | provenance | Src:MaD:2 Config |
|
||||
| stdlib.go:146:13:146:32 | call to Get | stdlib.go:152:23:152:28 | target | provenance | Sink:MaD:1 |
|
||||
| stdlib.go:159:10:159:15 | star expression | stdlib.go:159:11:159:15 | selection of URL | provenance | Config |
|
||||
| stdlib.go:159:10:159:15 | star expression | stdlib.go:162:24:162:26 | url | provenance | |
|
||||
@@ -55,11 +55,11 @@ edges
|
||||
| stdlib.go:162:24:162:26 | url | stdlib.go:162:24:162:35 | call to String | provenance | Config Sink:MaD:1 |
|
||||
| stdlib.go:173:35:173:39 | selection of URL | stdlib.go:173:35:173:52 | call to RequestURI | provenance | Src:MaD:4 Config |
|
||||
| stdlib.go:173:35:173:52 | call to RequestURI | stdlib.go:173:24:173:52 | ...+... | provenance | Config Sink:MaD:1 |
|
||||
| stdlib.go:182:13:182:33 | call to FormValue | stdlib.go:184:23:184:28 | target | provenance | Src:MaD:2 Sink:MaD:1 |
|
||||
| stdlib.go:182:13:182:33 | call to FormValue | stdlib.go:184:23:184:28 | target | provenance | Src:MaD:3 Sink:MaD:1 |
|
||||
| stdlib.go:190:3:190:8 | definition of target | stdlib.go:192:23:192:28 | target | provenance | |
|
||||
| stdlib.go:190:3:190:8 | definition of target | stdlib.go:194:23:194:28 | target | provenance | |
|
||||
| stdlib.go:190:3:190:57 | ... := ...[0] | stdlib.go:190:3:190:8 | definition of target | provenance | |
|
||||
| stdlib.go:190:36:190:56 | call to FormValue | stdlib.go:190:3:190:57 | ... := ...[0] | provenance | Src:MaD:2 Config |
|
||||
| stdlib.go:190:36:190:56 | call to FormValue | stdlib.go:190:3:190:57 | ... := ...[0] | provenance | Src:MaD:3 Config |
|
||||
| stdlib.go:192:23:192:28 | implicit dereference | stdlib.go:190:3:190:8 | definition of target | provenance | Config |
|
||||
| stdlib.go:192:23:192:28 | implicit dereference | stdlib.go:192:23:192:33 | selection of Path | provenance | Config Sink:MaD:1 |
|
||||
| stdlib.go:192:23:192:28 | target | stdlib.go:192:23:192:28 | implicit dereference | provenance | Config |
|
||||
@@ -67,8 +67,8 @@ edges
|
||||
| stdlib.go:194:23:194:28 | target | stdlib.go:194:23:194:42 | call to EscapedPath | provenance | Config Sink:MaD:1 |
|
||||
models
|
||||
| 1 | Sink: net/http; ; true; Redirect; ; ; Argument[2]; url-redirection[0]; manual |
|
||||
| 2 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 3 | Source: net/http; Request; true; Form; ; ; ; remote; manual |
|
||||
| 2 | Source: net/http; Request; true; Form; ; ; ; remote; manual |
|
||||
| 3 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 4 | Source: net/http; Request; true; URL; ; ; ; remote; manual |
|
||||
nodes
|
||||
| OpenUrlRedirect.go:10:23:10:28 | selection of Form | semmle.label | selection of Form |
|
||||
|
||||
@@ -11,31 +11,31 @@
|
||||
| main.go:89:37:89:50 | untrustedInput | main.go:82:21:82:31 | call to Referer | main.go:89:37:89:50 | untrustedInput | Email content may contain $@. | main.go:82:21:82:31 | call to Referer | untrusted input |
|
||||
| main.go:93:16:93:23 | content2 | main.go:82:21:82:31 | call to Referer | main.go:93:16:93:23 | content2 | Email content may contain $@. | main.go:82:21:82:31 | call to Referer | untrusted input |
|
||||
edges
|
||||
| EmailBad.go:9:10:9:17 | selection of Header | EmailBad.go:9:10:9:29 | call to Get | provenance | Src:MaD:5 MaD:3 |
|
||||
| EmailBad.go:9:10:9:17 | selection of Header | EmailBad.go:9:10:9:29 | call to Get | provenance | Src:MaD:1 MaD:5 |
|
||||
| EmailBad.go:9:10:9:29 | call to Get | EmailBad.go:12:56:12:67 | type conversion | provenance | |
|
||||
| main.go:29:21:29:31 | call to Referer | main.go:31:57:31:78 | type conversion | provenance | Src:MaD:4 |
|
||||
| main.go:37:21:37:31 | call to Referer | main.go:41:25:41:38 | untrustedInput | provenance | Src:MaD:4 |
|
||||
| main.go:41:25:41:38 | untrustedInput | main.go:40:3:40:7 | definition of write | provenance | MaD:2 |
|
||||
| main.go:46:21:46:31 | call to Referer | main.go:52:46:52:59 | untrustedInput | provenance | Src:MaD:4 |
|
||||
| main.go:46:21:46:31 | call to Referer | main.go:53:52:53:65 | untrustedInput | provenance | Src:MaD:4 |
|
||||
| main.go:58:21:58:31 | call to Referer | main.go:60:47:60:60 | untrustedInput | provenance | Src:MaD:4 |
|
||||
| main.go:29:21:29:31 | call to Referer | main.go:31:57:31:78 | type conversion | provenance | Src:MaD:2 |
|
||||
| main.go:37:21:37:31 | call to Referer | main.go:41:25:41:38 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| main.go:41:25:41:38 | untrustedInput | main.go:40:3:40:7 | definition of write | provenance | MaD:4 |
|
||||
| main.go:46:21:46:31 | call to Referer | main.go:52:46:52:59 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| main.go:46:21:46:31 | call to Referer | main.go:53:52:53:65 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| main.go:58:21:58:31 | call to Referer | main.go:60:47:60:60 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| main.go:60:14:60:61 | call to NewContent | main.go:63:16:63:22 | content | provenance | |
|
||||
| main.go:60:47:60:60 | untrustedInput | main.go:60:14:60:61 | call to NewContent | provenance | MaD:1 |
|
||||
| main.go:68:21:68:31 | call to Referer | main.go:74:47:74:60 | untrustedInput | provenance | Src:MaD:4 |
|
||||
| main.go:60:47:60:60 | untrustedInput | main.go:60:14:60:61 | call to NewContent | provenance | MaD:3 |
|
||||
| main.go:68:21:68:31 | call to Referer | main.go:74:47:74:60 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| main.go:74:14:74:61 | call to NewContent | main.go:76:50:76:56 | content | provenance | |
|
||||
| main.go:74:14:74:61 | call to NewContent | main.go:76:59:76:65 | content | provenance | |
|
||||
| main.go:74:14:74:61 | call to NewContent | main.go:77:16:77:22 | content | provenance | |
|
||||
| main.go:74:47:74:60 | untrustedInput | main.go:74:14:74:61 | call to NewContent | provenance | MaD:1 |
|
||||
| main.go:82:21:82:31 | call to Referer | main.go:89:37:89:50 | untrustedInput | provenance | Src:MaD:4 |
|
||||
| main.go:82:21:82:31 | call to Referer | main.go:91:48:91:61 | untrustedInput | provenance | Src:MaD:4 |
|
||||
| main.go:74:47:74:60 | untrustedInput | main.go:74:14:74:61 | call to NewContent | provenance | MaD:3 |
|
||||
| main.go:82:21:82:31 | call to Referer | main.go:89:37:89:50 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| main.go:82:21:82:31 | call to Referer | main.go:91:48:91:61 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| main.go:91:15:91:62 | call to NewContent | main.go:93:16:93:23 | content2 | provenance | |
|
||||
| main.go:91:48:91:61 | untrustedInput | main.go:91:15:91:62 | call to NewContent | provenance | MaD:1 |
|
||||
| main.go:91:48:91:61 | untrustedInput | main.go:91:15:91:62 | call to NewContent | provenance | MaD:3 |
|
||||
models
|
||||
| 1 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; false; NewContent; ; ; Argument[1]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: io; ; false; WriteString; ; ; Argument[1]; Argument[0]; taint; manual |
|
||||
| 3 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 4 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual |
|
||||
| 5 | Source: net/http; Request; true; Header; ; ; ; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; Header; ; ; ; remote; manual |
|
||||
| 2 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual |
|
||||
| 3 | Summary: github.com/sendgrid/sendgrid-go/helpers/mail; ; false; NewContent; ; ; Argument[1]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: io; ; false; WriteString; ; ; Argument[1]; Argument[0]; taint; manual |
|
||||
| 5 | Summary: net/http; Header; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| EmailBad.go:9:10:9:17 | selection of Header | semmle.label | selection of Header |
|
||||
| EmailBad.go:9:10:9:29 | call to Get | semmle.label | call to Get |
|
||||
|
||||
@@ -44,98 +44,98 @@
|
||||
| tst.go:146:23:146:85 | ...+... | tst.go:139:14:139:19 | selection of Form | tst.go:146:23:146:85 | ...+... | XPath expression depends on a $@. | tst.go:139:14:139:19 | selection of Form | user-provided value |
|
||||
edges
|
||||
| XPathInjection.go:13:14:13:19 | selection of Form | XPathInjection.go:13:14:13:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| XPathInjection.go:13:14:13:35 | call to Get | XPathInjection.go:16:29:16:91 | ...+... | provenance | Sink:MaD:21 |
|
||||
| XPathInjection.go:13:14:13:35 | call to Get | XPathInjection.go:16:29:16:91 | ...+... | provenance | Sink:MaD:1 |
|
||||
| tst.go:35:14:35:19 | selection of Form | tst.go:35:14:35:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:35:14:35:35 | call to Get | tst.go:38:23:38:85 | ...+... | provenance | Sink:MaD:17 |
|
||||
| tst.go:35:14:35:35 | call to Get | tst.go:39:29:39:87 | ...+... | provenance | Sink:MaD:18 |
|
||||
| tst.go:35:14:35:35 | call to Get | tst.go:40:24:40:86 | ...+... | provenance | Sink:MaD:19 |
|
||||
| tst.go:35:14:35:35 | call to Get | tst.go:41:24:41:82 | ...+... | provenance | Sink:MaD:20 |
|
||||
| tst.go:35:14:35:35 | call to Get | tst.go:38:23:38:85 | ...+... | provenance | Sink:MaD:20 |
|
||||
| tst.go:35:14:35:35 | call to Get | tst.go:39:29:39:87 | ...+... | provenance | Sink:MaD:21 |
|
||||
| tst.go:35:14:35:35 | call to Get | tst.go:40:24:40:86 | ...+... | provenance | Sink:MaD:22 |
|
||||
| tst.go:35:14:35:35 | call to Get | tst.go:41:24:41:82 | ...+... | provenance | Sink:MaD:23 |
|
||||
| tst.go:46:14:46:19 | selection of Form | tst.go:46:14:46:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:46:14:46:35 | call to Get | tst.go:49:26:49:84 | ...+... | provenance | Sink:MaD:1 |
|
||||
| tst.go:46:14:46:35 | call to Get | tst.go:50:29:50:87 | ...+... | provenance | Sink:MaD:2 |
|
||||
| tst.go:46:14:46:35 | call to Get | tst.go:51:30:51:88 | ...+... | provenance | Sink:MaD:3 |
|
||||
| tst.go:46:14:46:35 | call to Get | tst.go:52:33:52:91 | ...+... | provenance | Sink:MaD:4 |
|
||||
| tst.go:46:14:46:35 | call to Get | tst.go:49:26:49:84 | ...+... | provenance | Sink:MaD:4 |
|
||||
| tst.go:46:14:46:35 | call to Get | tst.go:50:29:50:87 | ...+... | provenance | Sink:MaD:5 |
|
||||
| tst.go:46:14:46:35 | call to Get | tst.go:51:30:51:88 | ...+... | provenance | Sink:MaD:6 |
|
||||
| tst.go:46:14:46:35 | call to Get | tst.go:52:33:52:91 | ...+... | provenance | Sink:MaD:7 |
|
||||
| tst.go:57:14:57:19 | selection of Form | tst.go:57:14:57:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:60:25:60:83 | ...+... | provenance | Sink:MaD:9 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:61:28:61:86 | ...+... | provenance | Sink:MaD:10 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:62:25:62:83 | ...+... | provenance | Sink:MaD:11 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:63:34:63:92 | ...+... | provenance | Sink:MaD:12 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:64:29:64:87 | ...+... | provenance | Sink:MaD:13 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:65:32:65:90 | ...+... | provenance | Sink:MaD:14 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:66:23:66:85 | ...+... | provenance | Sink:MaD:16 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:67:22:67:84 | ...+... | provenance | Sink:MaD:15 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:60:25:60:83 | ...+... | provenance | Sink:MaD:12 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:61:28:61:86 | ...+... | provenance | Sink:MaD:15 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:62:25:62:83 | ...+... | provenance | Sink:MaD:13 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:63:34:63:92 | ...+... | provenance | Sink:MaD:14 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:64:29:64:87 | ...+... | provenance | Sink:MaD:16 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:65:32:65:90 | ...+... | provenance | Sink:MaD:17 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:66:23:66:85 | ...+... | provenance | Sink:MaD:19 |
|
||||
| tst.go:57:14:57:35 | call to Get | tst.go:67:22:67:84 | ...+... | provenance | Sink:MaD:18 |
|
||||
| tst.go:72:14:72:19 | selection of Form | tst.go:72:14:72:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:72:14:72:35 | call to Get | tst.go:75:26:75:84 | ...+... | provenance | Sink:MaD:5 |
|
||||
| tst.go:72:14:72:35 | call to Get | tst.go:76:29:76:87 | ...+... | provenance | Sink:MaD:6 |
|
||||
| tst.go:72:14:72:35 | call to Get | tst.go:77:30:77:88 | ...+... | provenance | Sink:MaD:7 |
|
||||
| tst.go:72:14:72:35 | call to Get | tst.go:78:33:78:91 | ...+... | provenance | Sink:MaD:8 |
|
||||
| tst.go:72:14:72:35 | call to Get | tst.go:75:26:75:84 | ...+... | provenance | Sink:MaD:8 |
|
||||
| tst.go:72:14:72:35 | call to Get | tst.go:76:29:76:87 | ...+... | provenance | Sink:MaD:9 |
|
||||
| tst.go:72:14:72:35 | call to Get | tst.go:77:30:77:88 | ...+... | provenance | Sink:MaD:10 |
|
||||
| tst.go:72:14:72:35 | call to Get | tst.go:78:33:78:91 | ...+... | provenance | Sink:MaD:11 |
|
||||
| tst.go:83:14:83:19 | selection of Form | tst.go:83:14:83:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:83:14:83:35 | call to Get | tst.go:86:25:86:87 | ...+... | provenance | Sink:MaD:24 |
|
||||
| tst.go:83:14:83:35 | call to Get | tst.go:87:26:87:88 | ...+... | provenance | Sink:MaD:25 |
|
||||
| tst.go:83:14:83:35 | call to Get | tst.go:86:25:86:87 | ...+... | provenance | Sink:MaD:34 |
|
||||
| tst.go:83:14:83:35 | call to Get | tst.go:87:26:87:88 | ...+... | provenance | Sink:MaD:35 |
|
||||
| tst.go:92:14:92:19 | selection of Form | tst.go:92:14:92:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:92:14:92:35 | call to Get | tst.go:96:23:96:126 | ...+... | provenance | Sink:MaD:22 |
|
||||
| tst.go:92:14:92:35 | call to Get | tst.go:97:24:97:127 | ...+... | provenance | Sink:MaD:21 |
|
||||
| tst.go:92:14:92:35 | call to Get | tst.go:98:27:98:122 | ...+... | provenance | Sink:MaD:23 |
|
||||
| tst.go:92:14:92:35 | call to Get | tst.go:96:23:96:126 | ...+... | provenance | Sink:MaD:2 |
|
||||
| tst.go:92:14:92:35 | call to Get | tst.go:97:24:97:127 | ...+... | provenance | Sink:MaD:1 |
|
||||
| tst.go:92:14:92:35 | call to Get | tst.go:98:27:98:122 | ...+... | provenance | Sink:MaD:3 |
|
||||
| tst.go:93:14:93:19 | selection of Form | tst.go:93:14:93:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:93:14:93:35 | call to Get | tst.go:96:23:96:126 | ...+... | provenance | Sink:MaD:22 |
|
||||
| tst.go:93:14:93:35 | call to Get | tst.go:97:24:97:127 | ...+... | provenance | Sink:MaD:21 |
|
||||
| tst.go:93:14:93:35 | call to Get | tst.go:98:27:98:122 | ...+... | provenance | Sink:MaD:23 |
|
||||
| tst.go:93:14:93:35 | call to Get | tst.go:96:23:96:126 | ...+... | provenance | Sink:MaD:2 |
|
||||
| tst.go:93:14:93:35 | call to Get | tst.go:97:24:97:127 | ...+... | provenance | Sink:MaD:1 |
|
||||
| tst.go:93:14:93:35 | call to Get | tst.go:98:27:98:122 | ...+... | provenance | Sink:MaD:3 |
|
||||
| tst.go:106:14:106:19 | selection of Form | tst.go:106:14:106:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:106:14:106:35 | call to Get | tst.go:109:27:109:89 | ...+... | provenance | Sink:MaD:34 |
|
||||
| tst.go:106:14:106:35 | call to Get | tst.go:110:28:110:90 | ...+... | provenance | Sink:MaD:35 |
|
||||
| tst.go:106:14:106:35 | call to Get | tst.go:109:27:109:89 | ...+... | provenance | Sink:MaD:28 |
|
||||
| tst.go:106:14:106:35 | call to Get | tst.go:110:28:110:90 | ...+... | provenance | Sink:MaD:27 |
|
||||
| tst.go:115:14:115:19 | selection of Form | tst.go:115:14:115:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:115:14:115:35 | call to Get | tst.go:119:33:119:136 | ...+... | provenance | Sink:MaD:33 |
|
||||
| tst.go:115:14:115:35 | call to Get | tst.go:120:18:120:121 | ...+... | provenance | Sink:MaD:29 |
|
||||
| tst.go:115:14:115:35 | call to Get | tst.go:121:31:121:126 | ...+... | provenance | Sink:MaD:30 |
|
||||
| tst.go:115:14:115:35 | call to Get | tst.go:122:21:122:116 | ...+... | provenance | Sink:MaD:31 |
|
||||
| tst.go:115:14:115:35 | call to Get | tst.go:123:27:123:122 | ...+... | provenance | Sink:MaD:32 |
|
||||
| tst.go:115:14:115:35 | call to Get | tst.go:120:18:120:121 | ...+... | provenance | Sink:MaD:31 |
|
||||
| tst.go:115:14:115:35 | call to Get | tst.go:121:31:121:126 | ...+... | provenance | Sink:MaD:32 |
|
||||
| tst.go:115:14:115:35 | call to Get | tst.go:122:21:122:116 | ...+... | provenance | Sink:MaD:29 |
|
||||
| tst.go:115:14:115:35 | call to Get | tst.go:123:27:123:122 | ...+... | provenance | Sink:MaD:30 |
|
||||
| tst.go:116:14:116:19 | selection of Form | tst.go:116:14:116:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:116:14:116:35 | call to Get | tst.go:119:33:119:136 | ...+... | provenance | Sink:MaD:33 |
|
||||
| tst.go:116:14:116:35 | call to Get | tst.go:120:18:120:121 | ...+... | provenance | Sink:MaD:29 |
|
||||
| tst.go:116:14:116:35 | call to Get | tst.go:121:31:121:126 | ...+... | provenance | Sink:MaD:30 |
|
||||
| tst.go:116:14:116:35 | call to Get | tst.go:122:21:122:116 | ...+... | provenance | Sink:MaD:31 |
|
||||
| tst.go:116:14:116:35 | call to Get | tst.go:123:27:123:122 | ...+... | provenance | Sink:MaD:32 |
|
||||
| tst.go:116:14:116:35 | call to Get | tst.go:120:18:120:121 | ...+... | provenance | Sink:MaD:31 |
|
||||
| tst.go:116:14:116:35 | call to Get | tst.go:121:31:121:126 | ...+... | provenance | Sink:MaD:32 |
|
||||
| tst.go:116:14:116:35 | call to Get | tst.go:122:21:122:116 | ...+... | provenance | Sink:MaD:29 |
|
||||
| tst.go:116:14:116:35 | call to Get | tst.go:123:27:123:122 | ...+... | provenance | Sink:MaD:30 |
|
||||
| tst.go:139:14:139:19 | selection of Form | tst.go:139:14:139:35 | call to Get | provenance | Src:MaD:36 MaD:37 |
|
||||
| tst.go:139:14:139:35 | call to Get | tst.go:144:17:144:87 | type conversion | provenance | Sink:MaD:26 |
|
||||
| tst.go:139:14:139:35 | call to Get | tst.go:144:17:144:87 | type conversion | provenance | Sink:MaD:24 |
|
||||
| tst.go:139:14:139:35 | call to Get | tst.go:145:41:145:103 | ...+... | provenance | |
|
||||
| tst.go:139:14:139:35 | call to Get | tst.go:146:23:146:85 | ...+... | provenance | Sink:MaD:28 |
|
||||
| tst.go:145:41:145:103 | ...+... | tst.go:145:23:145:104 | call to NewReader | provenance | MaD:38 Sink:MaD:27 |
|
||||
| tst.go:139:14:139:35 | call to Get | tst.go:146:23:146:85 | ...+... | provenance | Sink:MaD:26 |
|
||||
| tst.go:145:41:145:103 | ...+... | tst.go:145:23:145:104 | call to NewReader | provenance | MaD:38 Sink:MaD:25 |
|
||||
models
|
||||
| 1 | Sink: github.com/antchfx/htmlquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 2 | Sink: github.com/antchfx/htmlquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 3 | Sink: github.com/antchfx/htmlquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 4 | Sink: github.com/antchfx/htmlquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 5 | Sink: github.com/antchfx/jsonquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 6 | Sink: github.com/antchfx/jsonquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 7 | Sink: github.com/antchfx/jsonquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 8 | Sink: github.com/antchfx/jsonquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 9 | Sink: github.com/antchfx/xmlquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 10 | Sink: github.com/antchfx/xmlquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 11 | Sink: github.com/antchfx/xmlquery; ; true; FindEach; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 12 | Sink: github.com/antchfx/xmlquery; ; true; FindEachWithBreak; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 13 | Sink: github.com/antchfx/xmlquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 14 | Sink: github.com/antchfx/xmlquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 15 | Sink: github.com/antchfx/xmlquery; Node; true; SelectElement; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 16 | Sink: github.com/antchfx/xmlquery; Node; true; SelectElements; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 17 | Sink: github.com/antchfx/xpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 18 | Sink: github.com/antchfx/xpath; ; true; CompileWithNS; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 19 | Sink: github.com/antchfx/xpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 20 | Sink: github.com/antchfx/xpath; ; true; Select; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 21 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; MustParse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 22 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; Parse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 23 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; ParseExec; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 24 | Sink: group:xmlpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 25 | Sink: group:xmlpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 26 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; Parse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 27 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; ParseReader; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 28 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; ParseString; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 29 | Sink: group:gokogiri/xml; Node; true; Search; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 30 | Sink: group:gokogiri/xml; Node; true; SearchWithVariables; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 31 | Sink: group:gokogiri/xml; Node; true; EvalXPath; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 32 | Sink: group:gokogiri/xml; Node; true; EvalXPathAsBoolean; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 1 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; MustParse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 2 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; Parse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 3 | Sink: github.com/ChrisTrenkamp/goxpath; ; true; ParseExec; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 4 | Sink: github.com/antchfx/htmlquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 5 | Sink: github.com/antchfx/htmlquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 6 | Sink: github.com/antchfx/htmlquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 7 | Sink: github.com/antchfx/htmlquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 8 | Sink: github.com/antchfx/jsonquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 9 | Sink: github.com/antchfx/jsonquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 10 | Sink: github.com/antchfx/jsonquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 11 | Sink: github.com/antchfx/jsonquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 12 | Sink: github.com/antchfx/xmlquery; ; true; Find; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 13 | Sink: github.com/antchfx/xmlquery; ; true; FindEach; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 14 | Sink: github.com/antchfx/xmlquery; ; true; FindEachWithBreak; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 15 | Sink: github.com/antchfx/xmlquery; ; true; FindOne; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 16 | Sink: github.com/antchfx/xmlquery; ; true; Query; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 17 | Sink: github.com/antchfx/xmlquery; ; true; QueryAll; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 18 | Sink: github.com/antchfx/xmlquery; Node; true; SelectElement; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 19 | Sink: github.com/antchfx/xmlquery; Node; true; SelectElements; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 20 | Sink: github.com/antchfx/xpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 21 | Sink: github.com/antchfx/xpath; ; true; CompileWithNS; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 22 | Sink: github.com/antchfx/xpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 23 | Sink: github.com/antchfx/xpath; ; true; Select; ; ; Argument[1]; xpath-injection; manual |
|
||||
| 24 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; Parse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 25 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; ParseReader; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 26 | Sink: github.com/lestrrat-go/libxml2/parser; Parser; true; ParseString; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 27 | Sink: github.com/santhosh-tekuri/xpathparser; ; true; MustParse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 28 | Sink: github.com/santhosh-tekuri/xpathparser; ; true; Parse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 29 | Sink: group:gokogiri/xml; Node; true; EvalXPath; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 30 | Sink: group:gokogiri/xml; Node; true; EvalXPathAsBoolean; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 31 | Sink: group:gokogiri/xml; Node; true; Search; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 32 | Sink: group:gokogiri/xml; Node; true; SearchWithVariables; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 33 | Sink: group:gokogiri/xpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 34 | Sink: github.com/santhosh-tekuri/xpathparser; ; true; Parse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 35 | Sink: github.com/santhosh-tekuri/xpathparser; ; true; MustParse; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 34 | Sink: group:xmlpath; ; true; Compile; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 35 | Sink: group:xmlpath; ; true; MustCompile; ; ; Argument[0]; xpath-injection; manual |
|
||||
| 36 | Source: net/http; Request; true; Form; ; ; ; remote; manual |
|
||||
| 37 | Summary: net/url; Values; true; Get; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 38 | Summary: strings; ; false; NewReader; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
|
||||
@@ -17,14 +17,14 @@
|
||||
| websocket.go:197:3:197:32 | call to BuildProxy | websocket.go:195:21:195:31 | call to Referer | websocket.go:197:18:197:31 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:197:18:197:31 | untrustedInput | WebSocket URL | websocket.go:195:21:195:31 | call to Referer | user-provided value |
|
||||
| websocket.go:204:3:204:25 | call to New | websocket.go:202:21:202:31 | call to Referer | websocket.go:204:11:204:24 | untrustedInput | The $@ of this request depends on a $@. | websocket.go:204:11:204:24 | untrustedInput | WebSocket URL | websocket.go:202:21:202:31 | call to Referer | user-provided value |
|
||||
edges
|
||||
| RequestForgery.go:8:12:8:34 | call to FormValue | RequestForgery.go:11:24:11:65 | ...+... | provenance | Src:MaD:2 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:14:11:14:17 | tainted | provenance | Src:MaD:2 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:18:12:18:18 | tainted | provenance | Src:MaD:2 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:21:34:21:40 | tainted | provenance | Src:MaD:2 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:24:66:24:72 | tainted | provenance | Src:MaD:2 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:27:11:27:29 | ...+... | provenance | Src:MaD:2 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:29:11:29:40 | ...+... | provenance | Src:MaD:2 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:36:11:36:17 | tainted | provenance | Src:MaD:2 |
|
||||
| RequestForgery.go:8:12:8:34 | call to FormValue | RequestForgery.go:11:24:11:65 | ...+... | provenance | Src:MaD:1 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:14:11:14:17 | tainted | provenance | Src:MaD:1 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:18:12:18:18 | tainted | provenance | Src:MaD:1 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:21:34:21:40 | tainted | provenance | Src:MaD:1 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:24:66:24:72 | tainted | provenance | Src:MaD:1 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:27:11:27:29 | ...+... | provenance | Src:MaD:1 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:29:11:29:40 | ...+... | provenance | Src:MaD:1 |
|
||||
| tst.go:10:13:10:35 | call to FormValue | tst.go:36:11:36:17 | tainted | provenance | Src:MaD:1 |
|
||||
| tst.go:35:2:35:2 | definition of u [pointer] | tst.go:36:2:36:2 | u [pointer] | provenance | |
|
||||
| tst.go:36:2:36:2 | implicit dereference | tst.go:35:2:35:2 | definition of u [pointer] | provenance | |
|
||||
| tst.go:36:2:36:2 | implicit dereference | tst.go:36:2:36:2 | u | provenance | |
|
||||
@@ -34,20 +34,20 @@ edges
|
||||
| tst.go:36:2:36:2 | u [pointer] | tst.go:36:2:36:2 | implicit dereference | provenance | |
|
||||
| tst.go:36:11:36:17 | tainted | tst.go:36:2:36:2 | u | provenance | Config |
|
||||
| tst.go:36:11:36:17 | tainted | tst.go:37:11:37:11 | u | provenance | Config |
|
||||
| tst.go:37:11:37:11 | u | tst.go:37:11:37:20 | call to String | provenance | MaD:1 |
|
||||
| websocket.go:60:21:60:31 | call to Referer | websocket.go:65:27:65:40 | untrustedInput | provenance | Src:MaD:3 |
|
||||
| websocket.go:74:21:74:31 | call to Referer | websocket.go:78:36:78:49 | untrustedInput | provenance | Src:MaD:3 |
|
||||
| websocket.go:88:21:88:31 | call to Referer | websocket.go:91:31:91:44 | untrustedInput | provenance | Src:MaD:3 |
|
||||
| websocket.go:107:21:107:31 | call to Referer | websocket.go:110:15:110:28 | untrustedInput | provenance | Src:MaD:3 |
|
||||
| websocket.go:126:21:126:31 | call to Referer | websocket.go:129:38:129:51 | untrustedInput | provenance | Src:MaD:3 |
|
||||
| websocket.go:154:21:154:31 | call to Referer | websocket.go:155:31:155:44 | untrustedInput | provenance | Src:MaD:3 |
|
||||
| websocket.go:160:21:160:31 | call to Referer | websocket.go:162:31:162:44 | untrustedInput | provenance | Src:MaD:3 |
|
||||
| websocket.go:195:21:195:31 | call to Referer | websocket.go:197:18:197:31 | untrustedInput | provenance | Src:MaD:3 |
|
||||
| websocket.go:202:21:202:31 | call to Referer | websocket.go:204:11:204:24 | untrustedInput | provenance | Src:MaD:3 |
|
||||
| tst.go:37:11:37:11 | u | tst.go:37:11:37:20 | call to String | provenance | MaD:3 |
|
||||
| websocket.go:60:21:60:31 | call to Referer | websocket.go:65:27:65:40 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| websocket.go:74:21:74:31 | call to Referer | websocket.go:78:36:78:49 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| websocket.go:88:21:88:31 | call to Referer | websocket.go:91:31:91:44 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| websocket.go:107:21:107:31 | call to Referer | websocket.go:110:15:110:28 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| websocket.go:126:21:126:31 | call to Referer | websocket.go:129:38:129:51 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| websocket.go:154:21:154:31 | call to Referer | websocket.go:155:31:155:44 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| websocket.go:160:21:160:31 | call to Referer | websocket.go:162:31:162:44 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| websocket.go:195:21:195:31 | call to Referer | websocket.go:197:18:197:31 | untrustedInput | provenance | Src:MaD:2 |
|
||||
| websocket.go:202:21:202:31 | call to Referer | websocket.go:204:11:204:24 | untrustedInput | provenance | Src:MaD:2 |
|
||||
models
|
||||
| 1 | Summary: fmt; Stringer; true; String; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
| 2 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 3 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual |
|
||||
| 1 | Source: net/http; Request; true; FormValue; ; ; ReturnValue; remote; manual |
|
||||
| 2 | Source: net/http; Request; true; Referer; ; ; ReturnValue; remote; manual |
|
||||
| 3 | Summary: fmt; Stringer; true; String; ; ; Argument[receiver]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| RequestForgery.go:8:12:8:34 | call to FormValue | semmle.label | call to FormValue |
|
||||
| RequestForgery.go:11:24:11:65 | ...+... | semmle.label | ...+... |
|
||||
|
||||
@@ -84,10 +84,11 @@ private module Input implements TypeFlowInput<Location> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if data can flow from `n1` to `n2` in one step, and `n1` is not
|
||||
* necessarily functionally determined by `n2`.
|
||||
* Holds if data can flow from `n1` to `n2` in one step.
|
||||
*
|
||||
* For a given `n2`, this predicate must include all possible `n1` that can flow to `n2`.
|
||||
*/
|
||||
predicate joinStep(TypeFlowNode n1, TypeFlowNode n2) {
|
||||
predicate step(TypeFlowNode n1, TypeFlowNode n2) {
|
||||
n2.asExpr().(ChooseExpr).getAResultExpr() = n1.asExpr()
|
||||
or
|
||||
exists(Field f, Expr e |
|
||||
@@ -112,13 +113,7 @@ private module Input implements TypeFlowInput<Location> {
|
||||
// skip trivial recursion
|
||||
not arg = n2.asSsa().getAUse()
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Holds if data can flow from `n1` to `n2` in one step, and `n1` is
|
||||
* functionally determined by `n2`.
|
||||
*/
|
||||
predicate step(TypeFlowNode n1, TypeFlowNode n2) {
|
||||
or
|
||||
n2.asExpr() = n1.asField().getAnAccess()
|
||||
or
|
||||
n2.asExpr() = n1.asSsa().getAUse()
|
||||
@@ -143,7 +138,7 @@ private module Input implements TypeFlowInput<Location> {
|
||||
exists(LocalVariableDeclExpr decl |
|
||||
n.asSsa().(BaseSsaUpdate).getDefiningExpr() = decl and
|
||||
not decl.hasImplicitInit() and
|
||||
not exists(decl.getInit())
|
||||
not exists(decl.getInitOrPatternSource())
|
||||
)
|
||||
}
|
||||
|
||||
@@ -169,7 +164,7 @@ private module Input implements TypeFlowInput<Location> {
|
||||
*/
|
||||
pragma[nomagic]
|
||||
private predicate upcastCand(TypeFlowNode n, RefType t1, RefType t1e, RefType t2, RefType t2e) {
|
||||
exists(TypeFlowNode next | step(n, next) or joinStep(n, next) |
|
||||
exists(TypeFlowNode next | step(n, next) |
|
||||
n.getType() = t1 and
|
||||
next.getType() = t2 and
|
||||
t1.getErasure() = t1e and
|
||||
|
||||
@@ -88,6 +88,8 @@ module ModelGeneratorInput implements ModelGeneratorInputSig<Location, JavaDataF
|
||||
api.getDeclaringType() instanceof J::Interface and not exists(api.getBody())
|
||||
}
|
||||
|
||||
predicate isUninterestingForHeuristicDataFlowModels(Callable api) { none() }
|
||||
|
||||
class SourceOrSinkTargetApi extends Callable {
|
||||
SourceOrSinkTargetApi() { relevant(this) }
|
||||
}
|
||||
@@ -252,6 +254,8 @@ module ModelGeneratorInput implements ModelGeneratorInputSig<Location, JavaDataF
|
||||
c instanceof DataFlowUtil::SyntheticFieldContent
|
||||
}
|
||||
|
||||
predicate isCallback(DataFlow::ContentSet c) { none() }
|
||||
|
||||
string getSyntheticName(DataFlow::ContentSet c) {
|
||||
exists(Field f |
|
||||
not f.isPublic() and
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
models
|
||||
| 1 | Summary: kotlin.collections; ArraysKt; false; copyOf; (byte[]); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 2 | Summary: kotlin.collections; ArraysKt; false; plus; (char[],char[]); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 3 | Summary: kotlin.collections; CollectionsKt; false; toList; (Iterable); ; Argument[0].Element; ReturnValue; taint; df-generated |
|
||||
| 4 | Summary: kotlin.collections; IndexedValue; false; IndexedValue; (int,Object); ; Argument[1]; Argument[this]; taint; df-generated |
|
||||
| 5 | Summary: kotlin.collections; IndexedValue; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 6 | Summary: kotlin.collections; IndexedValue; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 7 | Summary: kotlin.io; FileTreeWalk; false; maxDepth; (int); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 8 | Summary: kotlin.text; MatchGroup; false; MatchGroup; (String,IntRange); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 9 | Summary: kotlin.text; MatchGroup; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 10 | Summary: kotlin.text; MatchGroup; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 11 | Summary: kotlin.text; StringsKt; false; capitalize; (String); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 12 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; Argument[0]; taint; df-generated |
|
||||
| 13 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; ReturnValue; taint; df-generated |
|
||||
| 14 | Summary: kotlin.text; StringsKt; false; replaceFirstCharWithChar; (String,Function1); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 15 | Summary: kotlin.time; TimedValue; false; TimedValue; (Object,Duration); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 16 | Summary: kotlin.time; TimedValue; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 17 | Summary: kotlin.time; TimedValue; false; getDuration; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 18 | Summary: kotlin; Pair; false; Pair; (Object,Object); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 19 | Summary: kotlin; Pair; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 20 | Summary: kotlin; Pair; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 21 | Summary: kotlin; Triple; false; Triple; (Object,Object,Object); ; Argument[1]; Argument[this]; taint; df-generated |
|
||||
| 22 | Summary: kotlin; Triple; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 23 | Summary: kotlin; Triple; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 24 | Summary: kotlin; TuplesKt; false; to; (Object,Object); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 25 | Summary: kotlin; TuplesKt; false; toList; (Pair); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 26 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 27 | Summary: java.util; List; true; set; (int,Object); ; Argument[1]; Argument[this].Element; value; manual |
|
||||
| 28 | Summary: kotlin.collections; ArraysKt; false; withIndex; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
|
||||
| 29 | Summary: kotlin.io; CloseableKt; false; use; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 30 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 31 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; ReturnValue; value; manual |
|
||||
| 32 | Summary: kotlin; StandardKt; false; with; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 1 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 2 | Summary: java.util; List; true; set; (int,Object); ; Argument[1]; Argument[this].Element; value; manual |
|
||||
| 3 | Summary: kotlin.collections; ArraysKt; false; copyOf; (byte[]); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 4 | Summary: kotlin.collections; ArraysKt; false; plus; (char[],char[]); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 5 | Summary: kotlin.collections; ArraysKt; false; withIndex; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
|
||||
| 6 | Summary: kotlin.collections; CollectionsKt; false; toList; (Iterable); ; Argument[0].Element; ReturnValue; taint; df-generated |
|
||||
| 7 | Summary: kotlin.collections; IndexedValue; false; IndexedValue; (int,Object); ; Argument[1]; Argument[this]; taint; df-generated |
|
||||
| 8 | Summary: kotlin.collections; IndexedValue; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 9 | Summary: kotlin.collections; IndexedValue; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 10 | Summary: kotlin.io; CloseableKt; false; use; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 11 | Summary: kotlin.io; FileTreeWalk; false; maxDepth; (int); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 12 | Summary: kotlin.text; MatchGroup; false; MatchGroup; (String,IntRange); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 13 | Summary: kotlin.text; MatchGroup; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 14 | Summary: kotlin.text; MatchGroup; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 15 | Summary: kotlin.text; StringsKt; false; capitalize; (String); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 16 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; Argument[0]; taint; df-generated |
|
||||
| 17 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; ReturnValue; taint; df-generated |
|
||||
| 18 | Summary: kotlin.text; StringsKt; false; replaceFirstCharWithChar; (String,Function1); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 19 | Summary: kotlin.time; TimedValue; false; TimedValue; (Object,Duration); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 20 | Summary: kotlin.time; TimedValue; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 21 | Summary: kotlin.time; TimedValue; false; getDuration; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 22 | Summary: kotlin; Pair; false; Pair; (Object,Object); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 23 | Summary: kotlin; Pair; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 24 | Summary: kotlin; Pair; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 25 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 26 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; ReturnValue; value; manual |
|
||||
| 27 | Summary: kotlin; StandardKt; false; with; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 28 | Summary: kotlin; Triple; false; Triple; (Object,Object,Object); ; Argument[1]; Argument[this]; taint; df-generated |
|
||||
| 29 | Summary: kotlin; Triple; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 30 | Summary: kotlin; Triple; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 31 | Summary: kotlin; TuplesKt; false; to; (Object,Object); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 32 | Summary: kotlin; TuplesKt; false; toList; (Pair); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
edges
|
||||
| apply.kt:6:9:6:20 | taint(...) : String | apply.kt:6:28:6:41 | $this$apply : String | provenance | MaD:30 |
|
||||
| apply.kt:6:9:6:20 | taint(...) : String | apply.kt:6:28:6:41 | $this$apply : String | provenance | MaD:25 |
|
||||
| apply.kt:6:28:6:41 | $this$apply : String | apply.kt:6:35:6:38 | this | provenance | |
|
||||
| apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:31 |
|
||||
| apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:26 |
|
||||
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:7:14:7:14 | l | provenance | |
|
||||
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:8:14:8:14 | l : List [<element>] : String | provenance | |
|
||||
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:9:19:9:19 | l : List [<element>] : String | provenance | |
|
||||
| list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [<element>] : String | provenance | MaD:27 |
|
||||
| list.kt:8:14:8:14 | l : List [<element>] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 |
|
||||
| list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [<element>] : String | provenance | MaD:2 |
|
||||
| list.kt:8:14:8:14 | l : List [<element>] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:1 |
|
||||
| list.kt:9:19:9:19 | l : List [<element>] : String | list.kt:10:18:10:18 | s | provenance | |
|
||||
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:14:14:14:14 | a | provenance | |
|
||||
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:14 | a : String[] [[]] : String | provenance | |
|
||||
@@ -47,78 +47,78 @@ edges
|
||||
| list.kt:13:25:13:34 | taint(...) : String | list.kt:13:17:13:40 | {...} : String[] [[]] : String | provenance | |
|
||||
| list.kt:15:14:15:14 | a : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | |
|
||||
| list.kt:16:19:16:19 | a : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | |
|
||||
| test.kt:16:14:16:21 | taint(...) : byte[] | test.kt:16:14:16:30 | copyOf(...) | provenance | MaD:1 |
|
||||
| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | test.kt:17:14:17:33 | maxDepth(...) | provenance | MaD:7 |
|
||||
| test.kt:16:14:16:21 | taint(...) : byte[] | test.kt:16:14:16:30 | copyOf(...) | provenance | MaD:3 |
|
||||
| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | test.kt:17:14:17:33 | maxDepth(...) | provenance | MaD:11 |
|
||||
| test.kt:20:14:20:15 | sb [post update] : StringBuilder | test.kt:21:14:21:15 | sb | provenance | |
|
||||
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:15 | sb [post update] : StringBuilder | provenance | MaD:12 |
|
||||
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:47 | insertRange(...) | provenance | MaD:13 |
|
||||
| test.kt:23:14:23:22 | taint(...) : char[] | test.kt:23:14:23:27 | plus(...) | provenance | MaD:2 |
|
||||
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:15 | sb [post update] : StringBuilder | provenance | MaD:16 |
|
||||
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:47 | insertRange(...) | provenance | MaD:17 |
|
||||
| test.kt:23:14:23:22 | taint(...) : char[] | test.kt:23:14:23:27 | plus(...) | provenance | MaD:4 |
|
||||
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:26:14:26:14 | p | provenance | |
|
||||
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:27:14:27:14 | p : Pair | provenance | |
|
||||
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:28:14:28:14 | p : Pair | provenance | |
|
||||
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:43:17:43:17 | p : Pair | provenance | |
|
||||
| test.kt:25:22:25:31 | taint(...) : String | test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | provenance | MaD:18 |
|
||||
| test.kt:27:14:27:14 | p : Pair | test.kt:27:14:27:27 | component1(...) | provenance | MaD:19 |
|
||||
| test.kt:28:14:28:14 | p : Pair | test.kt:28:14:28:21 | getSecond(...) | provenance | MaD:20 |
|
||||
| test.kt:30:14:30:23 | taint(...) : String | test.kt:30:14:30:36 | capitalize(...) | provenance | MaD:11 |
|
||||
| test.kt:31:14:31:23 | taint(...) : String | test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | provenance | MaD:14 |
|
||||
| test.kt:25:22:25:31 | taint(...) : String | test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | provenance | MaD:22 |
|
||||
| test.kt:27:14:27:14 | p : Pair | test.kt:27:14:27:27 | component1(...) | provenance | MaD:23 |
|
||||
| test.kt:28:14:28:14 | p : Pair | test.kt:28:14:28:21 | getSecond(...) | provenance | MaD:24 |
|
||||
| test.kt:30:14:30:23 | taint(...) : String | test.kt:30:14:30:36 | capitalize(...) | provenance | MaD:15 |
|
||||
| test.kt:31:14:31:23 | taint(...) : String | test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | provenance | MaD:18 |
|
||||
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:34:14:34:14 | t | provenance | |
|
||||
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:35:14:35:14 | t : Triple | provenance | |
|
||||
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:36:14:36:14 | t : Triple | provenance | |
|
||||
| test.kt:33:28:33:37 | taint(...) : String | test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | provenance | MaD:21 |
|
||||
| test.kt:35:14:35:14 | t : Triple | test.kt:35:14:35:27 | component1(...) | provenance | MaD:22 |
|
||||
| test.kt:36:14:36:14 | t : Triple | test.kt:36:14:36:21 | getSecond(...) | provenance | MaD:23 |
|
||||
| test.kt:38:18:38:27 | taint(...) : String | test.kt:38:18:38:33 | to(...) : Pair | provenance | MaD:24 |
|
||||
| test.kt:33:28:33:37 | taint(...) : String | test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | provenance | MaD:28 |
|
||||
| test.kt:35:14:35:14 | t : Triple | test.kt:35:14:35:27 | component1(...) | provenance | MaD:29 |
|
||||
| test.kt:36:14:36:14 | t : Triple | test.kt:36:14:36:21 | getSecond(...) | provenance | MaD:30 |
|
||||
| test.kt:38:18:38:27 | taint(...) : String | test.kt:38:18:38:33 | to(...) : Pair | provenance | MaD:31 |
|
||||
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:39:14:39:15 | p1 | provenance | |
|
||||
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:40:14:40:15 | p1 : Pair | provenance | |
|
||||
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:41:14:41:15 | p1 : Pair | provenance | |
|
||||
| test.kt:40:14:40:15 | p1 : Pair | test.kt:40:14:40:28 | component1(...) | provenance | MaD:19 |
|
||||
| test.kt:41:14:41:15 | p1 : Pair | test.kt:41:14:41:22 | getSecond(...) | provenance | MaD:20 |
|
||||
| test.kt:43:17:43:17 | p : Pair | test.kt:43:17:43:26 | toList(...) : List | provenance | MaD:25 |
|
||||
| test.kt:40:14:40:15 | p1 : Pair | test.kt:40:14:40:28 | component1(...) | provenance | MaD:23 |
|
||||
| test.kt:41:14:41:15 | p1 : Pair | test.kt:41:14:41:22 | getSecond(...) | provenance | MaD:24 |
|
||||
| test.kt:43:17:43:17 | p : Pair | test.kt:43:17:43:26 | toList(...) : List | provenance | MaD:32 |
|
||||
| test.kt:43:17:43:26 | toList(...) : List | test.kt:44:14:44:14 | l | provenance | |
|
||||
| test.kt:43:17:43:26 | toList(...) : List | test.kt:45:14:45:14 | l : List | provenance | |
|
||||
| test.kt:43:17:43:26 | toList(...) : List | test.kt:47:18:47:18 | s | provenance | |
|
||||
| test.kt:45:14:45:14 | l : List | test.kt:45:14:45:17 | get(...) | provenance | MaD:26 |
|
||||
| test.kt:45:14:45:14 | l : List | test.kt:45:14:45:17 | get(...) | provenance | MaD:1 |
|
||||
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:51:14:51:15 | tv | provenance | |
|
||||
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:52:14:52:15 | tv : TimedValue | provenance | |
|
||||
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:53:14:53:15 | tv : TimedValue | provenance | |
|
||||
| test.kt:50:29:50:38 | taint(...) : String | test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | provenance | MaD:15 |
|
||||
| test.kt:52:14:52:15 | tv : TimedValue | test.kt:52:14:52:28 | component1(...) | provenance | MaD:16 |
|
||||
| test.kt:53:14:53:15 | tv : TimedValue | test.kt:53:14:53:24 | getDuration(...) | provenance | MaD:17 |
|
||||
| test.kt:50:29:50:38 | taint(...) : String | test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | provenance | MaD:19 |
|
||||
| test.kt:52:14:52:15 | tv : TimedValue | test.kt:52:14:52:28 | component1(...) | provenance | MaD:20 |
|
||||
| test.kt:53:14:53:15 | tv : TimedValue | test.kt:53:14:53:24 | getDuration(...) | provenance | MaD:21 |
|
||||
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:56:14:56:16 | mg0 | provenance | |
|
||||
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:57:14:57:16 | mg0 : MatchGroup | provenance | |
|
||||
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:58:14:58:16 | mg0 : MatchGroup | provenance | |
|
||||
| test.kt:55:30:55:39 | taint(...) : String | test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | provenance | MaD:8 |
|
||||
| test.kt:57:14:57:16 | mg0 : MatchGroup | test.kt:57:14:57:22 | getValue(...) | provenance | MaD:10 |
|
||||
| test.kt:58:14:58:16 | mg0 : MatchGroup | test.kt:58:14:58:29 | component2(...) | provenance | MaD:9 |
|
||||
| test.kt:55:30:55:39 | taint(...) : String | test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | provenance | MaD:12 |
|
||||
| test.kt:57:14:57:16 | mg0 : MatchGroup | test.kt:57:14:57:22 | getValue(...) | provenance | MaD:14 |
|
||||
| test.kt:58:14:58:16 | mg0 : MatchGroup | test.kt:58:14:58:29 | component2(...) | provenance | MaD:13 |
|
||||
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | test.kt:61:14:61:15 | iv | provenance | |
|
||||
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | test.kt:63:14:63:15 | iv : IndexedValue | provenance | |
|
||||
| test.kt:60:42:60:51 | taint(...) : String | test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | provenance | MaD:4 |
|
||||
| test.kt:63:14:63:15 | iv : IndexedValue | test.kt:63:14:63:28 | component2(...) | provenance | MaD:5 |
|
||||
| test.kt:60:42:60:51 | taint(...) : String | test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | provenance | MaD:7 |
|
||||
| test.kt:63:14:63:15 | iv : IndexedValue | test.kt:63:14:63:28 | component2(...) | provenance | MaD:8 |
|
||||
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:66:14:66:20 | strings : String[] [[]] : String | provenance | |
|
||||
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:67:14:67:20 | strings : String[] [[]] : String | provenance | |
|
||||
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:68:14:68:20 | strings : String[] [[]] : String | provenance | |
|
||||
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:70:19:70:25 | strings : String[] [[]] : String | provenance | |
|
||||
| test.kt:65:35:65:44 | taint(...) : String | test.kt:65:23:65:45 | {...} : String[] [[]] : String | provenance | |
|
||||
| test.kt:66:14:66:20 | strings : String[] [[]] : String | test.kt:66:14:66:32 | withIndex(...) | provenance | MaD:28 |
|
||||
| test.kt:67:14:67:20 | strings : String[] [[]] : String | test.kt:67:14:67:32 | withIndex(...) : Iterable | provenance | MaD:28 |
|
||||
| test.kt:67:14:67:32 | withIndex(...) : Iterable | test.kt:67:14:67:41 | toList(...) | provenance | MaD:3 |
|
||||
| test.kt:68:14:68:20 | strings : String[] [[]] : String | test.kt:68:14:68:32 | withIndex(...) : Iterable | provenance | MaD:28 |
|
||||
| test.kt:68:14:68:32 | withIndex(...) : Iterable | test.kt:68:14:68:41 | toList(...) : List | provenance | MaD:3 |
|
||||
| test.kt:68:14:68:41 | toList(...) : List | test.kt:68:14:68:44 | get(...) : IndexedValue | provenance | MaD:26 |
|
||||
| test.kt:68:14:68:44 | get(...) : IndexedValue | test.kt:68:14:68:50 | getValue(...) | provenance | MaD:6 |
|
||||
| test.kt:70:19:70:25 | strings : String[] [[]] : String | test.kt:70:19:70:37 | withIndex(...) : Iterable | provenance | MaD:28 |
|
||||
| test.kt:66:14:66:20 | strings : String[] [[]] : String | test.kt:66:14:66:32 | withIndex(...) | provenance | MaD:5 |
|
||||
| test.kt:67:14:67:20 | strings : String[] [[]] : String | test.kt:67:14:67:32 | withIndex(...) : Iterable | provenance | MaD:5 |
|
||||
| test.kt:67:14:67:32 | withIndex(...) : Iterable | test.kt:67:14:67:41 | toList(...) | provenance | MaD:6 |
|
||||
| test.kt:68:14:68:20 | strings : String[] [[]] : String | test.kt:68:14:68:32 | withIndex(...) : Iterable | provenance | MaD:5 |
|
||||
| test.kt:68:14:68:32 | withIndex(...) : Iterable | test.kt:68:14:68:41 | toList(...) : List | provenance | MaD:6 |
|
||||
| test.kt:68:14:68:41 | toList(...) : List | test.kt:68:14:68:44 | get(...) : IndexedValue | provenance | MaD:1 |
|
||||
| test.kt:68:14:68:44 | get(...) : IndexedValue | test.kt:68:14:68:50 | getValue(...) | provenance | MaD:9 |
|
||||
| test.kt:70:19:70:25 | strings : String[] [[]] : String | test.kt:70:19:70:37 | withIndex(...) : Iterable | provenance | MaD:5 |
|
||||
| test.kt:70:19:70:37 | withIndex(...) : Iterable | test.kt:71:18:71:18 | x : IndexedValue | provenance | |
|
||||
| test.kt:71:18:71:18 | x : IndexedValue | test.kt:71:18:71:24 | getValue(...) | provenance | MaD:6 |
|
||||
| use.kt:8:9:8:20 | taint(...) : Closeable | use.kt:8:28:8:29 | it : Closeable | provenance | MaD:29 |
|
||||
| test.kt:71:18:71:18 | x : IndexedValue | test.kt:71:18:71:24 | getValue(...) | provenance | MaD:9 |
|
||||
| use.kt:8:9:8:20 | taint(...) : Closeable | use.kt:8:28:8:29 | it : Closeable | provenance | MaD:10 |
|
||||
| use.kt:8:28:8:29 | it : Closeable | use.kt:8:39:8:40 | it | provenance | |
|
||||
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:14:9:36 | use(...) | provenance | MaD:29 |
|
||||
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | provenance | MaD:29 |
|
||||
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:14:9:36 | use(...) | provenance | MaD:10 |
|
||||
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | provenance | MaD:10 |
|
||||
| use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | provenance | |
|
||||
| with.kt:6:14:6:25 | taint(...) : String | with.kt:6:28:6:41 | $this$with : String | provenance | MaD:32 |
|
||||
| with.kt:6:14:6:25 | taint(...) : String | with.kt:6:28:6:41 | $this$with : String | provenance | MaD:27 |
|
||||
| with.kt:6:28:6:41 | $this$with : String | with.kt:6:35:6:38 | this | provenance | |
|
||||
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:14:7:40 | with(...) | provenance | MaD:32 |
|
||||
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | provenance | MaD:32 |
|
||||
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:14:7:40 | with(...) | provenance | MaD:27 |
|
||||
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | provenance | MaD:27 |
|
||||
| with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | provenance | |
|
||||
nodes
|
||||
| apply.kt:6:9:6:20 | taint(...) : String | semmle.label | taint(...) : String |
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
models
|
||||
| 1 | Summary: kotlin.collections; ArraysKt; false; copyOf; (byte[]); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 2 | Summary: kotlin.collections; ArraysKt; false; plus; (char[],char[]); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 3 | Summary: kotlin.collections; CollectionsKt; false; toList; (Iterable); ; Argument[0].Element; ReturnValue; taint; df-generated |
|
||||
| 4 | Summary: kotlin.collections; IndexedValue; false; IndexedValue; (int,Object); ; Argument[1]; Argument[this]; taint; df-generated |
|
||||
| 5 | Summary: kotlin.collections; IndexedValue; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 6 | Summary: kotlin.collections; IndexedValue; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 7 | Summary: kotlin.io; FileTreeWalk; false; maxDepth; (int); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 8 | Summary: kotlin.text; MatchGroup; false; MatchGroup; (String,IntRange); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 9 | Summary: kotlin.text; MatchGroup; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 10 | Summary: kotlin.text; MatchGroup; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 11 | Summary: kotlin.text; StringsKt; false; capitalize; (String); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 12 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; Argument[0]; taint; df-generated |
|
||||
| 13 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; ReturnValue; taint; df-generated |
|
||||
| 14 | Summary: kotlin.text; StringsKt; false; replaceFirstCharWithChar; (String,Function1); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 15 | Summary: kotlin.time; TimedValue; false; TimedValue; (Object,Duration); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 16 | Summary: kotlin.time; TimedValue; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 17 | Summary: kotlin.time; TimedValue; false; getDuration; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 18 | Summary: kotlin; Pair; false; Pair; (Object,Object); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 19 | Summary: kotlin; Pair; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 20 | Summary: kotlin; Pair; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 21 | Summary: kotlin; Triple; false; Triple; (Object,Object,Object); ; Argument[1]; Argument[this]; taint; df-generated |
|
||||
| 22 | Summary: kotlin; Triple; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 23 | Summary: kotlin; Triple; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 24 | Summary: kotlin; TuplesKt; false; to; (Object,Object); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 25 | Summary: kotlin; TuplesKt; false; toList; (Pair); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 26 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 27 | Summary: java.util; List; true; set; (int,Object); ; Argument[1]; Argument[this].Element; value; manual |
|
||||
| 28 | Summary: kotlin.collections; ArraysKt; false; withIndex; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
|
||||
| 29 | Summary: kotlin.io; CloseableKt; false; use; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 30 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 31 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; ReturnValue; value; manual |
|
||||
| 32 | Summary: kotlin; StandardKt; false; with; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 1 | Summary: java.util; List; true; get; (int); ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 2 | Summary: java.util; List; true; set; (int,Object); ; Argument[1]; Argument[this].Element; value; manual |
|
||||
| 3 | Summary: kotlin.collections; ArraysKt; false; copyOf; (byte[]); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 4 | Summary: kotlin.collections; ArraysKt; false; plus; (char[],char[]); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 5 | Summary: kotlin.collections; ArraysKt; false; withIndex; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
|
||||
| 6 | Summary: kotlin.collections; CollectionsKt; false; toList; (Iterable); ; Argument[0].Element; ReturnValue; taint; df-generated |
|
||||
| 7 | Summary: kotlin.collections; IndexedValue; false; IndexedValue; (int,Object); ; Argument[1]; Argument[this]; taint; df-generated |
|
||||
| 8 | Summary: kotlin.collections; IndexedValue; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 9 | Summary: kotlin.collections; IndexedValue; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 10 | Summary: kotlin.io; CloseableKt; false; use; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 11 | Summary: kotlin.io; FileTreeWalk; false; maxDepth; (int); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 12 | Summary: kotlin.text; MatchGroup; false; MatchGroup; (String,IntRange); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 13 | Summary: kotlin.text; MatchGroup; false; component2; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 14 | Summary: kotlin.text; MatchGroup; false; getValue; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 15 | Summary: kotlin.text; StringsKt; false; capitalize; (String); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 16 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; Argument[0]; taint; df-generated |
|
||||
| 17 | Summary: kotlin.text; StringsKt; false; insertRange; (StringBuilder,int,char[],int,int); ; Argument[2]; ReturnValue; taint; df-generated |
|
||||
| 18 | Summary: kotlin.text; StringsKt; false; replaceFirstCharWithChar; (String,Function1); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 19 | Summary: kotlin.time; TimedValue; false; TimedValue; (Object,Duration); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 20 | Summary: kotlin.time; TimedValue; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 21 | Summary: kotlin.time; TimedValue; false; getDuration; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 22 | Summary: kotlin; Pair; false; Pair; (Object,Object); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 23 | Summary: kotlin; Pair; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 24 | Summary: kotlin; Pair; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 25 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 26 | Summary: kotlin; StandardKt; false; apply; ; ; Argument[0]; ReturnValue; value; manual |
|
||||
| 27 | Summary: kotlin; StandardKt; false; with; ; ; Argument[0]; Argument[1].Parameter[0]; value; manual |
|
||||
| 28 | Summary: kotlin; Triple; false; Triple; (Object,Object,Object); ; Argument[1]; Argument[this]; taint; df-generated |
|
||||
| 29 | Summary: kotlin; Triple; false; component1; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 30 | Summary: kotlin; Triple; false; getSecond; (); ; Argument[this]; ReturnValue; taint; df-generated |
|
||||
| 31 | Summary: kotlin; TuplesKt; false; to; (Object,Object); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
| 32 | Summary: kotlin; TuplesKt; false; toList; (Pair); ; Argument[0]; ReturnValue; taint; df-generated |
|
||||
edges
|
||||
| apply.kt:6:9:6:20 | taint(...) : String | apply.kt:6:28:6:41 | $this$apply : String | provenance | MaD:30 |
|
||||
| apply.kt:6:9:6:20 | taint(...) : String | apply.kt:6:28:6:41 | $this$apply : String | provenance | MaD:25 |
|
||||
| apply.kt:6:28:6:41 | $this$apply : String | apply.kt:6:35:6:38 | this | provenance | |
|
||||
| apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:31 |
|
||||
| apply.kt:7:14:7:25 | taint(...) : String | apply.kt:7:14:7:40 | apply(...) | provenance | MaD:26 |
|
||||
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:7:14:7:14 | l | provenance | |
|
||||
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:8:14:8:14 | l : List [<element>] : String | provenance | |
|
||||
| list.kt:6:9:6:9 | l [post update] : List [<element>] : String | list.kt:9:19:9:19 | l : List [<element>] : String | provenance | |
|
||||
| list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [<element>] : String | provenance | MaD:27 |
|
||||
| list.kt:8:14:8:14 | l : List [<element>] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:26 |
|
||||
| list.kt:6:16:6:25 | taint(...) : String | list.kt:6:9:6:9 | l [post update] : List [<element>] : String | provenance | MaD:2 |
|
||||
| list.kt:8:14:8:14 | l : List [<element>] : String | list.kt:8:14:8:17 | get(...) | provenance | MaD:1 |
|
||||
| list.kt:9:19:9:19 | l : List [<element>] : String | list.kt:10:18:10:18 | s | provenance | |
|
||||
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:14:14:14:14 | a | provenance | |
|
||||
| list.kt:13:17:13:40 | {...} : String[] [[]] : String | list.kt:15:14:15:14 | a : String[] [[]] : String | provenance | |
|
||||
@@ -47,78 +47,78 @@ edges
|
||||
| list.kt:13:25:13:34 | taint(...) : String | list.kt:13:17:13:40 | {...} : String[] [[]] : String | provenance | |
|
||||
| list.kt:15:14:15:14 | a : String[] [[]] : String | list.kt:15:14:15:17 | ...[...] | provenance | |
|
||||
| list.kt:16:19:16:19 | a : String[] [[]] : String | list.kt:17:18:17:18 | s | provenance | |
|
||||
| test.kt:16:14:16:21 | taint(...) : byte[] | test.kt:16:14:16:30 | copyOf(...) | provenance | MaD:1 |
|
||||
| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | test.kt:17:14:17:33 | maxDepth(...) | provenance | MaD:7 |
|
||||
| test.kt:16:14:16:21 | taint(...) : byte[] | test.kt:16:14:16:30 | copyOf(...) | provenance | MaD:3 |
|
||||
| test.kt:17:14:17:21 | taint(...) : FileTreeWalk | test.kt:17:14:17:33 | maxDepth(...) | provenance | MaD:11 |
|
||||
| test.kt:20:14:20:15 | sb [post update] : StringBuilder | test.kt:21:14:21:15 | sb | provenance | |
|
||||
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:15 | sb [post update] : StringBuilder | provenance | MaD:12 |
|
||||
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:47 | insertRange(...) | provenance | MaD:13 |
|
||||
| test.kt:23:14:23:22 | taint(...) : char[] | test.kt:23:14:23:27 | plus(...) | provenance | MaD:2 |
|
||||
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:15 | sb [post update] : StringBuilder | provenance | MaD:16 |
|
||||
| test.kt:20:32:20:40 | taint(...) : char[] | test.kt:20:14:20:47 | insertRange(...) | provenance | MaD:17 |
|
||||
| test.kt:23:14:23:22 | taint(...) : char[] | test.kt:23:14:23:27 | plus(...) | provenance | MaD:4 |
|
||||
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:26:14:26:14 | p | provenance | |
|
||||
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:27:14:27:14 | p : Pair | provenance | |
|
||||
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:28:14:28:14 | p : Pair | provenance | |
|
||||
| test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | test.kt:43:17:43:17 | p : Pair | provenance | |
|
||||
| test.kt:25:22:25:31 | taint(...) : String | test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | provenance | MaD:18 |
|
||||
| test.kt:27:14:27:14 | p : Pair | test.kt:27:14:27:27 | component1(...) | provenance | MaD:19 |
|
||||
| test.kt:28:14:28:14 | p : Pair | test.kt:28:14:28:21 | getSecond(...) | provenance | MaD:20 |
|
||||
| test.kt:30:14:30:23 | taint(...) : String | test.kt:30:14:30:36 | capitalize(...) | provenance | MaD:11 |
|
||||
| test.kt:31:14:31:23 | taint(...) : String | test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | provenance | MaD:14 |
|
||||
| test.kt:25:22:25:31 | taint(...) : String | test.kt:25:17:25:36 | new Pair<String,String>(...) : Pair | provenance | MaD:22 |
|
||||
| test.kt:27:14:27:14 | p : Pair | test.kt:27:14:27:27 | component1(...) | provenance | MaD:23 |
|
||||
| test.kt:28:14:28:14 | p : Pair | test.kt:28:14:28:21 | getSecond(...) | provenance | MaD:24 |
|
||||
| test.kt:30:14:30:23 | taint(...) : String | test.kt:30:14:30:36 | capitalize(...) | provenance | MaD:15 |
|
||||
| test.kt:31:14:31:23 | taint(...) : String | test.kt:31:14:31:53 | replaceFirstCharWithChar(...) | provenance | MaD:18 |
|
||||
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:34:14:34:14 | t | provenance | |
|
||||
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:35:14:35:14 | t : Triple | provenance | |
|
||||
| test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | test.kt:36:14:36:14 | t : Triple | provenance | |
|
||||
| test.kt:33:28:33:37 | taint(...) : String | test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | provenance | MaD:21 |
|
||||
| test.kt:35:14:35:14 | t : Triple | test.kt:35:14:35:27 | component1(...) | provenance | MaD:22 |
|
||||
| test.kt:36:14:36:14 | t : Triple | test.kt:36:14:36:21 | getSecond(...) | provenance | MaD:23 |
|
||||
| test.kt:38:18:38:27 | taint(...) : String | test.kt:38:18:38:33 | to(...) : Pair | provenance | MaD:24 |
|
||||
| test.kt:33:28:33:37 | taint(...) : String | test.kt:33:17:33:42 | new Triple<String,String,String>(...) : Triple | provenance | MaD:28 |
|
||||
| test.kt:35:14:35:14 | t : Triple | test.kt:35:14:35:27 | component1(...) | provenance | MaD:29 |
|
||||
| test.kt:36:14:36:14 | t : Triple | test.kt:36:14:36:21 | getSecond(...) | provenance | MaD:30 |
|
||||
| test.kt:38:18:38:27 | taint(...) : String | test.kt:38:18:38:33 | to(...) : Pair | provenance | MaD:31 |
|
||||
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:39:14:39:15 | p1 | provenance | |
|
||||
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:40:14:40:15 | p1 : Pair | provenance | |
|
||||
| test.kt:38:18:38:33 | to(...) : Pair | test.kt:41:14:41:15 | p1 : Pair | provenance | |
|
||||
| test.kt:40:14:40:15 | p1 : Pair | test.kt:40:14:40:28 | component1(...) | provenance | MaD:19 |
|
||||
| test.kt:41:14:41:15 | p1 : Pair | test.kt:41:14:41:22 | getSecond(...) | provenance | MaD:20 |
|
||||
| test.kt:43:17:43:17 | p : Pair | test.kt:43:17:43:26 | toList(...) : List | provenance | MaD:25 |
|
||||
| test.kt:40:14:40:15 | p1 : Pair | test.kt:40:14:40:28 | component1(...) | provenance | MaD:23 |
|
||||
| test.kt:41:14:41:15 | p1 : Pair | test.kt:41:14:41:22 | getSecond(...) | provenance | MaD:24 |
|
||||
| test.kt:43:17:43:17 | p : Pair | test.kt:43:17:43:26 | toList(...) : List | provenance | MaD:32 |
|
||||
| test.kt:43:17:43:26 | toList(...) : List | test.kt:44:14:44:14 | l | provenance | |
|
||||
| test.kt:43:17:43:26 | toList(...) : List | test.kt:45:14:45:14 | l : List | provenance | |
|
||||
| test.kt:43:17:43:26 | toList(...) : List | test.kt:47:18:47:18 | s | provenance | |
|
||||
| test.kt:45:14:45:14 | l : List | test.kt:45:14:45:17 | get(...) | provenance | MaD:26 |
|
||||
| test.kt:45:14:45:14 | l : List | test.kt:45:14:45:17 | get(...) | provenance | MaD:1 |
|
||||
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:51:14:51:15 | tv | provenance | |
|
||||
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:52:14:52:15 | tv : TimedValue | provenance | |
|
||||
| test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | test.kt:53:14:53:15 | tv : TimedValue | provenance | |
|
||||
| test.kt:50:29:50:38 | taint(...) : String | test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | provenance | MaD:15 |
|
||||
| test.kt:52:14:52:15 | tv : TimedValue | test.kt:52:14:52:28 | component1(...) | provenance | MaD:16 |
|
||||
| test.kt:53:14:53:15 | tv : TimedValue | test.kt:53:14:53:24 | getDuration(...) | provenance | MaD:17 |
|
||||
| test.kt:50:29:50:38 | taint(...) : String | test.kt:50:18:50:59 | new TimedValue<String>(...) : TimedValue | provenance | MaD:19 |
|
||||
| test.kt:52:14:52:15 | tv : TimedValue | test.kt:52:14:52:28 | component1(...) | provenance | MaD:20 |
|
||||
| test.kt:53:14:53:15 | tv : TimedValue | test.kt:53:14:53:24 | getDuration(...) | provenance | MaD:21 |
|
||||
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:56:14:56:16 | mg0 | provenance | |
|
||||
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:57:14:57:16 | mg0 : MatchGroup | provenance | |
|
||||
| test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | test.kt:58:14:58:16 | mg0 : MatchGroup | provenance | |
|
||||
| test.kt:55:30:55:39 | taint(...) : String | test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | provenance | MaD:8 |
|
||||
| test.kt:57:14:57:16 | mg0 : MatchGroup | test.kt:57:14:57:22 | getValue(...) | provenance | MaD:10 |
|
||||
| test.kt:58:14:58:16 | mg0 : MatchGroup | test.kt:58:14:58:29 | component2(...) | provenance | MaD:9 |
|
||||
| test.kt:55:30:55:39 | taint(...) : String | test.kt:55:19:55:57 | new MatchGroup(...) : MatchGroup | provenance | MaD:12 |
|
||||
| test.kt:57:14:57:16 | mg0 : MatchGroup | test.kt:57:14:57:22 | getValue(...) | provenance | MaD:14 |
|
||||
| test.kt:58:14:58:16 | mg0 : MatchGroup | test.kt:58:14:58:29 | component2(...) | provenance | MaD:13 |
|
||||
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | test.kt:61:14:61:15 | iv | provenance | |
|
||||
| test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | test.kt:63:14:63:15 | iv : IndexedValue | provenance | |
|
||||
| test.kt:60:42:60:51 | taint(...) : String | test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | provenance | MaD:4 |
|
||||
| test.kt:63:14:63:15 | iv : IndexedValue | test.kt:63:14:63:28 | component2(...) | provenance | MaD:5 |
|
||||
| test.kt:60:42:60:51 | taint(...) : String | test.kt:60:18:60:52 | new IndexedValue<String>(...) : IndexedValue | provenance | MaD:7 |
|
||||
| test.kt:63:14:63:15 | iv : IndexedValue | test.kt:63:14:63:28 | component2(...) | provenance | MaD:8 |
|
||||
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:66:14:66:20 | strings : String[] [[]] : String | provenance | |
|
||||
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:67:14:67:20 | strings : String[] [[]] : String | provenance | |
|
||||
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:68:14:68:20 | strings : String[] [[]] : String | provenance | |
|
||||
| test.kt:65:23:65:45 | {...} : String[] [[]] : String | test.kt:70:19:70:25 | strings : String[] [[]] : String | provenance | |
|
||||
| test.kt:65:35:65:44 | taint(...) : String | test.kt:65:23:65:45 | {...} : String[] [[]] : String | provenance | |
|
||||
| test.kt:66:14:66:20 | strings : String[] [[]] : String | test.kt:66:14:66:32 | withIndex(...) | provenance | MaD:28 |
|
||||
| test.kt:67:14:67:20 | strings : String[] [[]] : String | test.kt:67:14:67:32 | withIndex(...) : Iterable | provenance | MaD:28 |
|
||||
| test.kt:67:14:67:32 | withIndex(...) : Iterable | test.kt:67:14:67:41 | toList(...) | provenance | MaD:3 |
|
||||
| test.kt:68:14:68:20 | strings : String[] [[]] : String | test.kt:68:14:68:32 | withIndex(...) : Iterable | provenance | MaD:28 |
|
||||
| test.kt:68:14:68:32 | withIndex(...) : Iterable | test.kt:68:14:68:41 | toList(...) : List | provenance | MaD:3 |
|
||||
| test.kt:68:14:68:41 | toList(...) : List | test.kt:68:14:68:44 | get(...) : IndexedValue | provenance | MaD:26 |
|
||||
| test.kt:68:14:68:44 | get(...) : IndexedValue | test.kt:68:14:68:50 | getValue(...) | provenance | MaD:6 |
|
||||
| test.kt:70:19:70:25 | strings : String[] [[]] : String | test.kt:70:19:70:37 | withIndex(...) : Iterable | provenance | MaD:28 |
|
||||
| test.kt:66:14:66:20 | strings : String[] [[]] : String | test.kt:66:14:66:32 | withIndex(...) | provenance | MaD:5 |
|
||||
| test.kt:67:14:67:20 | strings : String[] [[]] : String | test.kt:67:14:67:32 | withIndex(...) : Iterable | provenance | MaD:5 |
|
||||
| test.kt:67:14:67:32 | withIndex(...) : Iterable | test.kt:67:14:67:41 | toList(...) | provenance | MaD:6 |
|
||||
| test.kt:68:14:68:20 | strings : String[] [[]] : String | test.kt:68:14:68:32 | withIndex(...) : Iterable | provenance | MaD:5 |
|
||||
| test.kt:68:14:68:32 | withIndex(...) : Iterable | test.kt:68:14:68:41 | toList(...) : List | provenance | MaD:6 |
|
||||
| test.kt:68:14:68:41 | toList(...) : List | test.kt:68:14:68:44 | get(...) : IndexedValue | provenance | MaD:1 |
|
||||
| test.kt:68:14:68:44 | get(...) : IndexedValue | test.kt:68:14:68:50 | getValue(...) | provenance | MaD:9 |
|
||||
| test.kt:70:19:70:25 | strings : String[] [[]] : String | test.kt:70:19:70:37 | withIndex(...) : Iterable | provenance | MaD:5 |
|
||||
| test.kt:70:19:70:37 | withIndex(...) : Iterable | test.kt:71:18:71:18 | x : IndexedValue | provenance | |
|
||||
| test.kt:71:18:71:18 | x : IndexedValue | test.kt:71:18:71:24 | getValue(...) | provenance | MaD:6 |
|
||||
| use.kt:8:9:8:20 | taint(...) : Closeable | use.kt:8:28:8:29 | it : Closeable | provenance | MaD:29 |
|
||||
| test.kt:71:18:71:18 | x : IndexedValue | test.kt:71:18:71:24 | getValue(...) | provenance | MaD:9 |
|
||||
| use.kt:8:9:8:20 | taint(...) : Closeable | use.kt:8:28:8:29 | it : Closeable | provenance | MaD:10 |
|
||||
| use.kt:8:28:8:29 | it : Closeable | use.kt:8:39:8:40 | it | provenance | |
|
||||
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:14:9:36 | use(...) | provenance | MaD:29 |
|
||||
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | provenance | MaD:29 |
|
||||
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:14:9:36 | use(...) | provenance | MaD:10 |
|
||||
| use.kt:9:14:9:25 | taint(...) : Closeable | use.kt:9:31:9:36 | it : Closeable | provenance | MaD:10 |
|
||||
| use.kt:9:31:9:36 | it : Closeable | use.kt:9:33:9:34 | it : Closeable | provenance | |
|
||||
| with.kt:6:14:6:25 | taint(...) : String | with.kt:6:28:6:41 | $this$with : String | provenance | MaD:32 |
|
||||
| with.kt:6:14:6:25 | taint(...) : String | with.kt:6:28:6:41 | $this$with : String | provenance | MaD:27 |
|
||||
| with.kt:6:28:6:41 | $this$with : String | with.kt:6:35:6:38 | this | provenance | |
|
||||
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:14:7:40 | with(...) | provenance | MaD:32 |
|
||||
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | provenance | MaD:32 |
|
||||
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:14:7:40 | with(...) | provenance | MaD:27 |
|
||||
| with.kt:7:19:7:30 | taint(...) : String | with.kt:7:33:7:40 | $this$with : String | provenance | MaD:27 |
|
||||
| with.kt:7:33:7:40 | $this$with : String | with.kt:7:35:7:38 | this : String | provenance | |
|
||||
nodes
|
||||
| apply.kt:6:9:6:20 | taint(...) : String | semmle.label | taint(...) : String |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,22 +5,22 @@
|
||||
| FilePathInjection.java:182:30:182:33 | file | FilePathInjection.java:205:17:205:44 | getParameter(...) : String | FilePathInjection.java:182:30:182:33 | file | External control of file name or path due to $@. | FilePathInjection.java:205:17:205:44 | getParameter(...) | user-provided value |
|
||||
| FilePathInjection.java:210:23:210:26 | file | FilePathInjection.java:205:17:205:44 | getParameter(...) : String | FilePathInjection.java:210:23:210:26 | file | External control of file name or path due to $@. | FilePathInjection.java:205:17:205:44 | getParameter(...) | user-provided value |
|
||||
edges
|
||||
| FilePathInjection.java:21:21:21:34 | getPara(...) : String | FilePathInjection.java:26:47:26:59 | finalFilePath | provenance | Src:MaD:1 Sink:MaD:4 |
|
||||
| FilePathInjection.java:64:21:64:34 | getPara(...) : String | FilePathInjection.java:72:47:72:59 | finalFilePath | provenance | Src:MaD:1 AdditionalValueStep Sink:MaD:4 |
|
||||
| FilePathInjection.java:87:21:87:34 | getPara(...) : String | FilePathInjection.java:95:47:95:59 | finalFilePath | provenance | Src:MaD:1 AdditionalValueStep Sink:MaD:4 |
|
||||
| FilePathInjection.java:177:50:177:58 | file : File | FilePathInjection.java:182:30:182:33 | file | provenance | Sink:MaD:3 |
|
||||
| FilePathInjection.java:205:17:205:44 | getParameter(...) : String | FilePathInjection.java:209:24:209:31 | filePath : String | provenance | Src:MaD:6 |
|
||||
| FilePathInjection.java:209:15:209:32 | new File(...) : File | FilePathInjection.java:210:23:210:26 | file | provenance | Sink:MaD:2 |
|
||||
| FilePathInjection.java:21:21:21:34 | getPara(...) : String | FilePathInjection.java:26:47:26:59 | finalFilePath | provenance | Src:MaD:4 Sink:MaD:3 |
|
||||
| FilePathInjection.java:64:21:64:34 | getPara(...) : String | FilePathInjection.java:72:47:72:59 | finalFilePath | provenance | Src:MaD:4 AdditionalValueStep Sink:MaD:3 |
|
||||
| FilePathInjection.java:87:21:87:34 | getPara(...) : String | FilePathInjection.java:95:47:95:59 | finalFilePath | provenance | Src:MaD:4 AdditionalValueStep Sink:MaD:3 |
|
||||
| FilePathInjection.java:177:50:177:58 | file : File | FilePathInjection.java:182:30:182:33 | file | provenance | Sink:MaD:2 |
|
||||
| FilePathInjection.java:205:17:205:44 | getParameter(...) : String | FilePathInjection.java:209:24:209:31 | filePath : String | provenance | Src:MaD:5 |
|
||||
| FilePathInjection.java:209:15:209:32 | new File(...) : File | FilePathInjection.java:210:23:210:26 | file | provenance | Sink:MaD:1 |
|
||||
| FilePathInjection.java:209:15:209:32 | new File(...) : File | FilePathInjection.java:217:19:217:22 | file : File | provenance | |
|
||||
| FilePathInjection.java:209:24:209:31 | filePath : String | FilePathInjection.java:209:15:209:32 | new File(...) : File | provenance | MaD:5 |
|
||||
| FilePathInjection.java:209:24:209:31 | filePath : String | FilePathInjection.java:209:15:209:32 | new File(...) : File | provenance | MaD:6 |
|
||||
| FilePathInjection.java:217:19:217:22 | file : File | FilePathInjection.java:177:50:177:58 | file : File | provenance | |
|
||||
models
|
||||
| 1 | Source: com.jfinal.core; Controller; true; getPara; ; ; ReturnValue; remote; manual |
|
||||
| 2 | Sink: java.io; File; true; exists; (); ; Argument[this]; path-injection; manual |
|
||||
| 3 | Sink: java.io; FileInputStream; true; FileInputStream; (File); ; Argument[0]; path-injection; ai-manual |
|
||||
| 4 | Sink: java.io; FileOutputStream; false; FileOutputStream; ; ; Argument[0]; path-injection; manual |
|
||||
| 5 | Summary: java.io; File; false; File; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 6 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 1 | Sink: java.io; File; true; exists; (); ; Argument[this]; path-injection; manual |
|
||||
| 2 | Sink: java.io; FileInputStream; true; FileInputStream; (File); ; Argument[0]; path-injection; ai-manual |
|
||||
| 3 | Sink: java.io; FileOutputStream; false; FileOutputStream; ; ; Argument[0]; path-injection; manual |
|
||||
| 4 | Source: com.jfinal.core; Controller; true; getPara; ; ; ReturnValue; remote; manual |
|
||||
| 5 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 6 | Summary: java.io; File; false; File; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
nodes
|
||||
| FilePathInjection.java:21:21:21:34 | getPara(...) : String | semmle.label | getPara(...) : String |
|
||||
| FilePathInjection.java:26:47:26:59 | finalFilePath | semmle.label | finalFilePath |
|
||||
|
||||
@@ -14,17 +14,17 @@ edges
|
||||
| RuntimeExecTest.java:25:66:25:71 | script : String | RuntimeExecTest.java:25:42:25:72 | {...} : String[] [[]] : String | provenance | |
|
||||
| RuntimeExecTest.java:31:17:31:29 | commandArray2 [post update] : String[] [[]] : String | RuntimeExecTest.java:32:43:32:55 | commandArray2 | provenance | Sink:MaD:1 |
|
||||
| RuntimeExecTest.java:31:36:31:41 | script : String | RuntimeExecTest.java:31:17:31:29 | commandArray2 [post update] : String[] [[]] : String | provenance | |
|
||||
| RuntimeExecTest.java:36:21:39:21 | concat(...) : Stream [<element>] : String | RuntimeExecTest.java:36:21:39:44 | toArray(...) | provenance | MaD:5 Sink:MaD:1 |
|
||||
| RuntimeExecTest.java:38:25:38:59 | stream(...) : Stream [<element>] : String | RuntimeExecTest.java:36:21:39:21 | concat(...) : Stream [<element>] : String | provenance | MaD:4 |
|
||||
| RuntimeExecTest.java:38:39:38:58 | new String[] : String[] [[]] : String | RuntimeExecTest.java:38:25:38:59 | stream(...) : Stream [<element>] : String | provenance | MaD:3 |
|
||||
| RuntimeExecTest.java:36:21:39:21 | concat(...) : Stream [<element>] : String | RuntimeExecTest.java:36:21:39:44 | toArray(...) | provenance | MaD:4 Sink:MaD:1 |
|
||||
| RuntimeExecTest.java:38:25:38:59 | stream(...) : Stream [<element>] : String | RuntimeExecTest.java:36:21:39:21 | concat(...) : Stream [<element>] : String | provenance | MaD:3 |
|
||||
| RuntimeExecTest.java:38:39:38:58 | new String[] : String[] [[]] : String | RuntimeExecTest.java:38:25:38:59 | stream(...) : Stream [<element>] : String | provenance | MaD:5 |
|
||||
| RuntimeExecTest.java:38:39:38:58 | {...} : String[] [[]] : String | RuntimeExecTest.java:38:39:38:58 | new String[] : String[] [[]] : String | provenance | |
|
||||
| RuntimeExecTest.java:38:52:38:57 | script : String | RuntimeExecTest.java:38:39:38:58 | {...} : String[] [[]] : String | provenance | |
|
||||
models
|
||||
| 1 | Sink: java.lang; Runtime; true; exec; (String[]); ; Argument[0]; command-injection; ai-manual |
|
||||
| 2 | Source: java.lang; System; false; getenv; ; ; ReturnValue; environment; manual |
|
||||
| 3 | Summary: java.util; Arrays; false; stream; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual |
|
||||
| 4 | Summary: java.util.stream; Stream; true; concat; (Stream,Stream); ; Argument[0..1].Element; ReturnValue.Element; value; manual |
|
||||
| 5 | Summary: java.util.stream; Stream; true; toArray; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual |
|
||||
| 3 | Summary: java.util.stream; Stream; true; concat; (Stream,Stream); ; Argument[0..1].Element; ReturnValue.Element; value; manual |
|
||||
| 4 | Summary: java.util.stream; Stream; true; toArray; ; ; Argument[this].Element; ReturnValue.ArrayElement; value; manual |
|
||||
| 5 | Summary: java.util; Arrays; false; stream; ; ; Argument[0].ArrayElement; ReturnValue.Element; value; manual |
|
||||
nodes
|
||||
| RuntimeExecTest.java:17:25:17:51 | getenv(...) : String | semmle.label | getenv(...) : String |
|
||||
| RuntimeExecTest.java:22:43:22:73 | new String[] | semmle.label | new String[] |
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
| JakartaExpressionInjection.java:89:13:89:13 | e | JakartaExpressionInjection.java:23:25:23:47 | getInputStream(...) : InputStream | JakartaExpressionInjection.java:89:13:89:13 | e | Jakarta Expression Language injection from $@. | JakartaExpressionInjection.java:23:25:23:47 | getInputStream(...) | this user input |
|
||||
| JakartaExpressionInjection.java:99:13:99:13 | e | JakartaExpressionInjection.java:23:25:23:47 | getInputStream(...) : InputStream | JakartaExpressionInjection.java:99:13:99:13 | e | Jakarta Expression Language injection from $@. | JakartaExpressionInjection.java:23:25:23:47 | getInputStream(...) | this user input |
|
||||
edges
|
||||
| JakartaExpressionInjection.java:23:25:23:47 | getInputStream(...) : InputStream | JakartaExpressionInjection.java:23:54:23:58 | bytes [post update] : byte[] | provenance | Src:MaD:3 MaD:1 |
|
||||
| JakartaExpressionInjection.java:23:25:23:47 | getInputStream(...) : InputStream | JakartaExpressionInjection.java:23:54:23:58 | bytes [post update] : byte[] | provenance | Src:MaD:1 MaD:2 |
|
||||
| JakartaExpressionInjection.java:23:54:23:58 | bytes [post update] : byte[] | JakartaExpressionInjection.java:24:48:24:52 | bytes : byte[] | provenance | |
|
||||
| JakartaExpressionInjection.java:24:37:24:59 | new String(...) : String | JakartaExpressionInjection.java:25:31:25:40 | expression : String | provenance | |
|
||||
| JakartaExpressionInjection.java:24:48:24:52 | bytes : byte[] | JakartaExpressionInjection.java:24:37:24:59 | new String(...) : String | provenance | MaD:2 |
|
||||
| JakartaExpressionInjection.java:24:48:24:52 | bytes : byte[] | JakartaExpressionInjection.java:24:37:24:59 | new String(...) : String | provenance | MaD:3 |
|
||||
| JakartaExpressionInjection.java:25:31:25:40 | expression : String | JakartaExpressionInjection.java:32:24:32:33 | expression : String | provenance | |
|
||||
| JakartaExpressionInjection.java:25:31:25:40 | expression : String | JakartaExpressionInjection.java:40:24:40:33 | expression : String | provenance | |
|
||||
| JakartaExpressionInjection.java:25:31:25:40 | expression : String | JakartaExpressionInjection.java:48:24:48:33 | expression : String | provenance | |
|
||||
@@ -39,9 +39,9 @@ edges
|
||||
| JakartaExpressionInjection.java:98:34:98:112 | createMethodExpression(...) : MethodExpression | JakartaExpressionInjection.java:99:13:99:13 | e | provenance | |
|
||||
| JakartaExpressionInjection.java:98:74:98:83 | expression : String | JakartaExpressionInjection.java:98:34:98:112 | createMethodExpression(...) : MethodExpression | provenance | Config |
|
||||
models
|
||||
| 1 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 2 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 3 | Source: java.net; Socket; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 1 | Source: java.net; Socket; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 2 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 3 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
nodes
|
||||
| JakartaExpressionInjection.java:23:25:23:47 | getInputStream(...) : InputStream | semmle.label | getInputStream(...) : InputStream |
|
||||
| JakartaExpressionInjection.java:23:54:23:58 | bytes [post update] : byte[] | semmle.label | bytes [post update] : byte[] |
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
| JythonInjection.java:106:29:106:134 | makeCode(...) | JythonInjection.java:97:23:97:50 | getParameter(...) : String | JythonInjection.java:106:61:106:75 | getBytes(...) | Jython evaluate $@. | JythonInjection.java:97:23:97:50 | getParameter(...) | user input |
|
||||
| JythonInjection.java:131:29:131:109 | compile(...) | JythonInjection.java:131:40:131:63 | getInputStream(...) | JythonInjection.java:131:40:131:63 | getInputStream(...) | Jython evaluate $@. | JythonInjection.java:131:40:131:63 | getInputStream(...) | user input |
|
||||
edges
|
||||
| JythonInjection.java:28:23:28:50 | getParameter(...) : String | JythonInjection.java:36:30:36:33 | code | provenance | Src:MaD:2 |
|
||||
| JythonInjection.java:53:23:53:50 | getParameter(...) : String | JythonInjection.java:58:44:58:47 | code | provenance | Src:MaD:2 |
|
||||
| JythonInjection.java:73:23:73:50 | getParameter(...) : String | JythonInjection.java:81:35:81:38 | code | provenance | Src:MaD:2 |
|
||||
| JythonInjection.java:97:23:97:50 | getParameter(...) : String | JythonInjection.java:106:61:106:64 | code : String | provenance | Src:MaD:2 |
|
||||
| JythonInjection.java:106:61:106:64 | code : String | JythonInjection.java:106:61:106:75 | getBytes(...) | provenance | MaD:1 |
|
||||
| JythonInjection.java:28:23:28:50 | getParameter(...) : String | JythonInjection.java:36:30:36:33 | code | provenance | Src:MaD:1 |
|
||||
| JythonInjection.java:53:23:53:50 | getParameter(...) : String | JythonInjection.java:58:44:58:47 | code | provenance | Src:MaD:1 |
|
||||
| JythonInjection.java:73:23:73:50 | getParameter(...) : String | JythonInjection.java:81:35:81:38 | code | provenance | Src:MaD:1 |
|
||||
| JythonInjection.java:97:23:97:50 | getParameter(...) : String | JythonInjection.java:106:61:106:64 | code : String | provenance | Src:MaD:1 |
|
||||
| JythonInjection.java:106:61:106:64 | code : String | JythonInjection.java:106:61:106:75 | getBytes(...) | provenance | MaD:2 |
|
||||
models
|
||||
| 1 | Summary: java.lang; String; false; getBytes; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 2 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 1 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 2 | Summary: java.lang; String; false; getBytes; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| JythonInjection.java:28:23:28:50 | getParameter(...) : String | semmle.label | getParameter(...) : String |
|
||||
| JythonInjection.java:36:30:36:33 | code | semmle.label | code |
|
||||
|
||||
@@ -9,22 +9,22 @@
|
||||
| ScriptEngineTest.java:52:27:52:47 | compile(...) | ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:52:42:52:46 | input | Java Script Engine evaluate $@. | ScriptEngineTest.java:91:18:91:45 | getParameter(...) | user input |
|
||||
| ScriptEngineTest.java:59:20:59:56 | getProgram(...) | ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:59:51:59:55 | input | Java Script Engine evaluate $@. | ScriptEngineTest.java:91:18:91:45 | getParameter(...) | user input |
|
||||
edges
|
||||
| RhinoServlet.java:28:23:28:50 | getParameter(...) : String | RhinoServlet.java:32:55:32:58 | code | provenance | Src:MaD:2 |
|
||||
| RhinoServlet.java:81:23:81:50 | getParameter(...) : String | RhinoServlet.java:83:54:83:57 | code | provenance | Src:MaD:2 |
|
||||
| RhinoServlet.java:88:23:88:50 | getParameter(...) : String | RhinoServlet.java:89:74:89:77 | code : String | provenance | Src:MaD:2 |
|
||||
| RhinoServlet.java:89:74:89:77 | code : String | RhinoServlet.java:89:74:89:88 | getBytes(...) | provenance | MaD:1 |
|
||||
| RhinoServlet.java:28:23:28:50 | getParameter(...) : String | RhinoServlet.java:32:55:32:58 | code | provenance | Src:MaD:1 |
|
||||
| RhinoServlet.java:81:23:81:50 | getParameter(...) : String | RhinoServlet.java:83:54:83:57 | code | provenance | Src:MaD:1 |
|
||||
| RhinoServlet.java:88:23:88:50 | getParameter(...) : String | RhinoServlet.java:89:74:89:77 | code : String | provenance | Src:MaD:1 |
|
||||
| RhinoServlet.java:89:74:89:77 | code : String | RhinoServlet.java:89:74:89:88 | getBytes(...) | provenance | MaD:2 |
|
||||
| ScriptEngineTest.java:20:44:20:55 | input : String | ScriptEngineTest.java:24:37:24:41 | input | provenance | |
|
||||
| ScriptEngineTest.java:27:51:27:62 | input : String | ScriptEngineTest.java:31:31:31:35 | input | provenance | |
|
||||
| ScriptEngineTest.java:35:58:35:69 | input : String | ScriptEngineTest.java:39:31:39:35 | input | provenance | |
|
||||
| ScriptEngineTest.java:42:46:42:57 | input : String | ScriptEngineTest.java:46:31:46:35 | input | provenance | |
|
||||
| ScriptEngineTest.java:49:41:49:52 | input : String | ScriptEngineTest.java:52:42:52:46 | input | provenance | |
|
||||
| ScriptEngineTest.java:56:41:56:52 | input : String | ScriptEngineTest.java:59:51:59:55 | input | provenance | |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:93:57:93:60 | code : String | provenance | Src:MaD:2 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:94:64:94:67 | code : String | provenance | Src:MaD:2 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:95:71:95:74 | code : String | provenance | Src:MaD:2 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:96:59:96:62 | code : String | provenance | Src:MaD:2 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:97:54:97:57 | code : String | provenance | Src:MaD:2 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:98:54:98:57 | code : String | provenance | Src:MaD:2 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:93:57:93:60 | code : String | provenance | Src:MaD:1 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:94:64:94:67 | code : String | provenance | Src:MaD:1 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:95:71:95:74 | code : String | provenance | Src:MaD:1 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:96:59:96:62 | code : String | provenance | Src:MaD:1 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:97:54:97:57 | code : String | provenance | Src:MaD:1 |
|
||||
| ScriptEngineTest.java:91:18:91:45 | getParameter(...) : String | ScriptEngineTest.java:98:54:98:57 | code : String | provenance | Src:MaD:1 |
|
||||
| ScriptEngineTest.java:93:57:93:60 | code : String | ScriptEngineTest.java:20:44:20:55 | input : String | provenance | |
|
||||
| ScriptEngineTest.java:94:64:94:67 | code : String | ScriptEngineTest.java:27:51:27:62 | input : String | provenance | |
|
||||
| ScriptEngineTest.java:95:71:95:74 | code : String | ScriptEngineTest.java:35:58:35:69 | input : String | provenance | |
|
||||
@@ -32,8 +32,8 @@ edges
|
||||
| ScriptEngineTest.java:97:54:97:57 | code : String | ScriptEngineTest.java:49:41:49:52 | input : String | provenance | |
|
||||
| ScriptEngineTest.java:98:54:98:57 | code : String | ScriptEngineTest.java:56:41:56:52 | input : String | provenance | |
|
||||
models
|
||||
| 1 | Summary: java.lang; String; false; getBytes; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 2 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 1 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 2 | Summary: java.lang; String; false; getBytes; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| RhinoServlet.java:28:23:28:50 | getParameter(...) : String | semmle.label | getParameter(...) : String |
|
||||
| RhinoServlet.java:32:55:32:58 | code | semmle.label | code |
|
||||
|
||||
@@ -26,10 +26,10 @@ edges
|
||||
| InsecureWebResourceResponse.java:59:34:59:43 | url : String | InsecureWebResourceResponse.java:75:20:75:22 | url : String | provenance | |
|
||||
| InsecureWebResourceResponse.java:63:77:63:86 | url : String | InsecureWebResourceResponse.java:65:41:65:43 | url : String | provenance | |
|
||||
| InsecureWebResourceResponse.java:65:31:65:44 | parse(...) : Uri | InsecureWebResourceResponse.java:66:71:66:73 | uri : Uri | provenance | |
|
||||
| InsecureWebResourceResponse.java:65:41:65:43 | url : String | InsecureWebResourceResponse.java:65:31:65:44 | parse(...) : Uri | provenance | MaD:4 |
|
||||
| InsecureWebResourceResponse.java:65:41:65:43 | url : String | InsecureWebResourceResponse.java:65:31:65:44 | parse(...) : Uri | provenance | MaD:2 |
|
||||
| InsecureWebResourceResponse.java:66:51:66:84 | new FileInputStream(...) : FileInputStream | InsecureWebResourceResponse.java:68:71:68:81 | inputStream | provenance | |
|
||||
| InsecureWebResourceResponse.java:66:71:66:73 | uri : Uri | InsecureWebResourceResponse.java:66:71:66:83 | getPath(...) : String | provenance | MaD:3 |
|
||||
| InsecureWebResourceResponse.java:66:71:66:83 | getPath(...) : String | InsecureWebResourceResponse.java:66:51:66:84 | new FileInputStream(...) : FileInputStream | provenance | MaD:6 |
|
||||
| InsecureWebResourceResponse.java:66:71:66:73 | uri : Uri | InsecureWebResourceResponse.java:66:71:66:83 | getPath(...) : String | provenance | MaD:4 |
|
||||
| InsecureWebResourceResponse.java:66:71:66:83 | getPath(...) : String | InsecureWebResourceResponse.java:66:51:66:84 | new FileInputStream(...) : FileInputStream | provenance | MaD:7 |
|
||||
| InsecureWebResourceResponse.java:75:20:75:22 | url : String | InsecureWebResourceResponse.java:63:77:63:86 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebResourceResponse.java:75:20:75:22 | url : String | InsecureWebResourceResponse.java:84:77:84:86 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebResourceResponse.java:75:20:75:22 | url : String | InsecureWebResourceResponse.java:110:77:110:86 | url : String | provenance | AdditionalTaintStep |
|
||||
@@ -38,12 +38,12 @@ edges
|
||||
| InsecureWebResourceResponse.java:80:34:80:43 | url : String | InsecureWebResourceResponse.java:101:20:101:22 | url : String | provenance | |
|
||||
| InsecureWebResourceResponse.java:84:77:84:86 | url : String | InsecureWebResourceResponse.java:86:41:86:43 | url : String | provenance | |
|
||||
| InsecureWebResourceResponse.java:86:31:86:44 | parse(...) : Uri | InsecureWebResourceResponse.java:88:66:88:68 | uri : Uri | provenance | |
|
||||
| InsecureWebResourceResponse.java:86:41:86:43 | url : String | InsecureWebResourceResponse.java:86:31:86:44 | parse(...) : Uri | provenance | MaD:4 |
|
||||
| InsecureWebResourceResponse.java:86:41:86:43 | url : String | InsecureWebResourceResponse.java:86:31:86:44 | parse(...) : Uri | provenance | MaD:2 |
|
||||
| InsecureWebResourceResponse.java:88:42:88:90 | new File(...) : File | InsecureWebResourceResponse.java:89:75:89:83 | cacheFile : File | provenance | |
|
||||
| InsecureWebResourceResponse.java:88:66:88:68 | uri : Uri | InsecureWebResourceResponse.java:88:66:88:89 | getLastPathSegment(...) : String | provenance | MaD:2 |
|
||||
| InsecureWebResourceResponse.java:88:66:88:89 | getLastPathSegment(...) : String | InsecureWebResourceResponse.java:88:42:88:90 | new File(...) : File | provenance | MaD:7 |
|
||||
| InsecureWebResourceResponse.java:88:66:88:68 | uri : Uri | InsecureWebResourceResponse.java:88:66:88:89 | getLastPathSegment(...) : String | provenance | MaD:3 |
|
||||
| InsecureWebResourceResponse.java:88:66:88:89 | getLastPathSegment(...) : String | InsecureWebResourceResponse.java:88:42:88:90 | new File(...) : File | provenance | MaD:6 |
|
||||
| InsecureWebResourceResponse.java:89:55:89:84 | new FileInputStream(...) : FileInputStream | InsecureWebResourceResponse.java:91:75:91:85 | inputStream | provenance | |
|
||||
| InsecureWebResourceResponse.java:89:75:89:83 | cacheFile : File | InsecureWebResourceResponse.java:89:55:89:84 | new FileInputStream(...) : FileInputStream | provenance | MaD:6 |
|
||||
| InsecureWebResourceResponse.java:89:75:89:83 | cacheFile : File | InsecureWebResourceResponse.java:89:55:89:84 | new FileInputStream(...) : FileInputStream | provenance | MaD:7 |
|
||||
| InsecureWebResourceResponse.java:101:20:101:22 | url : String | InsecureWebResourceResponse.java:63:77:63:86 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebResourceResponse.java:101:20:101:22 | url : String | InsecureWebResourceResponse.java:84:77:84:86 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebResourceResponse.java:101:20:101:22 | url : String | InsecureWebResourceResponse.java:110:77:110:86 | url : String | provenance | AdditionalTaintStep |
|
||||
@@ -52,13 +52,13 @@ edges
|
||||
| InsecureWebResourceResponse.java:106:34:106:43 | url : String | InsecureWebResourceResponse.java:127:20:127:22 | url : String | provenance | |
|
||||
| InsecureWebResourceResponse.java:110:77:110:86 | url : String | InsecureWebResourceResponse.java:112:41:112:43 | url : String | provenance | |
|
||||
| InsecureWebResourceResponse.java:112:31:112:44 | parse(...) : Uri | InsecureWebResourceResponse.java:113:35:113:37 | uri : Uri | provenance | |
|
||||
| InsecureWebResourceResponse.java:112:41:112:43 | url : String | InsecureWebResourceResponse.java:112:31:112:44 | parse(...) : Uri | provenance | MaD:4 |
|
||||
| InsecureWebResourceResponse.java:113:35:113:37 | uri : Uri | InsecureWebResourceResponse.java:113:35:113:47 | getPath(...) : String | provenance | MaD:3 |
|
||||
| InsecureWebResourceResponse.java:112:41:112:43 | url : String | InsecureWebResourceResponse.java:112:31:112:44 | parse(...) : Uri | provenance | MaD:2 |
|
||||
| InsecureWebResourceResponse.java:113:35:113:37 | uri : Uri | InsecureWebResourceResponse.java:113:35:113:47 | getPath(...) : String | provenance | MaD:4 |
|
||||
| InsecureWebResourceResponse.java:113:35:113:47 | getPath(...) : String | InsecureWebResourceResponse.java:113:35:113:60 | substring(...) : String | provenance | MaD:8 |
|
||||
| InsecureWebResourceResponse.java:113:35:113:60 | substring(...) : String | InsecureWebResourceResponse.java:115:75:115:78 | path : String | provenance | |
|
||||
| InsecureWebResourceResponse.java:115:55:115:108 | new FileInputStream(...) : FileInputStream | InsecureWebResourceResponse.java:117:75:117:85 | inputStream | provenance | |
|
||||
| InsecureWebResourceResponse.java:115:75:115:78 | path : String | InsecureWebResourceResponse.java:115:75:115:107 | substring(...) : String | provenance | MaD:8 |
|
||||
| InsecureWebResourceResponse.java:115:75:115:107 | substring(...) : String | InsecureWebResourceResponse.java:115:55:115:108 | new FileInputStream(...) : FileInputStream | provenance | MaD:6 |
|
||||
| InsecureWebResourceResponse.java:115:75:115:107 | substring(...) : String | InsecureWebResourceResponse.java:115:55:115:108 | new FileInputStream(...) : FileInputStream | provenance | MaD:7 |
|
||||
| InsecureWebResourceResponse.java:127:20:127:22 | url : String | InsecureWebResourceResponse.java:63:77:63:86 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebResourceResponse.java:127:20:127:22 | url : String | InsecureWebResourceResponse.java:84:77:84:86 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebResourceResponse.java:127:20:127:22 | url : String | InsecureWebResourceResponse.java:110:77:110:86 | url : String | provenance | AdditionalTaintStep |
|
||||
@@ -87,10 +87,10 @@ edges
|
||||
| InsecureWebResourceResponse.java:194:31:194:37 | request : WebResourceRequest | InsecureWebResourceResponse.java:194:31:194:46 | getUrl(...) : Uri | provenance | MaD:5 |
|
||||
| InsecureWebResourceResponse.java:194:31:194:46 | getUrl(...) : Uri | InsecureWebResourceResponse.java:196:66:196:68 | uri : Uri | provenance | |
|
||||
| InsecureWebResourceResponse.java:196:42:196:90 | new File(...) : File | InsecureWebResourceResponse.java:197:75:197:83 | cacheFile : File | provenance | |
|
||||
| InsecureWebResourceResponse.java:196:66:196:68 | uri : Uri | InsecureWebResourceResponse.java:196:66:196:89 | getLastPathSegment(...) : String | provenance | MaD:2 |
|
||||
| InsecureWebResourceResponse.java:196:66:196:89 | getLastPathSegment(...) : String | InsecureWebResourceResponse.java:196:42:196:90 | new File(...) : File | provenance | MaD:7 |
|
||||
| InsecureWebResourceResponse.java:196:66:196:68 | uri : Uri | InsecureWebResourceResponse.java:196:66:196:89 | getLastPathSegment(...) : String | provenance | MaD:3 |
|
||||
| InsecureWebResourceResponse.java:196:66:196:89 | getLastPathSegment(...) : String | InsecureWebResourceResponse.java:196:42:196:90 | new File(...) : File | provenance | MaD:6 |
|
||||
| InsecureWebResourceResponse.java:197:55:197:84 | new FileInputStream(...) : FileInputStream | InsecureWebResourceResponse.java:199:75:199:85 | inputStream | provenance | |
|
||||
| InsecureWebResourceResponse.java:197:75:197:83 | cacheFile : File | InsecureWebResourceResponse.java:197:55:197:84 | new FileInputStream(...) : FileInputStream | provenance | MaD:6 |
|
||||
| InsecureWebResourceResponse.java:197:75:197:83 | cacheFile : File | InsecureWebResourceResponse.java:197:55:197:84 | new FileInputStream(...) : FileInputStream | provenance | MaD:7 |
|
||||
| InsecureWebResourceResponse.java:209:20:209:22 | url : String | InsecureWebResourceResponse.java:63:77:63:86 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebResourceResponse.java:209:20:209:22 | url : String | InsecureWebResourceResponse.java:84:77:84:86 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebResourceResponse.java:209:20:209:22 | url : String | InsecureWebResourceResponse.java:110:77:110:86 | url : String | provenance | AdditionalTaintStep |
|
||||
@@ -104,10 +104,10 @@ edges
|
||||
| InsecureWebResourceResponse.java:226:20:226:22 | url : String | InsecureWebResourceResponse.java:232:69:232:78 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebResourceResponse.java:232:69:232:78 | url : String | InsecureWebResourceResponse.java:234:33:234:35 | url : String | provenance | |
|
||||
| InsecureWebResourceResponse.java:234:23:234:36 | parse(...) : Uri | InsecureWebResourceResponse.java:235:63:235:65 | uri : Uri | provenance | |
|
||||
| InsecureWebResourceResponse.java:234:33:234:35 | url : String | InsecureWebResourceResponse.java:234:23:234:36 | parse(...) : Uri | provenance | MaD:4 |
|
||||
| InsecureWebResourceResponse.java:234:33:234:35 | url : String | InsecureWebResourceResponse.java:234:23:234:36 | parse(...) : Uri | provenance | MaD:2 |
|
||||
| InsecureWebResourceResponse.java:235:43:235:76 | new FileInputStream(...) : FileInputStream | InsecureWebResourceResponse.java:237:63:237:73 | inputStream | provenance | |
|
||||
| InsecureWebResourceResponse.java:235:63:235:65 | uri : Uri | InsecureWebResourceResponse.java:235:63:235:75 | getPath(...) : String | provenance | MaD:3 |
|
||||
| InsecureWebResourceResponse.java:235:63:235:75 | getPath(...) : String | InsecureWebResourceResponse.java:235:43:235:76 | new FileInputStream(...) : FileInputStream | provenance | MaD:6 |
|
||||
| InsecureWebResourceResponse.java:235:63:235:65 | uri : Uri | InsecureWebResourceResponse.java:235:63:235:75 | getPath(...) : String | provenance | MaD:4 |
|
||||
| InsecureWebResourceResponse.java:235:63:235:75 | getPath(...) : String | InsecureWebResourceResponse.java:235:43:235:76 | new FileInputStream(...) : FileInputStream | provenance | MaD:7 |
|
||||
| InsecureWebViewActivity.java:27:27:27:37 | getIntent(...) : Intent | InsecureWebViewActivity.java:27:27:27:64 | getStringExtra(...) : String | provenance | MaD:1 |
|
||||
| InsecureWebViewActivity.java:27:27:27:64 | getStringExtra(...) : String | InsecureWebViewActivity.java:28:20:28:27 | inputUrl : String | provenance | |
|
||||
| InsecureWebViewActivity.java:28:20:28:27 | inputUrl : String | InsecureWebViewActivity.java:42:28:42:37 | url : String | provenance | |
|
||||
@@ -115,18 +115,18 @@ edges
|
||||
| InsecureWebViewActivity.java:43:25:43:27 | url : String | InsecureWebViewActivity.java:53:77:53:86 | url : String | provenance | AdditionalTaintStep |
|
||||
| InsecureWebViewActivity.java:53:77:53:86 | url : String | InsecureWebViewActivity.java:55:41:55:43 | url : String | provenance | |
|
||||
| InsecureWebViewActivity.java:55:31:55:44 | parse(...) : Uri | InsecureWebViewActivity.java:56:71:56:73 | uri : Uri | provenance | |
|
||||
| InsecureWebViewActivity.java:55:41:55:43 | url : String | InsecureWebViewActivity.java:55:31:55:44 | parse(...) : Uri | provenance | MaD:4 |
|
||||
| InsecureWebViewActivity.java:55:41:55:43 | url : String | InsecureWebViewActivity.java:55:31:55:44 | parse(...) : Uri | provenance | MaD:2 |
|
||||
| InsecureWebViewActivity.java:56:51:56:84 | new FileInputStream(...) : FileInputStream | InsecureWebViewActivity.java:58:71:58:81 | inputStream | provenance | |
|
||||
| InsecureWebViewActivity.java:56:71:56:73 | uri : Uri | InsecureWebViewActivity.java:56:71:56:83 | getPath(...) : String | provenance | MaD:3 |
|
||||
| InsecureWebViewActivity.java:56:71:56:83 | getPath(...) : String | InsecureWebViewActivity.java:56:51:56:84 | new FileInputStream(...) : FileInputStream | provenance | MaD:6 |
|
||||
| InsecureWebViewActivity.java:56:71:56:73 | uri : Uri | InsecureWebViewActivity.java:56:71:56:83 | getPath(...) : String | provenance | MaD:4 |
|
||||
| InsecureWebViewActivity.java:56:71:56:83 | getPath(...) : String | InsecureWebViewActivity.java:56:51:56:84 | new FileInputStream(...) : FileInputStream | provenance | MaD:7 |
|
||||
models
|
||||
| 1 | Summary: android.content; Intent; true; getStringExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual |
|
||||
| 2 | Summary: android.net; Uri; true; getLastPathSegment; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: android.net; Uri; true; getPath; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: android.net; Uri; false; parse; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: android.net; Uri; false; parse; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: android.net; Uri; true; getLastPathSegment; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: android.net; Uri; true; getPath; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: android.webkit; WebResourceRequest; false; getUrl; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: java.io; FileInputStream; true; FileInputStream; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 7 | Summary: java.io; File; false; File; ; ; Argument[1]; Argument[this]; taint; manual |
|
||||
| 6 | Summary: java.io; File; false; File; ; ; Argument[1]; Argument[this]; taint; manual |
|
||||
| 7 | Summary: java.io; FileInputStream; true; FileInputStream; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 8 | Summary: java.lang; String; false; substring; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| InsecureWebResourceResponse.java:28:27:28:37 | getIntent(...) : Intent | semmle.label | getIntent(...) : Intent |
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
| LeakFileActivity.java:21:58:21:82 | getPath(...) | LeakFileActivity.java:14:35:14:38 | data : Intent | LeakFileActivity.java:21:58:21:82 | getPath(...) | Leaking arbitrary Android file from $@. | LeakFileActivity.java:14:35:14:38 | data | this user input |
|
||||
edges
|
||||
| FileService.java:20:31:20:43 | intent : Intent | FileService.java:21:28:21:33 | intent : Intent | provenance | |
|
||||
| FileService.java:21:28:21:33 | intent : Intent | FileService.java:21:28:21:64 | getStringExtra(...) : String | provenance | MaD:2 |
|
||||
| FileService.java:21:28:21:33 | intent : Intent | FileService.java:21:28:21:64 | getStringExtra(...) : String | provenance | MaD:4 |
|
||||
| FileService.java:21:28:21:64 | getStringExtra(...) : String | FileService.java:25:42:25:50 | localPath : String | provenance | |
|
||||
| FileService.java:25:13:25:51 | makeParamsToExecute(...) : Object[] [[]] : String | FileService.java:40:41:40:55 | params : Object[] | provenance | Config |
|
||||
| FileService.java:25:42:25:50 | localPath : String | FileService.java:25:13:25:51 | makeParamsToExecute(...) : Object[] [[]] : String | provenance | |
|
||||
@@ -13,21 +13,21 @@ edges
|
||||
| FileService.java:34:20:36:13 | {...} : Object[] [[]] : String | FileService.java:34:20:36:13 | new Object[] : Object[] [[]] : String | provenance | |
|
||||
| FileService.java:35:17:35:25 | sourceUri : String | FileService.java:34:20:36:13 | {...} : Object[] [[]] : String | provenance | |
|
||||
| FileService.java:40:41:40:55 | params : Object[] | FileService.java:44:33:44:52 | (...)... : String[] | provenance | |
|
||||
| FileService.java:44:33:44:52 | (...)... : String[] | FileService.java:45:53:45:59 | ...[...] | provenance | Sink:MaD:4 |
|
||||
| FileService.java:44:33:44:52 | (...)... : String[] | FileService.java:45:53:45:59 | ...[...] | provenance | Sink:MaD:1 |
|
||||
| LeakFileActivity2.java:15:13:15:18 | intent : Intent | LeakFileActivity2.java:16:26:16:31 | intent : Intent | provenance | |
|
||||
| LeakFileActivity2.java:16:26:16:31 | intent : Intent | FileService.java:20:31:20:43 | intent : Intent | provenance | |
|
||||
| LeakFileActivity2.java:16:26:16:31 | intent : Intent | FileService.java:20:31:20:43 | intent : Intent | provenance | Config |
|
||||
| LeakFileActivity.java:14:35:14:38 | data : Intent | LeakFileActivity.java:18:40:18:59 | contentIntent : Intent | provenance | |
|
||||
| LeakFileActivity.java:18:40:18:59 | contentIntent : Intent | LeakFileActivity.java:19:31:19:43 | contentIntent : Intent | provenance | |
|
||||
| LeakFileActivity.java:19:31:19:43 | contentIntent : Intent | LeakFileActivity.java:19:31:19:53 | getData(...) : Uri | provenance | MaD:1 |
|
||||
| LeakFileActivity.java:19:31:19:43 | contentIntent : Intent | LeakFileActivity.java:19:31:19:53 | getData(...) : Uri | provenance | MaD:3 |
|
||||
| LeakFileActivity.java:19:31:19:53 | getData(...) : Uri | LeakFileActivity.java:21:58:21:72 | streamsToUpload : Uri | provenance | |
|
||||
| LeakFileActivity.java:21:58:21:72 | streamsToUpload : Uri | LeakFileActivity.java:21:58:21:82 | getPath(...) | provenance | MaD:3 Sink:MaD:5 |
|
||||
| LeakFileActivity.java:21:58:21:72 | streamsToUpload : Uri | LeakFileActivity.java:21:58:21:82 | getPath(...) | provenance | MaD:5 Sink:MaD:2 |
|
||||
models
|
||||
| 1 | Summary: android.content; Intent; true; getData; ; ; Argument[this].SyntheticField[android.content.Intent.data]; ReturnValue; value; manual |
|
||||
| 2 | Summary: android.content; Intent; true; getStringExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual |
|
||||
| 3 | Summary: android.net; Uri; true; getPath; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 4 | Sink: java.io; FileOutputStream; false; FileOutputStream; ; ; Argument[0]; path-injection; manual |
|
||||
| 5 | Sink: java.io; RandomAccessFile; false; RandomAccessFile; ; ; Argument[0]; path-injection; manual |
|
||||
| 1 | Sink: java.io; FileOutputStream; false; FileOutputStream; ; ; Argument[0]; path-injection; manual |
|
||||
| 2 | Sink: java.io; RandomAccessFile; false; RandomAccessFile; ; ; Argument[0]; path-injection; manual |
|
||||
| 3 | Summary: android.content; Intent; true; getData; ; ; Argument[this].SyntheticField[android.content.Intent.data]; ReturnValue; value; manual |
|
||||
| 4 | Summary: android.content; Intent; true; getStringExtra; (String); ; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; ReturnValue; value; manual |
|
||||
| 5 | Summary: android.net; Uri; true; getPath; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| FileService.java:20:31:20:43 | intent : Intent | semmle.label | intent : Intent |
|
||||
| FileService.java:21:28:21:33 | intent : Intent | semmle.label | intent : Intent |
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#select
|
||||
| UnvalidatedCors.java:27:67:27:69 | url | UnvalidatedCors.java:21:22:21:48 | getHeader(...) : String | UnvalidatedCors.java:27:67:27:69 | url | CORS header is being set using user controlled value $@. | UnvalidatedCors.java:21:22:21:48 | getHeader(...) | user-provided value |
|
||||
edges
|
||||
| UnvalidatedCors.java:21:22:21:48 | getHeader(...) : String | UnvalidatedCors.java:27:67:27:69 | url | provenance | Src:MaD:1 Sink:MaD:2 |
|
||||
| UnvalidatedCors.java:21:22:21:48 | getHeader(...) : String | UnvalidatedCors.java:27:67:27:69 | url | provenance | Src:MaD:2 Sink:MaD:1 |
|
||||
models
|
||||
| 1 | Source: javax.servlet.http; HttpServletRequest; false; getHeader; (String); ; ReturnValue; remote; manual |
|
||||
| 2 | Sink: javax.servlet.http; HttpServletResponse; false; addHeader; ; ; Argument[0..1]; response-splitting; manual |
|
||||
| 1 | Sink: javax.servlet.http; HttpServletResponse; false; addHeader; ; ; Argument[0..1]; response-splitting; manual |
|
||||
| 2 | Source: javax.servlet.http; HttpServletRequest; false; getHeader; (String); ; ReturnValue; remote; manual |
|
||||
nodes
|
||||
| UnvalidatedCors.java:21:22:21:48 | getHeader(...) : String | semmle.label | getHeader(...) : String |
|
||||
| UnvalidatedCors.java:27:67:27:69 | url | semmle.label | url |
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
| JwtNoVerifier.java:91:45:91:69 | getClaim(...) | JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:44:28:44:55 | getParameter(...) | JWT |
|
||||
| JwtNoVerifier.java:91:45:91:69 | getClaim(...) | JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | This parses a $@, but the signature is not verified. | JwtNoVerifier.java:58:37:58:62 | getCredentials(...) | JWT |
|
||||
edges
|
||||
| JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | provenance | Src:MaD:4 |
|
||||
| JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | provenance | Src:MaD:1 |
|
||||
| JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | JwtNoVerifier.java:89:38:89:55 | token : String | provenance | |
|
||||
| JwtNoVerifier.java:58:28:58:62 | (...)... : String | JwtNoVerifier.java:59:32:59:40 | JwtToken3 : String | provenance | |
|
||||
| JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | JwtNoVerifier.java:58:28:58:62 | (...)... : String | provenance | Src:MaD:1 |
|
||||
| JwtNoVerifier.java:58:37:58:62 | getCredentials(...) : Object | JwtNoVerifier.java:58:28:58:62 | (...)... : String | provenance | Src:MaD:2 |
|
||||
| JwtNoVerifier.java:59:32:59:40 | JwtToken3 : String | JwtNoVerifier.java:89:38:89:55 | token : String | provenance | |
|
||||
| JwtNoVerifier.java:89:38:89:55 | token : String | JwtNoVerifier.java:90:37:90:41 | token : String | provenance | |
|
||||
| JwtNoVerifier.java:90:26:90:42 | decode(...) : DecodedJWT | JwtNoVerifier.java:91:28:91:30 | jwt : DecodedJWT | provenance | |
|
||||
| JwtNoVerifier.java:90:37:90:41 | token : String | JwtNoVerifier.java:90:26:90:42 | decode(...) : DecodedJWT | provenance | Config |
|
||||
| JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [<element>] : DecodedJWT | JwtNoVerifier.java:91:37:91:40 | item : DecodedJWT | provenance | MaD:2 |
|
||||
| JwtNoVerifier.java:91:28:91:30 | jwt : DecodedJWT | JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [<element>] : DecodedJWT | provenance | MaD:3 |
|
||||
| JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [<element>] : DecodedJWT | JwtNoVerifier.java:91:37:91:40 | item : DecodedJWT | provenance | MaD:3 |
|
||||
| JwtNoVerifier.java:91:28:91:30 | jwt : DecodedJWT | JwtNoVerifier.java:91:16:91:31 | of(...) : Optional [<element>] : DecodedJWT | provenance | MaD:4 |
|
||||
| JwtNoVerifier.java:91:37:91:40 | item : DecodedJWT | JwtNoVerifier.java:91:45:91:48 | item : DecodedJWT | provenance | |
|
||||
| JwtNoVerifier.java:91:45:91:48 | item : DecodedJWT | JwtNoVerifier.java:91:45:91:69 | getClaim(...) | provenance | Config |
|
||||
models
|
||||
| 1 | Source: org.apache.shiro.authc; AuthenticationToken; true; getCredentials; (); ; ReturnValue; remote; manual |
|
||||
| 2 | Summary: java.util; Optional; false; map; ; ; Argument[this].Element; Argument[0].Parameter[0]; value; manual |
|
||||
| 3 | Summary: java.util; Optional; false; of; ; ; Argument[0]; ReturnValue.Element; value; manual |
|
||||
| 4 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 1 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 2 | Source: org.apache.shiro.authc; AuthenticationToken; true; getCredentials; (); ; ReturnValue; remote; manual |
|
||||
| 3 | Summary: java.util; Optional; false; map; ; ; Argument[this].Element; Argument[0].Parameter[0]; value; manual |
|
||||
| 4 | Summary: java.util; Optional; false; of; ; ; Argument[0]; ReturnValue.Element; value; manual |
|
||||
nodes
|
||||
| JwtNoVerifier.java:44:28:44:55 | getParameter(...) : String | semmle.label | getParameter(...) : String |
|
||||
| JwtNoVerifier.java:45:39:45:47 | JwtToken1 : String | semmle.label | JwtToken1 : String |
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
edges
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:16:21:16:33 | getClientIP(...) : String | ClientSuppliedIpUsedInSecurityCheck.java:17:37:17:38 | ip | provenance | |
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:24:21:24:33 | getClientIP(...) : String | ClientSuppliedIpUsedInSecurityCheck.java:25:33:25:34 | ip | provenance | |
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:43:27:43:62 | getHeader(...) : String | ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:23 | xfHeader : String | provenance | Src:MaD:2 |
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:23 | xfHeader : String | ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:34 | split(...) : String[] | provenance | MaD:1 |
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:43:27:43:62 | getHeader(...) : String | ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:23 | xfHeader : String | provenance | Src:MaD:1 |
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:23 | xfHeader : String | ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:34 | split(...) : String[] | provenance | MaD:2 |
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:34 | split(...) : String[] | ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:37 | ...[...] : String | provenance | |
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:37 | ...[...] : String | ClientSuppliedIpUsedInSecurityCheck.java:16:21:16:33 | getClientIP(...) : String | provenance | |
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:47:16:47:37 | ...[...] : String | ClientSuppliedIpUsedInSecurityCheck.java:24:21:24:33 | getClientIP(...) : String | provenance | |
|
||||
models
|
||||
| 1 | Summary: java.lang; String; false; split; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 2 | Source: javax.servlet.http; HttpServletRequest; false; getHeader; (String); ; ReturnValue; remote; manual |
|
||||
| 1 | Source: javax.servlet.http; HttpServletRequest; false; getHeader; (String); ; ReturnValue; remote; manual |
|
||||
| 2 | Summary: java.lang; String; false; split; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:16:21:16:33 | getClientIP(...) : String | semmle.label | getClientIP(...) : String |
|
||||
| ClientSuppliedIpUsedInSecurityCheck.java:17:37:17:38 | ip | semmle.label | ip |
|
||||
|
||||
@@ -3,14 +3,14 @@
|
||||
| UnsafeReflection.java:39:13:39:41 | ...[...] | UnsafeReflection.java:33:28:33:60 | getParameter(...) : String | UnsafeReflection.java:39:13:39:41 | ...[...] | Unsafe reflection of $@. | UnsafeReflection.java:33:28:33:60 | getParameter(...) | user input |
|
||||
| UnsafeReflection.java:119:21:119:26 | method | UnsafeReflection.java:46:24:46:82 | beanIdOrClassName : String | UnsafeReflection.java:119:21:119:26 | method | Unsafe reflection of $@. | UnsafeReflection.java:46:24:46:82 | beanIdOrClassName | user input |
|
||||
edges
|
||||
| UnsafeReflection.java:21:28:21:60 | getParameter(...) : String | UnsafeReflection.java:24:41:24:49 | className : String | provenance | Src:MaD:2 |
|
||||
| UnsafeReflection.java:22:33:22:70 | getParameter(...) : String | UnsafeReflection.java:25:76:25:89 | parameterValue | provenance | Src:MaD:2 |
|
||||
| UnsafeReflection.java:21:28:21:60 | getParameter(...) : String | UnsafeReflection.java:24:41:24:49 | className : String | provenance | Src:MaD:1 |
|
||||
| UnsafeReflection.java:22:33:22:70 | getParameter(...) : String | UnsafeReflection.java:25:76:25:89 | parameterValue | provenance | Src:MaD:1 |
|
||||
| UnsafeReflection.java:24:27:24:50 | forName(...) : Class | UnsafeReflection.java:25:29:25:33 | clazz : Class | provenance | |
|
||||
| UnsafeReflection.java:24:41:24:49 | className : String | UnsafeReflection.java:24:27:24:50 | forName(...) : Class | provenance | Config |
|
||||
| UnsafeReflection.java:25:29:25:33 | clazz : Class | UnsafeReflection.java:25:29:25:59 | getDeclaredConstructors(...) : Constructor[] | provenance | Config |
|
||||
| UnsafeReflection.java:25:29:25:59 | getDeclaredConstructors(...) : Constructor[] | UnsafeReflection.java:25:29:25:62 | ...[...] | provenance | |
|
||||
| UnsafeReflection.java:33:28:33:60 | getParameter(...) : String | UnsafeReflection.java:37:49:37:57 | className : String | provenance | Src:MaD:2 |
|
||||
| UnsafeReflection.java:34:33:34:70 | getParameter(...) : String | UnsafeReflection.java:39:58:39:71 | parameterValue | provenance | Src:MaD:2 |
|
||||
| UnsafeReflection.java:33:28:33:60 | getParameter(...) : String | UnsafeReflection.java:37:49:37:57 | className : String | provenance | Src:MaD:1 |
|
||||
| UnsafeReflection.java:34:33:34:70 | getParameter(...) : String | UnsafeReflection.java:39:58:39:71 | parameterValue | provenance | Src:MaD:1 |
|
||||
| UnsafeReflection.java:37:27:37:58 | loadClass(...) : Class | UnsafeReflection.java:38:29:38:33 | clazz : Class | provenance | |
|
||||
| UnsafeReflection.java:37:49:37:57 | className : String | UnsafeReflection.java:37:27:37:58 | loadClass(...) : Class | provenance | Config |
|
||||
| UnsafeReflection.java:38:29:38:33 | clazz : Class | UnsafeReflection.java:38:29:38:47 | newInstance(...) : Object | provenance | Config |
|
||||
@@ -21,13 +21,13 @@ edges
|
||||
| UnsafeReflection.java:46:24:46:82 | beanIdOrClassName : String | UnsafeReflection.java:53:30:53:46 | beanIdOrClassName : String | provenance | |
|
||||
| UnsafeReflection.java:46:132:46:168 | body : Map | UnsafeReflection.java:49:37:49:40 | body : Map | provenance | |
|
||||
| UnsafeReflection.java:49:23:49:59 | (...)... : List | UnsafeReflection.java:53:67:53:73 | rawData : List | provenance | |
|
||||
| UnsafeReflection.java:49:37:49:40 | body : Map | UnsafeReflection.java:49:37:49:59 | get(...) : Object | provenance | MaD:1 |
|
||||
| UnsafeReflection.java:49:37:49:40 | body : Map | UnsafeReflection.java:49:37:49:59 | get(...) : Object | provenance | MaD:2 |
|
||||
| UnsafeReflection.java:49:37:49:59 | get(...) : Object | UnsafeReflection.java:49:23:49:59 | (...)... : List | provenance | |
|
||||
| UnsafeReflection.java:53:30:53:46 | beanIdOrClassName : String | UnsafeReflection.java:104:34:104:57 | beanIdOrClassName : String | provenance | |
|
||||
| UnsafeReflection.java:53:67:53:73 | rawData : List | UnsafeReflection.java:104:102:104:118 | data : List | provenance | |
|
||||
| UnsafeReflection.java:62:33:62:70 | getParameter(...) : String | UnsafeReflection.java:68:76:68:89 | parameterValue | provenance | Src:MaD:2 |
|
||||
| UnsafeReflection.java:77:33:77:70 | getParameter(...) : String | UnsafeReflection.java:83:76:83:89 | parameterValue | provenance | Src:MaD:2 |
|
||||
| UnsafeReflection.java:92:33:92:70 | getParameter(...) : String | UnsafeReflection.java:98:76:98:89 | parameterValue | provenance | Src:MaD:2 |
|
||||
| UnsafeReflection.java:62:33:62:70 | getParameter(...) : String | UnsafeReflection.java:68:76:68:89 | parameterValue | provenance | Src:MaD:1 |
|
||||
| UnsafeReflection.java:77:33:77:70 | getParameter(...) : String | UnsafeReflection.java:83:76:83:89 | parameterValue | provenance | Src:MaD:1 |
|
||||
| UnsafeReflection.java:92:33:92:70 | getParameter(...) : String | UnsafeReflection.java:98:76:98:89 | parameterValue | provenance | Src:MaD:1 |
|
||||
| UnsafeReflection.java:104:34:104:57 | beanIdOrClassName : String | UnsafeReflection.java:108:39:108:55 | beanIdOrClassName : String | provenance | |
|
||||
| UnsafeReflection.java:104:102:104:118 | data : List | UnsafeReflection.java:119:41:119:44 | data | provenance | |
|
||||
| UnsafeReflection.java:108:25:108:56 | forName(...) : Class | UnsafeReflection.java:109:31:109:39 | beanClass : Class | provenance | |
|
||||
@@ -39,8 +39,8 @@ edges
|
||||
| UnsafeReflection.java:113:30:113:44 | getClass(...) : Class | UnsafeReflection.java:113:30:113:57 | getMethods(...) : Method[] | provenance | Config |
|
||||
| UnsafeReflection.java:113:30:113:57 | getMethods(...) : Method[] | UnsafeReflection.java:119:21:119:26 | method | provenance | |
|
||||
models
|
||||
| 1 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 2 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 1 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 2 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
nodes
|
||||
| UnsafeReflection.java:21:28:21:60 | getParameter(...) : String | semmle.label | getParameter(...) : String |
|
||||
| UnsafeReflection.java:22:33:22:70 | getParameter(...) : String | semmle.label | getParameter(...) : String |
|
||||
|
||||
@@ -6,25 +6,25 @@
|
||||
| SensitiveGetQuery.java:14:29:14:36 | password | SensitiveGetQuery.java:12:21:12:52 | getParameter(...) : String | SensitiveGetQuery.java:14:29:14:36 | password | $@ uses the GET request method to transmit sensitive information. | SensitiveGetQuery.java:12:21:12:52 | getParameter(...) | This request |
|
||||
| SensitiveGetQuery.java:18:61:18:68 | password | SensitiveGetQuery.java:12:21:12:52 | getParameter(...) : String | SensitiveGetQuery.java:18:61:18:68 | password | $@ uses the GET request method to transmit sensitive information. | SensitiveGetQuery.java:12:21:12:52 | getParameter(...) | This request |
|
||||
edges
|
||||
| SensitiveGetQuery2.java:12:13:12:37 | getParameterMap(...) : Map | SensitiveGetQuery2.java:14:30:14:32 | map : Map | provenance | Src:MaD:3 |
|
||||
| SensitiveGetQuery2.java:12:13:12:37 | getParameterMap(...) : Map | SensitiveGetQuery2.java:14:30:14:32 | map : Map | provenance | Src:MaD:2 |
|
||||
| SensitiveGetQuery2.java:14:21:14:48 | (...)... : String | SensitiveGetQuery2.java:15:29:15:36 | password | provenance | |
|
||||
| SensitiveGetQuery2.java:14:21:14:48 | (...)... : String | SensitiveGetQuery2.java:15:29:15:36 | password : String | provenance | |
|
||||
| SensitiveGetQuery2.java:14:30:14:32 | map : Map | SensitiveGetQuery2.java:14:30:14:48 | get(...) : Object | provenance | MaD:1 |
|
||||
| SensitiveGetQuery2.java:14:30:14:32 | map : Map | SensitiveGetQuery2.java:14:30:14:48 | get(...) : Object | provenance | MaD:3 |
|
||||
| SensitiveGetQuery2.java:14:30:14:48 | get(...) : Object | SensitiveGetQuery2.java:14:21:14:48 | (...)... : String | provenance | |
|
||||
| SensitiveGetQuery2.java:15:29:15:36 | password : String | SensitiveGetQuery2.java:18:40:18:54 | password : String | provenance | |
|
||||
| SensitiveGetQuery2.java:18:40:18:54 | password : String | SensitiveGetQuery2.java:19:61:19:68 | password | provenance | |
|
||||
| SensitiveGetQuery3.java:12:21:12:60 | getRequestParameter(...) : String | SensitiveGetQuery3.java:13:57:13:64 | password | provenance | |
|
||||
| SensitiveGetQuery3.java:17:10:17:40 | getParameter(...) : String | SensitiveGetQuery3.java:12:21:12:60 | getRequestParameter(...) : String | provenance | Src:MaD:2 |
|
||||
| SensitiveGetQuery3.java:17:10:17:40 | getParameter(...) : String | SensitiveGetQuery3.java:12:21:12:60 | getRequestParameter(...) : String | provenance | Src:MaD:1 |
|
||||
| SensitiveGetQuery4.java:14:24:14:66 | getRequestParameter(...) : String | SensitiveGetQuery4.java:16:37:16:47 | accessToken | provenance | |
|
||||
| SensitiveGetQuery4.java:20:10:20:40 | getParameter(...) : String | SensitiveGetQuery4.java:14:24:14:66 | getRequestParameter(...) : String | provenance | Src:MaD:2 |
|
||||
| SensitiveGetQuery.java:12:21:12:52 | getParameter(...) : String | SensitiveGetQuery.java:14:29:14:36 | password | provenance | Src:MaD:2 |
|
||||
| SensitiveGetQuery.java:12:21:12:52 | getParameter(...) : String | SensitiveGetQuery.java:14:29:14:36 | password : String | provenance | Src:MaD:2 |
|
||||
| SensitiveGetQuery4.java:20:10:20:40 | getParameter(...) : String | SensitiveGetQuery4.java:14:24:14:66 | getRequestParameter(...) : String | provenance | Src:MaD:1 |
|
||||
| SensitiveGetQuery.java:12:21:12:52 | getParameter(...) : String | SensitiveGetQuery.java:14:29:14:36 | password | provenance | Src:MaD:1 |
|
||||
| SensitiveGetQuery.java:12:21:12:52 | getParameter(...) : String | SensitiveGetQuery.java:14:29:14:36 | password : String | provenance | Src:MaD:1 |
|
||||
| SensitiveGetQuery.java:14:29:14:36 | password : String | SensitiveGetQuery.java:17:40:17:54 | password : String | provenance | |
|
||||
| SensitiveGetQuery.java:17:40:17:54 | password : String | SensitiveGetQuery.java:18:61:18:68 | password | provenance | |
|
||||
models
|
||||
| 1 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 2 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 3 | Source: javax.servlet; ServletRequest; false; getParameterMap; (); ; ReturnValue; remote; manual |
|
||||
| 1 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 2 | Source: javax.servlet; ServletRequest; false; getParameterMap; (); ; ReturnValue; remote; manual |
|
||||
| 3 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
nodes
|
||||
| SensitiveGetQuery2.java:12:13:12:37 | getParameterMap(...) : Map | semmle.label | getParameterMap(...) : Map |
|
||||
| SensitiveGetQuery2.java:14:21:14:48 | (...)... : String | semmle.label | (...)... : String |
|
||||
|
||||
@@ -7,37 +7,37 @@
|
||||
| DotRegexSpring.java:23:25:23:28 | path | DotRegexSpring.java:20:26:20:50 | path : String | DotRegexSpring.java:23:25:23:28 | path | Potentially authentication bypass due to $@. | DotRegexSpring.java:20:26:20:50 | path | user-provided value |
|
||||
| DotRegexSpring.java:40:25:40:28 | path | DotRegexSpring.java:37:40:37:64 | path : String | DotRegexSpring.java:40:25:40:28 | path | Potentially authentication bypass due to $@. | DotRegexSpring.java:37:40:37:64 | path | user-provided value |
|
||||
edges
|
||||
| DotRegexFilter.java:29:19:29:43 | getPathInfo(...) : String | DotRegexFilter.java:32:25:32:30 | source | provenance | Src:MaD:2 |
|
||||
| DotRegexFilter.java:29:19:29:43 | getPathInfo(...) : String | DotRegexFilter.java:32:25:32:30 | source | provenance | Src:MaD:1 |
|
||||
| DotRegexFilter.java:29:19:29:43 | getPathInfo(...) : String | DotRegexFilter.java:32:25:32:30 | source | provenance | Src:MaD:4 |
|
||||
| DotRegexServlet.java:19:19:19:39 | getPathInfo(...) : String | DotRegexServlet.java:22:25:22:30 | source | provenance | Src:MaD:2 |
|
||||
| DotRegexServlet.java:19:19:19:39 | getPathInfo(...) : String | DotRegexServlet.java:22:25:22:30 | source | provenance | Src:MaD:1 |
|
||||
| DotRegexServlet.java:19:19:19:39 | getPathInfo(...) : String | DotRegexServlet.java:22:25:22:30 | source | provenance | Src:MaD:4 |
|
||||
| DotRegexServlet.java:57:19:57:41 | getRequestURI(...) : String | DotRegexServlet.java:59:21:59:26 | source | provenance | Src:MaD:2 |
|
||||
| DotRegexServlet.java:57:19:57:41 | getRequestURI(...) : String | DotRegexServlet.java:59:21:59:26 | source | provenance | Src:MaD:5 |
|
||||
| DotRegexServlet.java:57:19:57:41 | getRequestURI(...) : String | DotRegexServlet.java:59:21:59:26 | source | provenance | Src:MaD:4 |
|
||||
| DotRegexServlet.java:57:19:57:41 | getRequestURI(...) : String | DotRegexServlet.java:59:21:59:26 | source | provenance | Src:MaD:3 |
|
||||
| DotRegexServlet.java:75:19:75:39 | getPathInfo(...) : String | DotRegexServlet.java:77:56:77:61 | source | provenance | Src:MaD:2 |
|
||||
| DotRegexServlet.java:75:19:75:39 | getPathInfo(...) : String | DotRegexServlet.java:77:56:77:61 | source | provenance | Src:MaD:1 |
|
||||
| DotRegexServlet.java:75:19:75:39 | getPathInfo(...) : String | DotRegexServlet.java:77:56:77:61 | source | provenance | Src:MaD:4 |
|
||||
| DotRegexServlet.java:112:19:112:39 | getPathInfo(...) : String | DotRegexServlet.java:115:25:115:30 | source | provenance | Src:MaD:2 |
|
||||
| DotRegexServlet.java:112:19:112:39 | getPathInfo(...) : String | DotRegexServlet.java:115:25:115:30 | source | provenance | Src:MaD:1 |
|
||||
| DotRegexServlet.java:112:19:112:39 | getPathInfo(...) : String | DotRegexServlet.java:115:25:115:30 | source | provenance | Src:MaD:4 |
|
||||
| DotRegexSpring.java:20:26:20:50 | path : String | DotRegexSpring.java:22:21:22:24 | path : String | provenance | |
|
||||
| DotRegexSpring.java:22:10:22:25 | decodePath(...) : String | DotRegexSpring.java:23:25:23:28 | path | provenance | |
|
||||
| DotRegexSpring.java:22:21:22:24 | path : String | DotRegexSpring.java:22:10:22:25 | decodePath(...) : String | provenance | |
|
||||
| DotRegexSpring.java:22:21:22:24 | path : String | DotRegexSpring.java:22:10:22:25 | decodePath(...) : String | provenance | MaD:3 |
|
||||
| DotRegexSpring.java:22:21:22:24 | path : String | DotRegexSpring.java:22:10:22:25 | decodePath(...) : String | provenance | MaD:5 |
|
||||
| DotRegexSpring.java:22:21:22:24 | path : String | DotRegexSpring.java:69:28:69:38 | path : String | provenance | |
|
||||
| DotRegexSpring.java:37:40:37:64 | path : String | DotRegexSpring.java:39:21:39:24 | path : String | provenance | |
|
||||
| DotRegexSpring.java:39:10:39:25 | decodePath(...) : String | DotRegexSpring.java:40:25:40:28 | path | provenance | |
|
||||
| DotRegexSpring.java:39:21:39:24 | path : String | DotRegexSpring.java:39:10:39:25 | decodePath(...) : String | provenance | |
|
||||
| DotRegexSpring.java:39:21:39:24 | path : String | DotRegexSpring.java:39:10:39:25 | decodePath(...) : String | provenance | MaD:3 |
|
||||
| DotRegexSpring.java:39:21:39:24 | path : String | DotRegexSpring.java:39:10:39:25 | decodePath(...) : String | provenance | MaD:5 |
|
||||
| DotRegexSpring.java:39:21:39:24 | path : String | DotRegexSpring.java:69:28:69:38 | path : String | provenance | |
|
||||
| DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:71:29:71:32 | path : String | provenance | |
|
||||
| DotRegexSpring.java:69:28:69:38 | path : String | DotRegexSpring.java:73:10:73:13 | path : String | provenance | |
|
||||
| DotRegexSpring.java:71:11:71:42 | decode(...) : String | DotRegexSpring.java:71:29:71:32 | path : String | provenance | |
|
||||
| DotRegexSpring.java:71:11:71:42 | decode(...) : String | DotRegexSpring.java:73:10:73:13 | path : String | provenance | |
|
||||
| DotRegexSpring.java:71:29:71:32 | path : String | DotRegexSpring.java:71:11:71:42 | decode(...) : String | provenance | MaD:3 |
|
||||
| DotRegexSpring.java:71:29:71:32 | path : String | DotRegexSpring.java:71:11:71:42 | decode(...) : String | provenance | MaD:5 |
|
||||
models
|
||||
| 1 | Source: javax.servlet.http; HttpServletRequest; false; getPathInfo; (); ; ReturnValue; uri-path; manual |
|
||||
| 2 | Source: javax.servlet.http; HttpServletRequest; false; getRequestURI; (); ; ReturnValue; uri-path; manual |
|
||||
| 3 | Summary: java.net; URLDecoder; false; decode; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 4 | Source: javax.servlet.http; HttpServletRequest; false; getPathInfo; (); ; ReturnValue; remote; manual |
|
||||
| 5 | Source: javax.servlet.http; HttpServletRequest; false; getRequestURI; (); ; ReturnValue; remote; manual |
|
||||
| 1 | Source: javax.servlet.http; HttpServletRequest; false; getPathInfo; (); ; ReturnValue; remote; manual |
|
||||
| 2 | Source: javax.servlet.http; HttpServletRequest; false; getPathInfo; (); ; ReturnValue; uri-path; manual |
|
||||
| 3 | Source: javax.servlet.http; HttpServletRequest; false; getRequestURI; (); ; ReturnValue; remote; manual |
|
||||
| 4 | Source: javax.servlet.http; HttpServletRequest; false; getRequestURI; (); ; ReturnValue; uri-path; manual |
|
||||
| 5 | Summary: java.net; URLDecoder; false; decode; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
nodes
|
||||
| DotRegexFilter.java:29:19:29:43 | getPathInfo(...) : String | semmle.label | getPathInfo(...) : String |
|
||||
| DotRegexFilter.java:32:25:32:30 | source | semmle.label | source |
|
||||
|
||||
@@ -10,38 +10,38 @@
|
||||
| XQueryInjection.java:155:29:155:32 | name | XQueryInjection.java:150:23:150:50 | getParameter(...) : String | XQueryInjection.java:155:29:155:32 | name | XQuery query might include code from $@. | XQueryInjection.java:150:23:150:50 | getParameter(...) | this user input |
|
||||
| XQueryInjection.java:159:29:159:30 | br | XQueryInjection.java:157:26:157:49 | getInputStream(...) : ServletInputStream | XQueryInjection.java:159:29:159:30 | br | XQuery query might include code from $@. | XQueryInjection.java:157:26:157:49 | getInputStream(...) | this user input |
|
||||
edges
|
||||
| XQueryInjection.java:45:23:45:50 | getParameter(...) : String | XQueryInjection.java:50:60:50:64 | query : String | provenance | Src:MaD:4 |
|
||||
| XQueryInjection.java:45:23:45:50 | getParameter(...) : String | XQueryInjection.java:50:60:50:64 | query : String | provenance | Src:MaD:2 |
|
||||
| XQueryInjection.java:50:37:50:65 | prepareExpression(...) : XQPreparedExpression | XQueryInjection.java:51:35:51:38 | xqpe | provenance | |
|
||||
| XQueryInjection.java:50:60:50:64 | query : String | XQueryInjection.java:50:37:50:65 | prepareExpression(...) : XQPreparedExpression | provenance | Config |
|
||||
| XQueryInjection.java:59:23:59:50 | getParameter(...) : String | XQueryInjection.java:65:53:65:57 | query | provenance | Src:MaD:4 |
|
||||
| XQueryInjection.java:59:23:59:50 | getParameter(...) : String | XQueryInjection.java:65:53:65:57 | query | provenance | Src:MaD:2 |
|
||||
| XQueryInjection.java:73:32:73:59 | nameStr : String | XQueryInjection.java:78:60:78:64 | query : String | provenance | |
|
||||
| XQueryInjection.java:78:37:78:65 | prepareExpression(...) : XQPreparedExpression | XQueryInjection.java:79:35:79:38 | xqpe | provenance | |
|
||||
| XQueryInjection.java:78:60:78:64 | query : String | XQueryInjection.java:78:37:78:65 | prepareExpression(...) : XQPreparedExpression | provenance | Config |
|
||||
| XQueryInjection.java:86:33:86:60 | nameStr : String | XQueryInjection.java:92:53:92:57 | query | provenance | |
|
||||
| XQueryInjection.java:100:28:100:51 | getInputStream(...) : ServletInputStream | XQueryInjection.java:103:60:103:63 | name : ServletInputStream | provenance | Src:MaD:3 |
|
||||
| XQueryInjection.java:100:28:100:51 | getInputStream(...) : ServletInputStream | XQueryInjection.java:103:60:103:63 | name : ServletInputStream | provenance | Src:MaD:1 |
|
||||
| XQueryInjection.java:103:37:103:64 | prepareExpression(...) : XQPreparedExpression | XQueryInjection.java:104:35:104:38 | xqpe | provenance | |
|
||||
| XQueryInjection.java:103:60:103:63 | name : ServletInputStream | XQueryInjection.java:103:37:103:64 | prepareExpression(...) : XQPreparedExpression | provenance | Config |
|
||||
| XQueryInjection.java:112:28:112:51 | getInputStream(...) : ServletInputStream | XQueryInjection.java:116:53:116:56 | name | provenance | Src:MaD:3 |
|
||||
| XQueryInjection.java:124:28:124:51 | getInputStream(...) : ServletInputStream | XQueryInjection.java:125:70:125:73 | name : ServletInputStream | provenance | Src:MaD:3 |
|
||||
| XQueryInjection.java:112:28:112:51 | getInputStream(...) : ServletInputStream | XQueryInjection.java:116:53:116:56 | name | provenance | Src:MaD:1 |
|
||||
| XQueryInjection.java:124:28:124:51 | getInputStream(...) : ServletInputStream | XQueryInjection.java:125:70:125:73 | name : ServletInputStream | provenance | Src:MaD:1 |
|
||||
| XQueryInjection.java:125:29:125:75 | new BufferedReader(...) : BufferedReader | XQueryInjection.java:128:60:128:61 | br : BufferedReader | provenance | |
|
||||
| XQueryInjection.java:125:48:125:74 | new InputStreamReader(...) : InputStreamReader | XQueryInjection.java:125:29:125:75 | new BufferedReader(...) : BufferedReader | provenance | MaD:1 |
|
||||
| XQueryInjection.java:125:70:125:73 | name : ServletInputStream | XQueryInjection.java:125:48:125:74 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:2 |
|
||||
| XQueryInjection.java:125:48:125:74 | new InputStreamReader(...) : InputStreamReader | XQueryInjection.java:125:29:125:75 | new BufferedReader(...) : BufferedReader | provenance | MaD:3 |
|
||||
| XQueryInjection.java:125:70:125:73 | name : ServletInputStream | XQueryInjection.java:125:48:125:74 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:4 |
|
||||
| XQueryInjection.java:128:37:128:62 | prepareExpression(...) : XQPreparedExpression | XQueryInjection.java:129:35:129:38 | xqpe | provenance | |
|
||||
| XQueryInjection.java:128:60:128:61 | br : BufferedReader | XQueryInjection.java:128:37:128:62 | prepareExpression(...) : XQPreparedExpression | provenance | Config |
|
||||
| XQueryInjection.java:137:28:137:51 | getInputStream(...) : ServletInputStream | XQueryInjection.java:138:70:138:73 | name : ServletInputStream | provenance | Src:MaD:3 |
|
||||
| XQueryInjection.java:137:28:137:51 | getInputStream(...) : ServletInputStream | XQueryInjection.java:138:70:138:73 | name : ServletInputStream | provenance | Src:MaD:1 |
|
||||
| XQueryInjection.java:138:29:138:75 | new BufferedReader(...) : BufferedReader | XQueryInjection.java:142:53:142:54 | br | provenance | |
|
||||
| XQueryInjection.java:138:48:138:74 | new InputStreamReader(...) : InputStreamReader | XQueryInjection.java:138:29:138:75 | new BufferedReader(...) : BufferedReader | provenance | MaD:1 |
|
||||
| XQueryInjection.java:138:70:138:73 | name : ServletInputStream | XQueryInjection.java:138:48:138:74 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:2 |
|
||||
| XQueryInjection.java:150:23:150:50 | getParameter(...) : String | XQueryInjection.java:155:29:155:32 | name | provenance | Src:MaD:4 |
|
||||
| XQueryInjection.java:157:26:157:49 | getInputStream(...) : ServletInputStream | XQueryInjection.java:158:70:158:71 | is : ServletInputStream | provenance | Src:MaD:3 |
|
||||
| XQueryInjection.java:138:48:138:74 | new InputStreamReader(...) : InputStreamReader | XQueryInjection.java:138:29:138:75 | new BufferedReader(...) : BufferedReader | provenance | MaD:3 |
|
||||
| XQueryInjection.java:138:70:138:73 | name : ServletInputStream | XQueryInjection.java:138:48:138:74 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:4 |
|
||||
| XQueryInjection.java:150:23:150:50 | getParameter(...) : String | XQueryInjection.java:155:29:155:32 | name | provenance | Src:MaD:2 |
|
||||
| XQueryInjection.java:157:26:157:49 | getInputStream(...) : ServletInputStream | XQueryInjection.java:158:70:158:71 | is : ServletInputStream | provenance | Src:MaD:1 |
|
||||
| XQueryInjection.java:158:29:158:73 | new BufferedReader(...) : BufferedReader | XQueryInjection.java:159:29:159:30 | br | provenance | |
|
||||
| XQueryInjection.java:158:48:158:72 | new InputStreamReader(...) : InputStreamReader | XQueryInjection.java:158:29:158:73 | new BufferedReader(...) : BufferedReader | provenance | MaD:1 |
|
||||
| XQueryInjection.java:158:70:158:71 | is : ServletInputStream | XQueryInjection.java:158:48:158:72 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:2 |
|
||||
| XQueryInjection.java:158:48:158:72 | new InputStreamReader(...) : InputStreamReader | XQueryInjection.java:158:29:158:73 | new BufferedReader(...) : BufferedReader | provenance | MaD:3 |
|
||||
| XQueryInjection.java:158:70:158:71 | is : ServletInputStream | XQueryInjection.java:158:48:158:72 | new InputStreamReader(...) : InputStreamReader | provenance | MaD:4 |
|
||||
models
|
||||
| 1 | Summary: java.io; BufferedReader; false; BufferedReader; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 2 | Summary: java.io; InputStreamReader; false; InputStreamReader; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 3 | Source: javax.servlet; ServletRequest; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 4 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 1 | Source: javax.servlet; ServletRequest; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 2 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 3 | Summary: java.io; BufferedReader; false; BufferedReader; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 4 | Summary: java.io; InputStreamReader; false; InputStreamReader; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
nodes
|
||||
| XQueryInjection.java:45:23:45:50 | getParameter(...) : String | semmle.label | getParameter(...) : String |
|
||||
| XQueryInjection.java:50:37:50:65 | prepareExpression(...) : XQPreparedExpression | semmle.label | prepareExpression(...) : XQPreparedExpression |
|
||||
|
||||
@@ -1,228 +1,228 @@
|
||||
models
|
||||
| 1 | Summary: java.awt; Container; true; add; (Component); ; Argument[0]; ReturnValue; value; manual |
|
||||
| 2 | Summary: java.io; File; true; getName; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: java.io; File; true; getParentFile; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: java.io; File; true; getPath; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: java.io; IOException; false; IOException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 6 | Summary: java.io; StringWriter; false; toString; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 7 | Summary: java.io; UncheckedIOException; false; UncheckedIOException; (IOException); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 8 | Summary: java.lang; AbstractStringBuilder; true; delete; (int,int); ; Argument[this]; ReturnValue; value; manual |
|
||||
| 9 | Summary: java.lang; AssertionError; false; AssertionError; (Object); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 10 | Summary: java.lang; CharSequence; true; charAt; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 11 | Summary: java.lang; Class; false; cast; (Object); ; Argument[0]; ReturnValue; value; manual |
|
||||
| 12 | Summary: java.lang; Exception; false; Exception; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 13 | Summary: java.lang; Exception; false; Exception; (String,Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 14 | Summary: java.lang; Exception; false; Exception; (String,Throwable); ; Argument[1]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 15 | Summary: java.lang; IllegalArgumentException; false; IllegalArgumentException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 16 | Summary: java.lang; IllegalStateException; false; IllegalStateException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 17 | Summary: java.lang; IndexOutOfBoundsException; false; IndexOutOfBoundsException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 18 | Summary: java.lang; NullPointerException; false; NullPointerException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 19 | Summary: java.lang; RuntimeException; false; RuntimeException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 20 | Summary: java.lang; RuntimeException; false; RuntimeException; (String,Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 21 | Summary: java.lang; RuntimeException; false; RuntimeException; (String,Throwable); ; Argument[1]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 22 | Summary: java.lang; RuntimeException; false; RuntimeException; (Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 23 | Summary: java.lang; Thread; false; Thread; (Runnable); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 24 | Summary: java.lang; Thread; false; Thread; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Thread.name]; value; manual |
|
||||
| 25 | Summary: java.lang; Thread; true; getName; (); ; Argument[this].SyntheticField[java.lang.Thread.name]; ReturnValue; value; manual |
|
||||
| 26 | Summary: java.lang; ThreadLocal; true; get; (); ; Argument[this].SyntheticField[java.lang.ThreadLocal.value]; ReturnValue; value; manual |
|
||||
| 27 | Summary: java.lang; ThreadLocal; true; set; (Object); ; Argument[0]; Argument[this].SyntheticField[java.lang.ThreadLocal.value]; value; manual |
|
||||
| 28 | Summary: java.lang; Throwable; false; Throwable; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 29 | Summary: java.lang; Throwable; false; Throwable; (Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 30 | Summary: java.lang; Throwable; true; getCause; (); ; Argument[this].SyntheticField[java.lang.Throwable.cause]; ReturnValue; value; manual |
|
||||
| 31 | Summary: java.lang; Throwable; true; getMessage; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; value; manual |
|
||||
| 1 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual |
|
||||
| 2 | Summary: java.awt; Container; true; add; (Component); ; Argument[0]; ReturnValue; value; manual |
|
||||
| 3 | Summary: java.io; File; true; getName; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: java.io; File; true; getParentFile; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: java.io; File; true; getPath; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: java.io; IOException; false; IOException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 7 | Summary: java.io; StringWriter; false; toString; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 8 | Summary: java.io; UncheckedIOException; false; UncheckedIOException; (IOException); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 9 | Summary: java.lang; AbstractStringBuilder; true; delete; (int,int); ; Argument[this]; ReturnValue; value; manual |
|
||||
| 10 | Summary: java.lang; AssertionError; false; AssertionError; (Object); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 11 | Summary: java.lang; CharSequence; true; charAt; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 12 | Summary: java.lang; Class; false; cast; (Object); ; Argument[0]; ReturnValue; value; manual |
|
||||
| 13 | Summary: java.lang; Exception; false; Exception; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 14 | Summary: java.lang; Exception; false; Exception; (String,Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 15 | Summary: java.lang; Exception; false; Exception; (String,Throwable); ; Argument[1]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 16 | Summary: java.lang; IllegalArgumentException; false; IllegalArgumentException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 17 | Summary: java.lang; IllegalStateException; false; IllegalStateException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 18 | Summary: java.lang; IndexOutOfBoundsException; false; IndexOutOfBoundsException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 19 | Summary: java.lang; NullPointerException; false; NullPointerException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 20 | Summary: java.lang; RuntimeException; false; RuntimeException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 21 | Summary: java.lang; RuntimeException; false; RuntimeException; (String,Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 22 | Summary: java.lang; RuntimeException; false; RuntimeException; (String,Throwable); ; Argument[1]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 23 | Summary: java.lang; RuntimeException; false; RuntimeException; (Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 24 | Summary: java.lang; Thread; false; Thread; (Runnable); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 25 | Summary: java.lang; Thread; false; Thread; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Thread.name]; value; manual |
|
||||
| 26 | Summary: java.lang; Thread; true; getName; (); ; Argument[this].SyntheticField[java.lang.Thread.name]; ReturnValue; value; manual |
|
||||
| 27 | Summary: java.lang; ThreadLocal; true; get; (); ; Argument[this].SyntheticField[java.lang.ThreadLocal.value]; ReturnValue; value; manual |
|
||||
| 28 | Summary: java.lang; ThreadLocal; true; set; (Object); ; Argument[0]; Argument[this].SyntheticField[java.lang.ThreadLocal.value]; value; manual |
|
||||
| 29 | Summary: java.lang; Throwable; false; Throwable; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 30 | Summary: java.lang; Throwable; false; Throwable; (Throwable); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.cause]; value; manual |
|
||||
| 31 | Summary: java.lang; Throwable; true; getCause; (); ; Argument[this].SyntheticField[java.lang.Throwable.cause]; ReturnValue; value; manual |
|
||||
| 32 | Summary: java.lang; Throwable; true; getLocalizedMessage; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; value; manual |
|
||||
| 33 | Summary: java.lang; Throwable; true; toString; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; taint; manual |
|
||||
| 34 | Summary: java.lang; UnsupportedOperationException; false; UnsupportedOperationException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 35 | Summary: java.net; URL; false; toURI; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 36 | Summary: java.nio.file; Path; true; getFileName; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 37 | Summary: java.sql; ResultSet; true; getString; (String); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 38 | Summary: java.util.concurrent.atomic; AtomicReference; false; AtomicReference; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; value; manual |
|
||||
| 39 | Summary: java.util.concurrent.atomic; AtomicReference; false; get; (); ; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; ReturnValue; value; manual |
|
||||
| 40 | Summary: java.util.concurrent.atomic; AtomicReference; false; set; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; value; manual |
|
||||
| 41 | Summary: java.util.concurrent; CompletableFuture; false; complete; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.Future.value]; value; manual |
|
||||
| 42 | Summary: java.util.concurrent; CompletableFuture; false; completedFuture; (Object); ; Argument[0]; ReturnValue.SyntheticField[java.util.concurrent.Future.value]; value; manual |
|
||||
| 43 | Summary: java.util.concurrent; CompletableFuture; false; join; (); ; Argument[this].SyntheticField[java.util.concurrent.Future.value]; ReturnValue; value; manual |
|
||||
| 44 | Summary: java.util.concurrent; CompletionStage; false; toCompletableFuture; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 45 | Summary: java.util.concurrent; ExecutorService; true; submit; (Runnable); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 46 | Summary: java.util.concurrent; Future; true; get; (); ; Argument[this].SyntheticField[java.util.concurrent.Future.value]; ReturnValue; value; manual |
|
||||
| 47 | Summary: java.util.logging; Logger; false; getLogger; (String); ; Argument[0]; ReturnValue.SyntheticField[java.util.logging.Logger.name]; value; manual |
|
||||
| 48 | Summary: java.util.logging; Logger; false; getName; (); ; Argument[this].SyntheticField[java.util.logging.Logger.name]; ReturnValue; value; manual |
|
||||
| 49 | Summary: java.util; EventObject; false; EventObject; (Object); ; Argument[0]; Argument[this].Field[java.util.EventObject.source]; value; manual |
|
||||
| 50 | Summary: java.util; EventObject; true; getSource; (); ; Argument[this].Field[java.util.EventObject.source]; ReturnValue; value; manual |
|
||||
| 51 | Summary: java.util; ResourceBundle; true; getString; (String); ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 52 | Summary: java.util; StringJoiner; false; add; (CharSequence); ; Argument[this]; ReturnValue; value; manual |
|
||||
| 53 | Summary: java.util; StringJoiner; false; add; (CharSequence); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 54 | Summary: java.util.regex; Pattern; false; compile; (String); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 55 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual |
|
||||
| 33 | Summary: java.lang; Throwable; true; getMessage; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; value; manual |
|
||||
| 34 | Summary: java.lang; Throwable; true; toString; (); ; Argument[this].SyntheticField[java.lang.Throwable.message]; ReturnValue; taint; manual |
|
||||
| 35 | Summary: java.lang; UnsupportedOperationException; false; UnsupportedOperationException; (String); ; Argument[0]; Argument[this].SyntheticField[java.lang.Throwable.message]; value; manual |
|
||||
| 36 | Summary: java.net; URL; false; toURI; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 37 | Summary: java.nio.file; Path; true; getFileName; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 38 | Summary: java.sql; ResultSet; true; getString; (String); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 39 | Summary: java.util.concurrent.atomic; AtomicReference; false; AtomicReference; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; value; manual |
|
||||
| 40 | Summary: java.util.concurrent.atomic; AtomicReference; false; get; (); ; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; ReturnValue; value; manual |
|
||||
| 41 | Summary: java.util.concurrent.atomic; AtomicReference; false; set; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.atomic.AtomicReference.value]; value; manual |
|
||||
| 42 | Summary: java.util.concurrent; CompletableFuture; false; complete; (Object); ; Argument[0]; Argument[this].SyntheticField[java.util.concurrent.Future.value]; value; manual |
|
||||
| 43 | Summary: java.util.concurrent; CompletableFuture; false; completedFuture; (Object); ; Argument[0]; ReturnValue.SyntheticField[java.util.concurrent.Future.value]; value; manual |
|
||||
| 44 | Summary: java.util.concurrent; CompletableFuture; false; join; (); ; Argument[this].SyntheticField[java.util.concurrent.Future.value]; ReturnValue; value; manual |
|
||||
| 45 | Summary: java.util.concurrent; CompletionStage; false; toCompletableFuture; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 46 | Summary: java.util.concurrent; ExecutorService; true; submit; (Runnable); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 47 | Summary: java.util.concurrent; Future; true; get; (); ; Argument[this].SyntheticField[java.util.concurrent.Future.value]; ReturnValue; value; manual |
|
||||
| 48 | Summary: java.util.logging; Logger; false; getLogger; (String); ; Argument[0]; ReturnValue.SyntheticField[java.util.logging.Logger.name]; value; manual |
|
||||
| 49 | Summary: java.util.logging; Logger; false; getName; (); ; Argument[this].SyntheticField[java.util.logging.Logger.name]; ReturnValue; value; manual |
|
||||
| 50 | Summary: java.util.regex; Pattern; false; compile; (String); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 51 | Summary: java.util; EventObject; false; EventObject; (Object); ; Argument[0]; Argument[this].Field[java.util.EventObject.source]; value; manual |
|
||||
| 52 | Summary: java.util; EventObject; true; getSource; (); ; Argument[this].Field[java.util.EventObject.source]; ReturnValue; value; manual |
|
||||
| 53 | Summary: java.util; ResourceBundle; true; getString; (String); ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 54 | Summary: java.util; StringJoiner; false; add; (CharSequence); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 55 | Summary: java.util; StringJoiner; false; add; (CharSequence); ; Argument[this]; ReturnValue; value; manual |
|
||||
edges
|
||||
| Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | Test.java:36:26:36:27 | e1 : RuntimeException [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:35:49:35:64 | (...)... : String | Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | provenance | MaD:19 |
|
||||
| Test.java:35:49:35:64 | (...)... : String | Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | provenance | MaD:20 |
|
||||
| Test.java:35:57:35:64 | source(...) : Object | Test.java:35:49:35:64 | (...)... : String | provenance | |
|
||||
| Test.java:36:26:36:27 | e1 : RuntimeException [java.lang.Throwable.message] : String | Test.java:36:26:36:40 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:36:26:36:27 | e1 : RuntimeException [java.lang.Throwable.message] : String | Test.java:36:26:36:40 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:36:26:36:40 | getMessage(...) : String | Test.java:36:18:36:40 | (...)... | provenance | |
|
||||
| Test.java:38:28:38:68 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:39:29:39:30 | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | |
|
||||
| Test.java:38:49:38:67 | (...)... : Throwable | Test.java:38:28:38:68 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | MaD:22 |
|
||||
| Test.java:38:49:38:67 | (...)... : Throwable | Test.java:38:28:38:68 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | MaD:23 |
|
||||
| Test.java:38:60:38:67 | source(...) : Object | Test.java:38:49:38:67 | (...)... : Throwable | provenance | |
|
||||
| Test.java:39:29:39:30 | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:39:29:39:41 | getCause(...) : Throwable | provenance | MaD:30 |
|
||||
| Test.java:39:29:39:30 | e2 : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:39:29:39:41 | getCause(...) : Throwable | provenance | MaD:31 |
|
||||
| Test.java:39:29:39:41 | getCause(...) : Throwable | Test.java:39:18:39:41 | (...)... | provenance | |
|
||||
| Test.java:41:28:41:73 | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | Test.java:42:26:42:27 | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:41:57:41:72 | (...)... : String | Test.java:41:28:41:73 | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | provenance | MaD:15 |
|
||||
| Test.java:41:57:41:72 | (...)... : String | Test.java:41:28:41:73 | new IllegalArgumentException(...) : IllegalArgumentException [java.lang.Throwable.message] : String | provenance | MaD:16 |
|
||||
| Test.java:41:65:41:72 | source(...) : Object | Test.java:41:57:41:72 | (...)... : String | provenance | |
|
||||
| Test.java:42:26:42:27 | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | Test.java:42:26:42:40 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:42:26:42:27 | e3 : IllegalArgumentException [java.lang.Throwable.message] : String | Test.java:42:26:42:40 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:42:26:42:40 | getMessage(...) : String | Test.java:42:18:42:40 | (...)... | provenance | |
|
||||
| Test.java:44:28:44:70 | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | Test.java:45:26:45:27 | e4 : IllegalStateException [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:44:54:44:69 | (...)... : String | Test.java:44:28:44:70 | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | provenance | MaD:16 |
|
||||
| Test.java:44:54:44:69 | (...)... : String | Test.java:44:28:44:70 | new IllegalStateException(...) : IllegalStateException [java.lang.Throwable.message] : String | provenance | MaD:17 |
|
||||
| Test.java:44:62:44:69 | source(...) : Object | Test.java:44:54:44:69 | (...)... : String | provenance | |
|
||||
| Test.java:45:26:45:27 | e4 : IllegalStateException [java.lang.Throwable.message] : String | Test.java:45:26:45:40 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:45:26:45:27 | e4 : IllegalStateException [java.lang.Throwable.message] : String | Test.java:45:26:45:40 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:45:26:45:40 | getMessage(...) : String | Test.java:45:18:45:40 | (...)... | provenance | |
|
||||
| Test.java:47:28:47:78 | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | Test.java:48:26:48:27 | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:47:62:47:77 | (...)... : String | Test.java:47:28:47:78 | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | provenance | MaD:34 |
|
||||
| Test.java:47:62:47:77 | (...)... : String | Test.java:47:28:47:78 | new UnsupportedOperationException(...) : UnsupportedOperationException [java.lang.Throwable.message] : String | provenance | MaD:35 |
|
||||
| Test.java:47:70:47:77 | source(...) : Object | Test.java:47:62:47:77 | (...)... : String | provenance | |
|
||||
| Test.java:48:26:48:27 | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | Test.java:48:26:48:40 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:48:26:48:27 | e5 : UnsupportedOperationException [java.lang.Throwable.message] : String | Test.java:48:26:48:40 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:48:26:48:40 | getMessage(...) : String | Test.java:48:18:48:40 | (...)... | provenance | |
|
||||
| Test.java:50:27:50:60 | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | Test.java:51:29:51:29 | t : Throwable [java.lang.Throwable.cause] : Throwable | provenance | |
|
||||
| Test.java:50:41:50:59 | (...)... : Throwable | Test.java:50:27:50:60 | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | provenance | MaD:29 |
|
||||
| Test.java:50:41:50:59 | (...)... : Throwable | Test.java:50:27:50:60 | new Throwable(...) : Throwable [java.lang.Throwable.cause] : Throwable | provenance | MaD:30 |
|
||||
| Test.java:50:52:50:59 | source(...) : Object | Test.java:50:41:50:59 | (...)... : Throwable | provenance | |
|
||||
| Test.java:51:29:51:29 | t : Throwable [java.lang.Throwable.cause] : Throwable | Test.java:51:29:51:40 | getCause(...) : Throwable | provenance | MaD:30 |
|
||||
| Test.java:51:29:51:29 | t : Throwable [java.lang.Throwable.cause] : Throwable | Test.java:51:29:51:40 | getCause(...) : Throwable | provenance | MaD:31 |
|
||||
| Test.java:51:29:51:40 | getCause(...) : Throwable | Test.java:51:18:51:40 | (...)... | provenance | |
|
||||
| Test.java:53:25:53:40 | (...)... : String | Test.java:55:18:55:19 | s2 : String | provenance | |
|
||||
| Test.java:53:33:53:40 | source(...) : Object | Test.java:53:25:53:40 | (...)... : String | provenance | |
|
||||
| Test.java:55:18:55:19 | s2 : String | Test.java:55:18:55:29 | charAt(...) | provenance | MaD:10 |
|
||||
| Test.java:55:18:55:19 | s2 : String | Test.java:55:18:55:29 | charAt(...) | provenance | MaD:11 |
|
||||
| Test.java:57:28:57:46 | (...)... : ResultSet | Test.java:58:18:58:19 | rs : ResultSet | provenance | |
|
||||
| Test.java:57:39:57:46 | source(...) : Object | Test.java:57:28:57:46 | (...)... : ResultSet | provenance | |
|
||||
| Test.java:58:18:58:19 | rs : ResultSet | Test.java:58:18:58:33 | getString(...) | provenance | MaD:37 |
|
||||
| Test.java:58:18:58:19 | rs : ResultSet | Test.java:58:18:58:33 | getString(...) | provenance | MaD:38 |
|
||||
| Test.java:64:28:64:60 | new IOException(...) : IOException [java.lang.Throwable.message] : String | Test.java:65:26:65:27 | e1 : IOException [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:64:44:64:59 | (...)... : String | Test.java:64:28:64:60 | new IOException(...) : IOException [java.lang.Throwable.message] : String | provenance | MaD:5 |
|
||||
| Test.java:64:44:64:59 | (...)... : String | Test.java:64:28:64:60 | new IOException(...) : IOException [java.lang.Throwable.message] : String | provenance | MaD:6 |
|
||||
| Test.java:64:52:64:59 | source(...) : Object | Test.java:64:44:64:59 | (...)... : String | provenance | |
|
||||
| Test.java:65:26:65:27 | e1 : IOException [java.lang.Throwable.message] : String | Test.java:65:26:65:40 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:65:26:65:27 | e1 : IOException [java.lang.Throwable.message] : String | Test.java:65:26:65:40 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:65:26:65:40 | getMessage(...) : String | Test.java:65:18:65:40 | (...)... | provenance | |
|
||||
| Test.java:67:22:67:35 | (...)... : File | Test.java:68:18:68:18 | f : File | provenance | |
|
||||
| Test.java:67:28:67:35 | source(...) : Object | Test.java:67:22:67:35 | (...)... : File | provenance | |
|
||||
| Test.java:68:18:68:18 | f : File | Test.java:68:18:68:28 | getName(...) | provenance | MaD:2 |
|
||||
| Test.java:68:18:68:18 | f : File | Test.java:68:18:68:28 | getName(...) | provenance | MaD:3 |
|
||||
| Test.java:71:28:71:58 | new Exception(...) : Exception [java.lang.Throwable.message] : String | Test.java:72:26:72:27 | e2 : Exception [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:71:42:71:57 | (...)... : String | Test.java:71:28:71:58 | new Exception(...) : Exception [java.lang.Throwable.message] : String | provenance | MaD:12 |
|
||||
| Test.java:71:42:71:57 | (...)... : String | Test.java:71:28:71:58 | new Exception(...) : Exception [java.lang.Throwable.message] : String | provenance | MaD:13 |
|
||||
| Test.java:71:50:71:57 | source(...) : Object | Test.java:71:42:71:57 | (...)... : String | provenance | |
|
||||
| Test.java:72:26:72:27 | e2 : Exception [java.lang.Throwable.message] : String | Test.java:72:26:72:40 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:72:26:72:27 | e2 : Exception [java.lang.Throwable.message] : String | Test.java:72:26:72:40 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:72:26:72:40 | getMessage(...) : String | Test.java:72:18:72:40 | (...)... | provenance | |
|
||||
| Test.java:74:28:74:74 | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | Test.java:75:26:75:27 | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:74:58:74:73 | (...)... : String | Test.java:74:28:74:74 | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | provenance | MaD:17 |
|
||||
| Test.java:74:58:74:73 | (...)... : String | Test.java:74:28:74:74 | new IndexOutOfBoundsException(...) : IndexOutOfBoundsException [java.lang.Throwable.message] : String | provenance | MaD:18 |
|
||||
| Test.java:74:66:74:73 | source(...) : Object | Test.java:74:58:74:73 | (...)... : String | provenance | |
|
||||
| Test.java:75:26:75:27 | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | Test.java:75:26:75:40 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:75:26:75:27 | e3 : IndexOutOfBoundsException [java.lang.Throwable.message] : String | Test.java:75:26:75:40 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:75:26:75:40 | getMessage(...) : String | Test.java:75:18:75:40 | (...)... | provenance | |
|
||||
| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:79:29:79:30 | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | |
|
||||
| Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | Test.java:78:26:78:27 | e4 : RuntimeException [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:77:49:77:64 | (...)... : String | Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | provenance | MaD:20 |
|
||||
| Test.java:77:49:77:64 | (...)... : String | Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | provenance | MaD:21 |
|
||||
| Test.java:77:57:77:64 | source(...) : Object | Test.java:77:49:77:64 | (...)... : String | provenance | |
|
||||
| Test.java:77:67:77:85 | (...)... : Throwable | Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | MaD:21 |
|
||||
| Test.java:77:67:77:85 | (...)... : Throwable | Test.java:77:28:77:86 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.cause] : Throwable | provenance | MaD:22 |
|
||||
| Test.java:77:78:77:85 | source(...) : Object | Test.java:77:67:77:85 | (...)... : Throwable | provenance | |
|
||||
| Test.java:78:26:78:27 | e4 : RuntimeException [java.lang.Throwable.message] : String | Test.java:78:26:78:40 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:78:26:78:27 | e4 : RuntimeException [java.lang.Throwable.message] : String | Test.java:78:26:78:40 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:78:26:78:40 | getMessage(...) : String | Test.java:78:18:78:40 | (...)... | provenance | |
|
||||
| Test.java:79:29:79:30 | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:79:29:79:41 | getCause(...) : Throwable | provenance | MaD:30 |
|
||||
| Test.java:79:29:79:30 | e4 : RuntimeException [java.lang.Throwable.cause] : Throwable | Test.java:79:29:79:41 | getCause(...) : Throwable | provenance | MaD:31 |
|
||||
| Test.java:79:29:79:41 | getCause(...) : Throwable | Test.java:79:18:79:41 | (...)... | provenance | |
|
||||
| Test.java:88:34:88:62 | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:89:18:89:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | |
|
||||
| Test.java:88:54:88:61 | source(...) : Object | Test.java:88:34:88:62 | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | MaD:38 |
|
||||
| Test.java:89:18:89:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:89:18:89:25 | get(...) | provenance | MaD:39 |
|
||||
| Test.java:93:26:93:47 | (...)... : CharSequence | Test.java:93:18:93:48 | add(...) | provenance | MaD:53+MaD:52 |
|
||||
| Test.java:88:54:88:61 | source(...) : Object | Test.java:88:34:88:62 | new AtomicReference<>(...) : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | MaD:39 |
|
||||
| Test.java:89:18:89:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:89:18:89:25 | get(...) | provenance | MaD:40 |
|
||||
| Test.java:93:26:93:47 | (...)... : CharSequence | Test.java:93:18:93:48 | add(...) | provenance | MaD:54+MaD:55 |
|
||||
| Test.java:93:40:93:47 | source(...) : Object | Test.java:93:26:93:47 | (...)... : CharSequence | provenance | |
|
||||
| Test.java:95:32:95:53 | (...)... : StringJoiner | Test.java:96:18:96:20 | sj2 : StringJoiner | provenance | |
|
||||
| Test.java:95:46:95:53 | source(...) : Object | Test.java:95:32:95:53 | (...)... : StringJoiner | provenance | |
|
||||
| Test.java:96:18:96:20 | sj2 : StringJoiner | Test.java:96:18:96:32 | add(...) | provenance | MaD:52 |
|
||||
| Test.java:104:32:104:50 | (...)... : Component | Test.java:104:18:104:51 | add(...) | provenance | MaD:1 |
|
||||
| Test.java:96:18:96:20 | sj2 : StringJoiner | Test.java:96:18:96:32 | add(...) | provenance | MaD:55 |
|
||||
| Test.java:104:32:104:50 | (...)... : Component | Test.java:104:18:104:51 | add(...) | provenance | MaD:2 |
|
||||
| Test.java:104:43:104:50 | source(...) : Object | Test.java:104:32:104:50 | (...)... : Component | provenance | |
|
||||
| Test.java:107:23:107:36 | (...)... : File | Test.java:108:18:108:19 | f1 : File | provenance | |
|
||||
| Test.java:107:29:107:36 | source(...) : Object | Test.java:107:23:107:36 | (...)... : File | provenance | |
|
||||
| Test.java:108:18:108:19 | f1 : File | Test.java:108:18:108:35 | getParentFile(...) | provenance | MaD:3 |
|
||||
| Test.java:108:18:108:19 | f1 : File | Test.java:108:18:108:35 | getParentFile(...) | provenance | MaD:4 |
|
||||
| Test.java:110:23:110:36 | (...)... : File | Test.java:111:18:111:19 | f2 : File | provenance | |
|
||||
| Test.java:110:29:110:36 | source(...) : Object | Test.java:110:23:110:36 | (...)... : File | provenance | |
|
||||
| Test.java:111:18:111:19 | f2 : File | Test.java:111:18:111:29 | getPath(...) | provenance | MaD:4 |
|
||||
| Test.java:111:18:111:19 | f2 : File | Test.java:111:18:111:29 | getPath(...) | provenance | MaD:5 |
|
||||
| Test.java:113:31:113:52 | (...)... : StringWriter | Test.java:114:18:114:19 | sw : StringWriter | provenance | |
|
||||
| Test.java:113:31:113:52 | (...)... : StringWriter | Test.java:114:18:114:30 | toString(...) | provenance | %StringWriter |
|
||||
| Test.java:113:45:113:52 | source(...) : Object | Test.java:113:31:113:52 | (...)... : StringWriter | provenance | |
|
||||
| Test.java:114:18:114:19 | sw : StringWriter | Test.java:114:18:114:30 | toString(...) | provenance | MaD:6 |
|
||||
| Test.java:114:18:114:19 | sw : StringWriter | Test.java:114:18:114:30 | toString(...) | provenance | MaD:7 |
|
||||
| Test.java:116:27:116:73 | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | Test.java:117:29:117:29 | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | provenance | |
|
||||
| Test.java:116:52:116:72 | (...)... : IOException | Test.java:116:27:116:73 | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | provenance | MaD:7 |
|
||||
| Test.java:116:52:116:72 | (...)... : IOException | Test.java:116:27:116:73 | new UncheckedIOException(...) : UncheckedIOException [java.lang.Throwable.cause] : IOException | provenance | MaD:8 |
|
||||
| Test.java:116:65:116:72 | source(...) : Object | Test.java:116:52:116:72 | (...)... : IOException | provenance | |
|
||||
| Test.java:117:29:117:29 | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | Test.java:117:29:117:40 | getCause(...) : IOException | provenance | MaD:30 |
|
||||
| Test.java:117:29:117:29 | e : UncheckedIOException [java.lang.Throwable.cause] : IOException | Test.java:117:29:117:40 | getCause(...) : IOException | provenance | MaD:31 |
|
||||
| Test.java:117:29:117:40 | getCause(...) : IOException | Test.java:117:18:117:40 | (...)... | provenance | |
|
||||
| Test.java:120:23:120:35 | (...)... : URL | Test.java:121:18:121:20 | url : URL | provenance | |
|
||||
| Test.java:120:28:120:35 | source(...) : Object | Test.java:120:23:120:35 | (...)... : URL | provenance | |
|
||||
| Test.java:121:18:121:20 | url : URL | Test.java:121:18:121:28 | toURI(...) | provenance | MaD:35 |
|
||||
| Test.java:121:18:121:20 | url : URL | Test.java:121:18:121:28 | toURI(...) | provenance | MaD:36 |
|
||||
| Test.java:124:22:124:35 | (...)... : Path | Test.java:125:18:125:18 | p : Path | provenance | |
|
||||
| Test.java:124:28:124:35 | source(...) : Object | Test.java:124:22:124:35 | (...)... : Path | provenance | |
|
||||
| Test.java:125:18:125:18 | p : Path | Test.java:125:18:125:32 | getFileName(...) | provenance | MaD:36 |
|
||||
| Test.java:125:18:125:18 | p : Path | Test.java:125:18:125:32 | getFileName(...) | provenance | MaD:37 |
|
||||
| Test.java:129:13:129:14 | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:130:18:130:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | |
|
||||
| Test.java:129:20:129:27 | source(...) : Object | Test.java:129:13:129:14 | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | MaD:40 |
|
||||
| Test.java:130:18:130:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:130:18:130:25 | get(...) | provenance | MaD:39 |
|
||||
| Test.java:135:29:135:46 | (...)... : Runnable | Test.java:135:18:135:47 | submit(...) | provenance | MaD:45 |
|
||||
| Test.java:129:20:129:27 | source(...) : Object | Test.java:129:13:129:14 | ar [post update] : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | provenance | MaD:41 |
|
||||
| Test.java:130:18:130:19 | ar : AtomicReference [java.util.concurrent.atomic.AtomicReference.value] : Object | Test.java:130:18:130:25 | get(...) | provenance | MaD:40 |
|
||||
| Test.java:135:29:135:46 | (...)... : Runnable | Test.java:135:18:135:47 | submit(...) | provenance | MaD:46 |
|
||||
| Test.java:135:39:135:46 | source(...) : Object | Test.java:135:29:135:46 | (...)... : Runnable | provenance | |
|
||||
| Test.java:137:34:137:58 | (...)... : CompletionStage | Test.java:138:18:138:19 | cs : CompletionStage | provenance | |
|
||||
| Test.java:137:51:137:58 | source(...) : Object | Test.java:137:34:137:58 | (...)... : CompletionStage | provenance | |
|
||||
| Test.java:138:18:138:19 | cs : CompletionStage | Test.java:138:18:138:41 | toCompletableFuture(...) | provenance | MaD:44 |
|
||||
| Test.java:138:18:138:19 | cs : CompletionStage | Test.java:138:18:138:41 | toCompletableFuture(...) | provenance | MaD:45 |
|
||||
| Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:142:18:142:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | |
|
||||
| Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:143:18:143:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | |
|
||||
| Test.java:141:26:141:33 | source(...) : Object | Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | MaD:41 |
|
||||
| Test.java:142:18:142:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:142:18:142:26 | get(...) | provenance | MaD:46 |
|
||||
| Test.java:143:18:143:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:143:18:143:27 | join(...) | provenance | MaD:43 |
|
||||
| Test.java:141:26:141:33 | source(...) : Object | Test.java:141:13:141:15 | cf1 [post update] : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | MaD:42 |
|
||||
| Test.java:142:18:142:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:142:18:142:26 | get(...) | provenance | MaD:47 |
|
||||
| Test.java:143:18:143:20 | cf1 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:143:18:143:27 | join(...) | provenance | MaD:44 |
|
||||
| Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:146:18:146:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | |
|
||||
| Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:147:18:147:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | |
|
||||
| Test.java:145:71:145:78 | source(...) : Object | Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | MaD:42 |
|
||||
| Test.java:146:18:146:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:146:18:146:26 | get(...) | provenance | MaD:46 |
|
||||
| Test.java:147:18:147:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:147:18:147:27 | join(...) | provenance | MaD:43 |
|
||||
| Test.java:145:71:145:78 | source(...) : Object | Test.java:145:37:145:79 | completedFuture(...) : CompletableFuture [java.util.concurrent.Future.value] : Object | provenance | MaD:43 |
|
||||
| Test.java:146:18:146:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:146:18:146:26 | get(...) | provenance | MaD:47 |
|
||||
| Test.java:147:18:147:20 | cf2 : CompletableFuture [java.util.concurrent.Future.value] : Object | Test.java:147:18:147:27 | join(...) | provenance | MaD:44 |
|
||||
| Test.java:150:29:150:62 | getLogger(...) : Logger [java.util.logging.Logger.name] : String | Test.java:151:18:151:23 | logger : Logger [java.util.logging.Logger.name] : String | provenance | |
|
||||
| Test.java:150:46:150:61 | (...)... : String | Test.java:150:29:150:62 | getLogger(...) : Logger [java.util.logging.Logger.name] : String | provenance | MaD:47 |
|
||||
| Test.java:150:46:150:61 | (...)... : String | Test.java:150:29:150:62 | getLogger(...) : Logger [java.util.logging.Logger.name] : String | provenance | MaD:48 |
|
||||
| Test.java:150:54:150:61 | source(...) : Object | Test.java:150:46:150:61 | (...)... : String | provenance | |
|
||||
| Test.java:151:18:151:23 | logger : Logger [java.util.logging.Logger.name] : String | Test.java:151:18:151:33 | getName(...) | provenance | MaD:48 |
|
||||
| Test.java:151:18:151:23 | logger : Logger [java.util.logging.Logger.name] : String | Test.java:151:18:151:33 | getName(...) | provenance | MaD:49 |
|
||||
| Test.java:154:31:154:63 | compile(...) : Pattern | Test.java:155:18:155:24 | pattern | provenance | |
|
||||
| Test.java:154:47:154:62 | (...)... : String | Test.java:154:31:154:63 | compile(...) : Pattern | provenance | MaD:54 |
|
||||
| Test.java:154:47:154:62 | (...)... : String | Test.java:154:31:154:63 | compile(...) : Pattern | provenance | MaD:50 |
|
||||
| Test.java:154:55:154:62 | source(...) : Object | Test.java:154:47:154:62 | (...)... : String | provenance | |
|
||||
| Test.java:158:36:158:60 | new EventObject(...) : EventObject [source] : Object | Test.java:159:18:159:25 | eventObj : EventObject [source] : Object | provenance | |
|
||||
| Test.java:158:52:158:59 | source(...) : Object | Test.java:158:36:158:60 | new EventObject(...) : EventObject [source] : Object | provenance | MaD:49 |
|
||||
| Test.java:159:18:159:25 | eventObj : EventObject [source] : Object | Test.java:159:18:159:37 | getSource(...) | provenance | MaD:50 |
|
||||
| Test.java:158:52:158:59 | source(...) : Object | Test.java:158:36:158:60 | new EventObject(...) : EventObject [source] : Object | provenance | MaD:51 |
|
||||
| Test.java:159:18:159:25 | eventObj : EventObject [source] : Object | Test.java:159:18:159:37 | getSource(...) | provenance | MaD:52 |
|
||||
| Test.java:163:33:163:80 | (...)... : ResourceBundle [<map.value>] : Object | Test.java:164:19:164:20 | in : ResourceBundle [<map.value>] : Object | provenance | |
|
||||
| Test.java:163:49:163:80 | newWithMapValueDefault(...) : Object [<map.value>] : Object | Test.java:163:33:163:80 | (...)... : ResourceBundle [<map.value>] : Object | provenance | |
|
||||
| Test.java:163:72:163:79 | source(...) : Object | Test.java:163:49:163:80 | newWithMapValueDefault(...) : Object [<map.value>] : Object | provenance | MaD:55 |
|
||||
| Test.java:164:19:164:20 | in : ResourceBundle [<map.value>] : Object | Test.java:164:19:164:36 | getString(...) : String | provenance | MaD:51 |
|
||||
| Test.java:163:72:163:79 | source(...) : Object | Test.java:163:49:163:80 | newWithMapValueDefault(...) : Object [<map.value>] : Object | provenance | MaD:1 |
|
||||
| Test.java:164:19:164:20 | in : ResourceBundle [<map.value>] : Object | Test.java:164:19:164:36 | getString(...) : String | provenance | MaD:53 |
|
||||
| Test.java:164:19:164:36 | getString(...) : String | Test.java:165:18:165:20 | out | provenance | |
|
||||
| Test.java:168:40:168:67 | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | Test.java:169:26:169:34 | assertErr : AssertionError [java.lang.Throwable.message] : Object | provenance | |
|
||||
| Test.java:168:59:168:66 | source(...) : Object | Test.java:168:40:168:67 | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | provenance | MaD:9 |
|
||||
| Test.java:169:26:169:34 | assertErr : AssertionError [java.lang.Throwable.message] : Object | Test.java:169:26:169:47 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:168:59:168:66 | source(...) : Object | Test.java:168:40:168:67 | new AssertionError(...) : AssertionError [java.lang.Throwable.message] : Object | provenance | MaD:10 |
|
||||
| Test.java:169:26:169:34 | assertErr : AssertionError [java.lang.Throwable.message] : Object | Test.java:169:26:169:47 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:169:26:169:47 | getMessage(...) : String | Test.java:169:18:169:47 | (...)... | provenance | |
|
||||
| Test.java:171:34:171:41 | source(...) : Object | Test.java:171:18:171:42 | cast(...) | provenance | MaD:11 |
|
||||
| Test.java:171:34:171:41 | source(...) : Object | Test.java:171:18:171:42 | cast(...) | provenance | MaD:12 |
|
||||
| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | Test.java:175:29:175:34 | excep1 : Exception [java.lang.Throwable.cause] : Throwable | provenance | |
|
||||
| Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.message] : String | Test.java:174:26:174:31 | excep1 : Exception [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:173:46:173:61 | (...)... : String | Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.message] : String | provenance | MaD:13 |
|
||||
| Test.java:173:46:173:61 | (...)... : String | Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.message] : String | provenance | MaD:14 |
|
||||
| Test.java:173:54:173:61 | source(...) : Object | Test.java:173:46:173:61 | (...)... : String | provenance | |
|
||||
| Test.java:173:64:173:82 | (...)... : Throwable | Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | provenance | MaD:14 |
|
||||
| Test.java:173:64:173:82 | (...)... : Throwable | Test.java:173:32:173:83 | new Exception(...) : Exception [java.lang.Throwable.cause] : Throwable | provenance | MaD:15 |
|
||||
| Test.java:173:75:173:82 | source(...) : Object | Test.java:173:64:173:82 | (...)... : Throwable | provenance | |
|
||||
| Test.java:174:26:174:31 | excep1 : Exception [java.lang.Throwable.message] : String | Test.java:174:26:174:44 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:174:26:174:31 | excep1 : Exception [java.lang.Throwable.message] : String | Test.java:174:26:174:44 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:174:26:174:44 | getMessage(...) : String | Test.java:174:18:174:44 | (...)... | provenance | |
|
||||
| Test.java:175:29:175:34 | excep1 : Exception [java.lang.Throwable.cause] : Throwable | Test.java:175:29:175:45 | getCause(...) : Throwable | provenance | MaD:30 |
|
||||
| Test.java:175:29:175:34 | excep1 : Exception [java.lang.Throwable.cause] : Throwable | Test.java:175:29:175:45 | getCause(...) : Throwable | provenance | MaD:31 |
|
||||
| Test.java:175:29:175:45 | getCause(...) : Throwable | Test.java:175:18:175:45 | (...)... | provenance | |
|
||||
| Test.java:177:32:177:73 | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | Test.java:178:26:178:31 | excep2 : NullPointerException [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:177:57:177:72 | (...)... : String | Test.java:177:32:177:73 | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | provenance | MaD:18 |
|
||||
| Test.java:177:57:177:72 | (...)... : String | Test.java:177:32:177:73 | new NullPointerException(...) : NullPointerException [java.lang.Throwable.message] : String | provenance | MaD:19 |
|
||||
| Test.java:177:65:177:72 | source(...) : Object | Test.java:177:57:177:72 | (...)... : String | provenance | |
|
||||
| Test.java:178:26:178:31 | excep2 : NullPointerException [java.lang.Throwable.message] : String | Test.java:178:26:178:44 | getMessage(...) : String | provenance | MaD:31 |
|
||||
| Test.java:178:26:178:31 | excep2 : NullPointerException [java.lang.Throwable.message] : String | Test.java:178:26:178:44 | getMessage(...) : String | provenance | MaD:33 |
|
||||
| Test.java:178:26:178:44 | getMessage(...) : String | Test.java:178:18:178:44 | (...)... | provenance | |
|
||||
| Test.java:180:32:180:54 | (...)... : StringBuilder | Test.java:181:18:181:19 | sb : StringBuilder | provenance | |
|
||||
| Test.java:180:47:180:54 | source(...) : Object | Test.java:180:32:180:54 | (...)... : StringBuilder | provenance | |
|
||||
| Test.java:181:18:181:19 | sb : StringBuilder | Test.java:181:18:181:32 | delete(...) | provenance | MaD:8 |
|
||||
| Test.java:181:18:181:19 | sb : StringBuilder | Test.java:181:18:181:32 | delete(...) | provenance | MaD:9 |
|
||||
| Test.java:183:30:183:59 | new Thread(...) : Thread | Test.java:184:18:184:24 | thread1 | provenance | |
|
||||
| Test.java:183:41:183:58 | (...)... : Runnable | Test.java:183:30:183:59 | new Thread(...) : Thread | provenance | MaD:23 |
|
||||
| Test.java:183:41:183:58 | (...)... : Runnable | Test.java:183:30:183:59 | new Thread(...) : Thread | provenance | MaD:24 |
|
||||
| Test.java:183:51:183:58 | source(...) : Object | Test.java:183:41:183:58 | (...)... : Runnable | provenance | |
|
||||
| Test.java:186:30:186:57 | new Thread(...) : Thread [java.lang.Thread.name] : String | Test.java:187:18:187:24 | thread2 : Thread [java.lang.Thread.name] : String | provenance | |
|
||||
| Test.java:186:41:186:56 | (...)... : String | Test.java:186:30:186:57 | new Thread(...) : Thread [java.lang.Thread.name] : String | provenance | MaD:24 |
|
||||
| Test.java:186:41:186:56 | (...)... : String | Test.java:186:30:186:57 | new Thread(...) : Thread [java.lang.Thread.name] : String | provenance | MaD:25 |
|
||||
| Test.java:186:49:186:56 | source(...) : Object | Test.java:186:41:186:56 | (...)... : String | provenance | |
|
||||
| Test.java:187:18:187:24 | thread2 : Thread [java.lang.Thread.name] : String | Test.java:187:18:187:34 | getName(...) | provenance | MaD:25 |
|
||||
| Test.java:187:18:187:24 | thread2 : Thread [java.lang.Thread.name] : String | Test.java:187:18:187:34 | getName(...) | provenance | MaD:26 |
|
||||
| Test.java:190:13:190:21 | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | Test.java:191:18:191:26 | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | provenance | |
|
||||
| Test.java:190:27:190:34 | source(...) : Object | Test.java:190:13:190:21 | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | provenance | MaD:27 |
|
||||
| Test.java:191:18:191:26 | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | Test.java:191:18:191:32 | get(...) | provenance | MaD:26 |
|
||||
| Test.java:190:27:190:34 | source(...) : Object | Test.java:190:13:190:21 | threadloc [post update] : ThreadLocal [java.lang.ThreadLocal.value] : Object | provenance | MaD:28 |
|
||||
| Test.java:191:18:191:26 | threadloc : ThreadLocal [java.lang.ThreadLocal.value] : Object | Test.java:191:18:191:32 | get(...) | provenance | MaD:27 |
|
||||
| Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | Test.java:194:26:194:27 | th : Throwable [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | Test.java:195:18:195:19 | th : Throwable [java.lang.Throwable.message] : String | provenance | |
|
||||
| Test.java:193:42:193:57 | (...)... : String | Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | provenance | MaD:28 |
|
||||
| Test.java:193:42:193:57 | (...)... : String | Test.java:193:28:193:58 | new Throwable(...) : Throwable [java.lang.Throwable.message] : String | provenance | MaD:29 |
|
||||
| Test.java:193:50:193:57 | source(...) : Object | Test.java:193:42:193:57 | (...)... : String | provenance | |
|
||||
| Test.java:194:26:194:27 | th : Throwable [java.lang.Throwable.message] : String | Test.java:194:26:194:49 | getLocalizedMessage(...) : String | provenance | MaD:32 |
|
||||
| Test.java:194:26:194:49 | getLocalizedMessage(...) : String | Test.java:194:18:194:49 | (...)... | provenance | |
|
||||
| Test.java:195:18:195:19 | th : Throwable [java.lang.Throwable.message] : String | Test.java:195:18:195:30 | toString(...) | provenance | MaD:33 |
|
||||
| Test.java:195:18:195:19 | th : Throwable [java.lang.Throwable.message] : String | Test.java:195:18:195:30 | toString(...) | provenance | MaD:34 |
|
||||
nodes
|
||||
| Test.java:35:28:35:65 | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String | semmle.label | new RuntimeException(...) : RuntimeException [java.lang.Throwable.message] : String |
|
||||
| Test.java:35:49:35:64 | (...)... : String | semmle.label | (...)... : String |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,36 +1,36 @@
|
||||
models
|
||||
| 1 | Summary: java.util; Formatter; false; format; (String,Object[]); ; Argument[this]; ReturnValue; value; dfc-generated |
|
||||
| 1 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 2 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 3 | Summary: java.lang; AbstractStringBuilder; true; append; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 4 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: java.lang; String; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 3 | Summary: java.lang; CharSequence; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: java.lang; String; false; format; (String,Object[]); ; Argument[1].ArrayElement; ReturnValue; taint; manual |
|
||||
| 5 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
|
||||
| 6 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 7 | Summary: java.lang; String; false; formatted; (Object[]); ; Argument[0].ArrayElement; ReturnValue; taint; manual |
|
||||
| 7 | Summary: java.util; Formatter; false; format; (String,Object[]); ; Argument[this]; ReturnValue; value; dfc-generated |
|
||||
edges
|
||||
| A.java:12:22:12:29 | source(...) : String | A.java:15:14:15:16 | bad : String | provenance | |
|
||||
| A.java:12:22:12:29 | source(...) : String | A.java:16:34:16:36 | bad : String | provenance | |
|
||||
| A.java:12:22:12:29 | source(...) : String | A.java:17:36:17:38 | bad : String | provenance | |
|
||||
| A.java:12:22:12:29 | source(...) : String | A.java:19:107:19:109 | bad : String | provenance | |
|
||||
| A.java:15:14:15:16 | bad : String | A.java:15:14:15:32 | formatted(...) | provenance | MaD:6 |
|
||||
| A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | A.java:16:14:16:48 | formatted(...) | provenance | MaD:7 |
|
||||
| A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | A.java:16:14:16:48 | formatted(...) | provenance | MaD:5 |
|
||||
| A.java:16:34:16:36 | bad : String | A.java:16:14:16:48 | new ..[] { .. } : Object[] [[]] : String | provenance | |
|
||||
| A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | A.java:17:14:17:45 | format(...) | provenance | MaD:5 |
|
||||
| A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | A.java:17:14:17:45 | format(...) | provenance | MaD:4 |
|
||||
| A.java:17:36:17:38 | bad : String | A.java:17:14:17:45 | new ..[] { .. } : Object[] [[]] : String | provenance | |
|
||||
| A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | A.java:19:14:19:110 | format(...) | provenance | MaD:5 |
|
||||
| A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | A.java:19:14:19:110 | format(...) | provenance | MaD:4 |
|
||||
| A.java:19:107:19:109 | bad : String | A.java:19:14:19:110 | new ..[] { .. } : Object[] [[]] : String | provenance | |
|
||||
| A.java:23:22:23:29 | source(...) : String | A.java:27:14:27:32 | format(...) | provenance | TaintPreservingCallable |
|
||||
| A.java:23:22:23:29 | source(...) : String | A.java:28:14:28:25 | toString(...) | provenance | TaintPreservingCallable |
|
||||
| A.java:32:22:32:29 | source(...) : String | A.java:36:14:36:15 | sb : StringBuilder | provenance | formatStep |
|
||||
| A.java:32:22:32:29 | source(...) : String | A.java:37:14:37:32 | format(...) | provenance | TaintPreservingCallable |
|
||||
| A.java:32:22:32:29 | source(...) : String | A.java:38:14:38:15 | sb : StringBuilder | provenance | formatStep |
|
||||
| A.java:36:14:36:15 | sb : StringBuilder | A.java:36:14:36:26 | toString(...) | provenance | MaD:4 |
|
||||
| A.java:38:14:38:15 | sb : StringBuilder | A.java:38:14:38:26 | toString(...) | provenance | MaD:4 |
|
||||
| A.java:36:14:36:15 | sb : StringBuilder | A.java:36:14:36:26 | toString(...) | provenance | MaD:3 |
|
||||
| A.java:38:14:38:15 | sb : StringBuilder | A.java:38:14:38:26 | toString(...) | provenance | MaD:3 |
|
||||
| A.java:42:22:42:29 | source(...) : String | A.java:45:24:45:26 | bad : String | provenance | |
|
||||
| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:14:47:30 | new Formatter(...) : Formatter | provenance | TaintPreservingCallable |
|
||||
| A.java:45:14:45:15 | sb [post update] : StringBuilder | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable |
|
||||
| A.java:45:24:45:26 | bad : String | A.java:45:14:45:15 | sb [post update] : StringBuilder | provenance | MaD:3 |
|
||||
| A.java:45:24:45:26 | bad : String | A.java:45:14:45:27 | append(...) | provenance | MaD:3+MaD:2 |
|
||||
| A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:43 | format(...) : Formatter | provenance | MaD:1 |
|
||||
| A.java:45:24:45:26 | bad : String | A.java:45:14:45:15 | sb [post update] : StringBuilder | provenance | MaD:1 |
|
||||
| A.java:45:24:45:26 | bad : String | A.java:45:14:45:27 | append(...) | provenance | MaD:1+MaD:2 |
|
||||
| A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:43 | format(...) : Formatter | provenance | MaD:7 |
|
||||
| A.java:47:14:47:30 | new Formatter(...) : Formatter | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable |
|
||||
| A.java:47:14:47:43 | format(...) : Formatter | A.java:47:14:47:54 | toString(...) | provenance | TaintPreservingCallable |
|
||||
nodes
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
models
|
||||
| 1 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; convertValue; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue; ReturnValue; taint; manual |
|
||||
| 3 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue.Element; ReturnValue; taint; manual |
|
||||
| 2 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue.Element; ReturnValue; taint; manual |
|
||||
| 3 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue; ReturnValue; taint; manual |
|
||||
| 4 | Summary: java.io; FileOutputStream; true; FileOutputStream; (File); ; Argument[0]; Argument[this]; taint; df-generated |
|
||||
| 5 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 6 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
models
|
||||
| 1 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 2 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 1 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 3 | Source: java.net; Socket; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 4 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 5 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 4 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 5 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
edges
|
||||
| Test.java:10:31:10:41 | data : byte[] | Test.java:11:23:11:26 | data : byte[] | provenance | |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:2 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:1 |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:5 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:4 |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:22:49:22:52 | data : byte[] | provenance | |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:25:69:25:72 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:5 Sink:MaD:2 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:5 |
|
||||
nodes
|
||||
| Test.java:10:31:10:41 | data : byte[] | semmle.label | data : byte[] |
|
||||
| Test.java:11:12:11:51 | new String(...) : String | semmle.label | new String(...) : String |
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
models
|
||||
| 1 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 2 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 1 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 3 | Source: java.net; Socket; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 4 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 5 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 6 | Source: testlib; TestSources; false; executeQuery; (String); ; ReturnValue; database; manual |
|
||||
| 4 | Source: testlib; TestSources; false; executeQuery; (String); ; ReturnValue; database; manual |
|
||||
| 5 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 6 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
edges
|
||||
| Test.java:10:31:10:41 | data : byte[] | Test.java:11:23:11:26 | data : byte[] | provenance | |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:2 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:1 |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:6 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:5 |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:22:49:22:52 | data : byte[] | provenance | |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:25:69:25:72 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:6 Sink:MaD:2 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:33:26:33:68 | ... + ... | provenance | Src:MaD:6 Sink:MaD:4 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:36:36:36:41 | result | provenance | Src:MaD:6 Sink:MaD:5 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:6 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:33:26:33:68 | ... + ... | provenance | Src:MaD:4 Sink:MaD:1 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:36:36:36:41 | result | provenance | Src:MaD:4 Sink:MaD:2 |
|
||||
nodes
|
||||
| Test.java:10:31:10:41 | data : byte[] | semmle.label | data : byte[] |
|
||||
| Test.java:11:12:11:51 | new String(...) : String | semmle.label | new String(...) : String |
|
||||
|
||||
@@ -1,34 +1,34 @@
|
||||
models
|
||||
| 1 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 2 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 1 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 3 | Source: java.net; Socket; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 4 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 5 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 6 | Source: testlib; TestSources; false; executeQuery; (String); ; ReturnValue; database; manual |
|
||||
| 7 | Source: testlib; TestSources; false; readEnv; (String); ; ReturnValue; environment; manual |
|
||||
| 4 | Source: testlib; TestSources; false; executeQuery; (String); ; ReturnValue; database; manual |
|
||||
| 5 | Source: testlib; TestSources; false; readEnv; (String); ; ReturnValue; environment; manual |
|
||||
| 6 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 7 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
edges
|
||||
| Test.java:10:31:10:41 | data : byte[] | Test.java:11:23:11:26 | data : byte[] | provenance | |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:2 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:1 |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:7 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:6 |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:22:49:22:52 | data : byte[] | provenance | |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:25:69:25:72 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:7 Sink:MaD:2 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:33:26:33:68 | ... + ... | provenance | Src:MaD:6 Sink:MaD:4 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:36:36:36:41 | result | provenance | Src:MaD:6 Sink:MaD:5 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:44:26:44:68 | ... + ... | provenance | Src:MaD:7 Sink:MaD:4 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:47:36:47:41 | result | provenance | Src:MaD:7 Sink:MaD:5 |
|
||||
| Test.java:64:5:64:13 | System.in : InputStream | Test.java:64:20:64:23 | data [post update] : byte[] | provenance | MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:7 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:33:26:33:68 | ... + ... | provenance | Src:MaD:4 Sink:MaD:1 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:36:36:36:41 | result | provenance | Src:MaD:4 Sink:MaD:2 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:44:26:44:68 | ... + ... | provenance | Src:MaD:5 Sink:MaD:1 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:47:36:47:41 | result | provenance | Src:MaD:5 Sink:MaD:2 |
|
||||
| Test.java:64:5:64:13 | System.in : InputStream | Test.java:64:20:64:23 | data [post update] : byte[] | provenance | MaD:6 |
|
||||
| Test.java:64:20:64:23 | data [post update] : byte[] | Test.java:67:69:67:72 | data : byte[] | provenance | |
|
||||
| Test.java:64:20:64:23 | data [post update] : byte[] | Test.java:70:49:70:52 | data : byte[] | provenance | |
|
||||
| Test.java:67:56:67:73 | byteToString(...) : String | Test.java:67:26:67:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:67:56:67:73 | byteToString(...) : String | Test.java:67:26:67:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:67:56:67:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:67:56:67:73 | byteToString(...) : String | provenance | MaD:7 |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:70:36:70:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:70:36:70:53 | byteToString(...) | provenance | MaD:7 Sink:MaD:2 |
|
||||
nodes
|
||||
| Test.java:10:31:10:41 | data : byte[] | semmle.label | data : byte[] |
|
||||
| Test.java:11:12:11:51 | new String(...) : String | semmle.label | new String(...) : String |
|
||||
|
||||
@@ -1,37 +1,37 @@
|
||||
models
|
||||
| 1 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 2 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 1 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 3 | Source: java.net; Socket; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 4 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 5 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 6 | Source: testlib; TestSources; false; executeQuery; (String); ; ReturnValue; database; manual |
|
||||
| 7 | Source: testlib; TestSources; false; readEnv; (String); ; ReturnValue; environment; manual |
|
||||
| 8 | Source: testlib; TestSources; false; getCustom; (String); ; ReturnValue; custom; manual |
|
||||
| 4 | Source: testlib; TestSources; false; executeQuery; (String); ; ReturnValue; database; manual |
|
||||
| 5 | Source: testlib; TestSources; false; getCustom; (String); ; ReturnValue; custom; manual |
|
||||
| 6 | Source: testlib; TestSources; false; readEnv; (String); ; ReturnValue; environment; manual |
|
||||
| 7 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 8 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
edges
|
||||
| Test.java:10:31:10:41 | data : byte[] | Test.java:11:23:11:26 | data : byte[] | provenance | |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:2 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:1 |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:8 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:7 |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:22:49:22:52 | data : byte[] | provenance | |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:25:69:25:72 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:8 Sink:MaD:2 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:33:26:33:68 | ... + ... | provenance | Src:MaD:6 Sink:MaD:4 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:36:36:36:41 | result | provenance | Src:MaD:6 Sink:MaD:5 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:44:26:44:68 | ... + ... | provenance | Src:MaD:7 Sink:MaD:4 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:47:36:47:41 | result | provenance | Src:MaD:7 Sink:MaD:5 |
|
||||
| Test.java:52:21:52:47 | getCustom(...) : String | Test.java:55:26:55:68 | ... + ... | provenance | Src:MaD:8 Sink:MaD:4 |
|
||||
| Test.java:52:21:52:47 | getCustom(...) : String | Test.java:58:36:58:41 | result | provenance | Src:MaD:8 Sink:MaD:5 |
|
||||
| Test.java:64:5:64:13 | System.in : InputStream | Test.java:64:20:64:23 | data [post update] : byte[] | provenance | MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:8 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:33:26:33:68 | ... + ... | provenance | Src:MaD:4 Sink:MaD:1 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:36:36:36:41 | result | provenance | Src:MaD:4 Sink:MaD:2 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:44:26:44:68 | ... + ... | provenance | Src:MaD:6 Sink:MaD:1 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:47:36:47:41 | result | provenance | Src:MaD:6 Sink:MaD:2 |
|
||||
| Test.java:52:21:52:47 | getCustom(...) : String | Test.java:55:26:55:68 | ... + ... | provenance | Src:MaD:5 Sink:MaD:1 |
|
||||
| Test.java:52:21:52:47 | getCustom(...) : String | Test.java:58:36:58:41 | result | provenance | Src:MaD:5 Sink:MaD:2 |
|
||||
| Test.java:64:5:64:13 | System.in : InputStream | Test.java:64:20:64:23 | data [post update] : byte[] | provenance | MaD:7 |
|
||||
| Test.java:64:20:64:23 | data [post update] : byte[] | Test.java:67:69:67:72 | data : byte[] | provenance | |
|
||||
| Test.java:64:20:64:23 | data [post update] : byte[] | Test.java:70:49:70:52 | data : byte[] | provenance | |
|
||||
| Test.java:67:56:67:73 | byteToString(...) : String | Test.java:67:26:67:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:67:56:67:73 | byteToString(...) : String | Test.java:67:26:67:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:67:56:67:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:67:56:67:73 | byteToString(...) : String | provenance | MaD:8 |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:70:36:70:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:70:36:70:53 | byteToString(...) | provenance | MaD:8 Sink:MaD:2 |
|
||||
nodes
|
||||
| Test.java:10:31:10:41 | data : byte[] | semmle.label | data : byte[] |
|
||||
| Test.java:11:12:11:51 | new String(...) : String | semmle.label | new String(...) : String |
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
models
|
||||
| 1 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 2 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 1 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 3 | Source: java.net; Socket; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 4 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 5 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 6 | Source: testlib; TestSources; false; readEnv; (String); ; ReturnValue; environment; manual |
|
||||
| 4 | Source: testlib; TestSources; false; readEnv; (String); ; ReturnValue; environment; manual |
|
||||
| 5 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 6 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
edges
|
||||
| Test.java:10:31:10:41 | data : byte[] | Test.java:11:23:11:26 | data : byte[] | provenance | |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:2 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:1 |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:6 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:5 |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:22:49:22:52 | data : byte[] | provenance | |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:25:69:25:72 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:6 Sink:MaD:2 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:44:26:44:68 | ... + ... | provenance | Src:MaD:6 Sink:MaD:4 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:47:36:47:41 | result | provenance | Src:MaD:6 Sink:MaD:5 |
|
||||
| Test.java:64:5:64:13 | System.in : InputStream | Test.java:64:20:64:23 | data [post update] : byte[] | provenance | MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:6 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:44:26:44:68 | ... + ... | provenance | Src:MaD:4 Sink:MaD:1 |
|
||||
| Test.java:41:21:41:49 | readEnv(...) : String | Test.java:47:36:47:41 | result | provenance | Src:MaD:4 Sink:MaD:2 |
|
||||
| Test.java:64:5:64:13 | System.in : InputStream | Test.java:64:20:64:23 | data [post update] : byte[] | provenance | MaD:5 |
|
||||
| Test.java:64:20:64:23 | data [post update] : byte[] | Test.java:67:69:67:72 | data : byte[] | provenance | |
|
||||
| Test.java:64:20:64:23 | data [post update] : byte[] | Test.java:70:49:70:52 | data : byte[] | provenance | |
|
||||
| Test.java:67:56:67:73 | byteToString(...) : String | Test.java:67:26:67:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:67:56:67:73 | byteToString(...) : String | Test.java:67:26:67:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:67:56:67:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:67:56:67:73 | byteToString(...) : String | provenance | MaD:6 |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:70:36:70:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:70:36:70:53 | byteToString(...) | provenance | MaD:6 Sink:MaD:2 |
|
||||
nodes
|
||||
| Test.java:10:31:10:41 | data : byte[] | semmle.label | data : byte[] |
|
||||
| Test.java:11:12:11:51 | new String(...) : String | semmle.label | new String(...) : String |
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
models
|
||||
| 1 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 2 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 1 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 2 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 3 | Source: java.net; Socket; false; getInputStream; (); ; ReturnValue; remote; manual |
|
||||
| 4 | Sink: java.sql; Statement; true; executeUpdate; ; ; Argument[0]; sql-injection; manual |
|
||||
| 5 | Sink: java.util.logging; Logger; true; severe; ; ; Argument[0]; log-injection; manual |
|
||||
| 6 | Source: testlib; TestSources; false; executeQuery; (String); ; ReturnValue; database; manual |
|
||||
| 4 | Source: testlib; TestSources; false; executeQuery; (String); ; ReturnValue; database; manual |
|
||||
| 5 | Summary: java.io; InputStream; true; read; (byte[]); ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 6 | Summary: java.lang; String; false; String; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
edges
|
||||
| Test.java:10:31:10:41 | data : byte[] | Test.java:11:23:11:26 | data : byte[] | provenance | |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:2 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:1 |
|
||||
| Test.java:11:23:11:26 | data : byte[] | Test.java:11:12:11:51 | new String(...) : String | provenance | MaD:6 |
|
||||
| Test.java:19:5:19:25 | getInputStream(...) : InputStream | Test.java:19:32:19:35 | data [post update] : byte[] | provenance | Src:MaD:3 MaD:5 |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:22:49:22:52 | data : byte[] | provenance | |
|
||||
| Test.java:19:32:19:35 | data [post update] : byte[] | Test.java:25:69:25:72 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:22:49:22:52 | data : byte[] | Test.java:22:36:22:53 | byteToString(...) | provenance | MaD:6 Sink:MaD:2 |
|
||||
| Test.java:25:56:25:73 | byteToString(...) : String | Test.java:25:26:25:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:33:26:33:68 | ... + ... | provenance | Src:MaD:6 Sink:MaD:4 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:36:36:36:41 | result | provenance | Src:MaD:6 Sink:MaD:5 |
|
||||
| Test.java:64:5:64:13 | System.in : InputStream | Test.java:64:20:64:23 | data [post update] : byte[] | provenance | MaD:1 |
|
||||
| Test.java:25:69:25:72 | data : byte[] | Test.java:25:56:25:73 | byteToString(...) : String | provenance | MaD:6 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:33:26:33:68 | ... + ... | provenance | Src:MaD:4 Sink:MaD:1 |
|
||||
| Test.java:30:21:30:61 | executeQuery(...) : String | Test.java:36:36:36:41 | result | provenance | Src:MaD:4 Sink:MaD:2 |
|
||||
| Test.java:64:5:64:13 | System.in : InputStream | Test.java:64:20:64:23 | data [post update] : byte[] | provenance | MaD:5 |
|
||||
| Test.java:64:20:64:23 | data [post update] : byte[] | Test.java:67:69:67:72 | data : byte[] | provenance | |
|
||||
| Test.java:64:20:64:23 | data [post update] : byte[] | Test.java:70:49:70:52 | data : byte[] | provenance | |
|
||||
| Test.java:67:56:67:73 | byteToString(...) : String | Test.java:67:26:67:80 | ... + ... | provenance | Sink:MaD:4 |
|
||||
| Test.java:67:56:67:73 | byteToString(...) : String | Test.java:67:26:67:80 | ... + ... | provenance | Sink:MaD:1 |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:67:56:67:73 | byteToString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:67:69:67:72 | data : byte[] | Test.java:67:56:67:73 | byteToString(...) : String | provenance | MaD:6 |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:10:31:10:41 | data : byte[] | provenance | |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:70:36:70:53 | byteToString(...) | provenance | MaD:2 Sink:MaD:5 |
|
||||
| Test.java:70:49:70:52 | data : byte[] | Test.java:70:36:70:53 | byteToString(...) | provenance | MaD:6 Sink:MaD:2 |
|
||||
nodes
|
||||
| Test.java:10:31:10:41 | data : byte[] | semmle.label | data : byte[] |
|
||||
| Test.java:11:12:11:51 | new String(...) : String | semmle.label | new String(...) : String |
|
||||
|
||||
@@ -4,17 +4,17 @@
|
||||
| UrlRedirectJax.java:10:24:10:62 | new URI(...) | UrlRedirectJax.java:10:32:10:61 | getParameter(...) : String | UrlRedirectJax.java:10:24:10:62 | new URI(...) | Untrusted URL redirection depends on a $@. | UrlRedirectJax.java:10:32:10:61 | getParameter(...) | user-provided value |
|
||||
| UrlRedirectJax.java:13:33:13:71 | new URI(...) | UrlRedirectJax.java:13:41:13:70 | getParameter(...) : String | UrlRedirectJax.java:13:33:13:71 | new URI(...) | Untrusted URL redirection depends on a $@. | UrlRedirectJax.java:13:41:13:70 | getParameter(...) | user-provided value |
|
||||
edges
|
||||
| UrlRedirectJakarta.java:10:32:10:61 | getParameter(...) : String | UrlRedirectJakarta.java:10:24:10:62 | new URI(...) | provenance | Src:MaD:4 MaD:3 Sink:MaD:1 |
|
||||
| UrlRedirectJakarta.java:13:41:13:70 | getParameter(...) : String | UrlRedirectJakarta.java:13:33:13:71 | new URI(...) | provenance | Src:MaD:4 MaD:3 Sink:MaD:2 |
|
||||
| UrlRedirectJax.java:10:32:10:61 | getParameter(...) : String | UrlRedirectJax.java:10:24:10:62 | new URI(...) | provenance | Src:MaD:4 MaD:3 Sink:MaD:5 |
|
||||
| UrlRedirectJax.java:13:41:13:70 | getParameter(...) : String | UrlRedirectJax.java:13:33:13:71 | new URI(...) | provenance | Src:MaD:4 MaD:3 Sink:MaD:6 |
|
||||
| UrlRedirectJakarta.java:10:32:10:61 | getParameter(...) : String | UrlRedirectJakarta.java:10:24:10:62 | new URI(...) | provenance | Src:MaD:5 MaD:6 Sink:MaD:1 |
|
||||
| UrlRedirectJakarta.java:13:41:13:70 | getParameter(...) : String | UrlRedirectJakarta.java:13:33:13:71 | new URI(...) | provenance | Src:MaD:5 MaD:6 Sink:MaD:2 |
|
||||
| UrlRedirectJax.java:10:32:10:61 | getParameter(...) : String | UrlRedirectJax.java:10:24:10:62 | new URI(...) | provenance | Src:MaD:5 MaD:6 Sink:MaD:3 |
|
||||
| UrlRedirectJax.java:13:41:13:70 | getParameter(...) : String | UrlRedirectJax.java:13:33:13:71 | new URI(...) | provenance | Src:MaD:5 MaD:6 Sink:MaD:4 |
|
||||
models
|
||||
| 1 | Sink: jakarta.ws.rs.core; Response; true; seeOther; ; ; Argument[0]; url-redirection; manual |
|
||||
| 2 | Sink: jakarta.ws.rs.core; Response; true; temporaryRedirect; ; ; Argument[0]; url-redirection; manual |
|
||||
| 3 | Summary: java.net; URI; false; URI; (String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 4 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 5 | Sink: javax.ws.rs.core; Response; true; seeOther; ; ; Argument[0]; url-redirection; manual |
|
||||
| 6 | Sink: javax.ws.rs.core; Response; true; temporaryRedirect; ; ; Argument[0]; url-redirection; manual |
|
||||
| 3 | Sink: javax.ws.rs.core; Response; true; seeOther; ; ; Argument[0]; url-redirection; manual |
|
||||
| 4 | Sink: javax.ws.rs.core; Response; true; temporaryRedirect; ; ; Argument[0]; url-redirection; manual |
|
||||
| 5 | Source: javax.servlet; ServletRequest; false; getParameter; (String); ; ReturnValue; remote; manual |
|
||||
| 6 | Summary: java.net; URI; false; URI; (String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
nodes
|
||||
| UrlRedirectJakarta.java:10:24:10:62 | new URI(...) | semmle.label | new URI(...) |
|
||||
| UrlRedirectJakarta.java:10:32:10:61 | getParameter(...) : String | semmle.label | getParameter(...) : String |
|
||||
|
||||
@@ -7,29 +7,29 @@ models
|
||||
| 6 | Summary: android.content; ContentProviderClient; true; insert; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 7 | Summary: android.content; ContentProviderClient; true; query; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 8 | Summary: android.content; ContentProviderClient; true; uncanonicalize; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 9 | Summary: android.content; ContentProviderOperation; false; apply; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: android.content; ContentProviderOperation; false; apply; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 11 | Summary: android.content; ContentProviderOperation; false; getUri; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 12 | Summary: android.content; ContentProviderOperation; false; newAssertQuery; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 13 | Summary: android.content; ContentProviderOperation; false; newCall; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 14 | Summary: android.content; ContentProviderOperation; false; newDelete; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 15 | Summary: android.content; ContentProviderOperation; false; newInsert; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 16 | Summary: android.content; ContentProviderOperation; false; newUpdate; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 17 | Summary: android.content; ContentProviderOperation; false; resolveExtrasBackReferences; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 18 | Summary: android.content; ContentProviderOperation; false; resolveSelectionArgsBackReferences; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 19 | Summary: android.content; ContentProviderOperation; false; resolveValueBackReferences; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 20 | Summary: android.content; ContentProviderOperation$Builder; false; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 21 | Summary: android.content; ContentProviderOperation$Builder; false; withExceptionAllowed; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 22 | Summary: android.content; ContentProviderOperation$Builder; false; withExpectedCount; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 23 | Summary: android.content; ContentProviderOperation$Builder; false; withExtra; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 24 | Summary: android.content; ContentProviderOperation$Builder; false; withExtraBackReference; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 25 | Summary: android.content; ContentProviderOperation$Builder; false; withExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 26 | Summary: android.content; ContentProviderOperation$Builder; false; withSelection; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 27 | Summary: android.content; ContentProviderOperation$Builder; false; withSelectionBackReference; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 28 | Summary: android.content; ContentProviderOperation$Builder; false; withValue; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 29 | Summary: android.content; ContentProviderOperation$Builder; false; withValueBackReference; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 30 | Summary: android.content; ContentProviderOperation$Builder; false; withValues; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 31 | Summary: android.content; ContentProviderOperation$Builder; false; withYieldAllowed; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 9 | Summary: android.content; ContentProviderOperation$Builder; false; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: android.content; ContentProviderOperation$Builder; false; withExceptionAllowed; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 11 | Summary: android.content; ContentProviderOperation$Builder; false; withExpectedCount; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 12 | Summary: android.content; ContentProviderOperation$Builder; false; withExtra; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 13 | Summary: android.content; ContentProviderOperation$Builder; false; withExtraBackReference; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 14 | Summary: android.content; ContentProviderOperation$Builder; false; withExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 15 | Summary: android.content; ContentProviderOperation$Builder; false; withSelection; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 16 | Summary: android.content; ContentProviderOperation$Builder; false; withSelectionBackReference; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 17 | Summary: android.content; ContentProviderOperation$Builder; false; withValue; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 18 | Summary: android.content; ContentProviderOperation$Builder; false; withValueBackReference; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 19 | Summary: android.content; ContentProviderOperation$Builder; false; withValues; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 20 | Summary: android.content; ContentProviderOperation$Builder; false; withYieldAllowed; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 21 | Summary: android.content; ContentProviderOperation; false; apply; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 22 | Summary: android.content; ContentProviderOperation; false; apply; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 23 | Summary: android.content; ContentProviderOperation; false; getUri; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 24 | Summary: android.content; ContentProviderOperation; false; newAssertQuery; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 25 | Summary: android.content; ContentProviderOperation; false; newCall; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 26 | Summary: android.content; ContentProviderOperation; false; newDelete; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 27 | Summary: android.content; ContentProviderOperation; false; newInsert; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 28 | Summary: android.content; ContentProviderOperation; false; newUpdate; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 29 | Summary: android.content; ContentProviderOperation; false; resolveExtrasBackReferences; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 30 | Summary: android.content; ContentProviderOperation; false; resolveSelectionArgsBackReferences; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 31 | Summary: android.content; ContentProviderOperation; false; resolveValueBackReferences; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 32 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Bundle); ; Argument[0]; Argument[this].Field[android.content.ContentProviderResult.extras]; value; manual |
|
||||
| 33 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Parcel); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 34 | Summary: android.content; ContentProviderResult; false; ContentProviderResult; (Throwable); ; Argument[0]; Argument[this].Field[android.content.ContentProviderResult.exception]; value; manual |
|
||||
@@ -42,9 +42,9 @@ models
|
||||
| 41 | Summary: android.content; ContentResolver; true; getStreamTypes; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 42 | Summary: android.content; ContentResolver; true; getType; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 43 | Summary: android.content; ContentResolver; true; insert; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 44 | Summary: android.content; ContentResolver; true; query; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 45 | Summary: android.content; ContentResolver; true; query; (Uri,String[],String,String[],String); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 46 | Summary: android.content; ContentResolver; true; query; (Uri,String[],String,String[],String,CancellationSignal); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 44 | Summary: android.content; ContentResolver; true; query; (Uri,String[],String,String[],String); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 45 | Summary: android.content; ContentResolver; true; query; (Uri,String[],String,String[],String,CancellationSignal); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 46 | Summary: android.content; ContentResolver; true; query; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 47 | Summary: android.content; ContentResolver; true; uncanonicalize; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 48 | Summary: android.content; ContentResolver; true; wrap; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 49 | Summary: android.content; ContentValues; false; put; ; ; Argument[0]; Argument[this].MapKey; value; manual |
|
||||
@@ -60,10 +60,10 @@ models
|
||||
| 59 | Summary: android.database; Cursor; true; getNotificationUris; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 60 | Summary: android.database; Cursor; true; getString; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 61 | Summary: android.database; Cursor; true; respond; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 62 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual |
|
||||
| 63 | Summary: generatedtest; Test; false; newWithMapKeyDefault; (Object); ; Argument[0]; ReturnValue.MapKey; value; manual |
|
||||
| 64 | Summary: generatedtest; Test; false; getMapValueDefault; (Object); ; Argument[0].MapValue; ReturnValue; value; manual |
|
||||
| 65 | Summary: generatedtest; Test; false; getMapKeyDefault; (Object); ; Argument[0].MapKey; ReturnValue; value; manual |
|
||||
| 62 | Summary: generatedtest; Test; false; getMapKeyDefault; (Object); ; Argument[0].MapKey; ReturnValue; value; manual |
|
||||
| 63 | Summary: generatedtest; Test; false; getMapValueDefault; (Object); ; Argument[0].MapValue; ReturnValue; value; manual |
|
||||
| 64 | Summary: generatedtest; Test; false; newWithMapKeyDefault; (Object); ; Argument[0]; ReturnValue.MapKey; value; manual |
|
||||
| 65 | Summary: generatedtest; Test; false; newWithMapValueDefault; (Object); ; Argument[0]; ReturnValue.MapValue; value; manual |
|
||||
edges
|
||||
| Test.java:47:31:47:62 | (...)... : ContentProviderClient | Test.java:48:10:48:11 | in : ContentProviderClient | provenance | |
|
||||
| Test.java:47:55:47:62 | source(...) : Object | Test.java:47:31:47:62 | (...)... : ContentProviderClient | provenance | |
|
||||
@@ -119,108 +119,108 @@ edges
|
||||
| Test.java:132:10:132:32 | uncanonicalize(...) : Uri | Test.java:133:9:133:11 | out | provenance | |
|
||||
| Test.java:138:42:138:84 | (...)... : Builder | Test.java:139:10:139:11 | in : Builder | provenance | |
|
||||
| Test.java:138:77:138:84 | source(...) : Object | Test.java:138:42:138:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:139:10:139:11 | in : Builder | Test.java:139:10:139:19 | build(...) : ContentProviderOperation | provenance | MaD:20 |
|
||||
| Test.java:139:10:139:11 | in : Builder | Test.java:139:10:139:19 | build(...) : ContentProviderOperation | provenance | MaD:9 |
|
||||
| Test.java:139:10:139:19 | build(...) : ContentProviderOperation | Test.java:140:9:140:11 | out | provenance | |
|
||||
| Test.java:145:42:145:84 | (...)... : Builder | Test.java:146:10:146:11 | in : Builder | provenance | |
|
||||
| Test.java:145:77:145:84 | source(...) : Object | Test.java:145:42:145:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:146:10:146:11 | in : Builder | Test.java:146:10:146:39 | withExceptionAllowed(...) : Builder | provenance | MaD:21 |
|
||||
| Test.java:146:10:146:11 | in : Builder | Test.java:146:10:146:39 | withExceptionAllowed(...) : Builder | provenance | MaD:10 |
|
||||
| Test.java:146:10:146:39 | withExceptionAllowed(...) : Builder | Test.java:147:9:147:11 | out | provenance | |
|
||||
| Test.java:152:42:152:84 | (...)... : Builder | Test.java:153:10:153:11 | in : Builder | provenance | |
|
||||
| Test.java:152:77:152:84 | source(...) : Object | Test.java:152:42:152:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:153:10:153:11 | in : Builder | Test.java:153:10:153:32 | withExpectedCount(...) : Builder | provenance | MaD:22 |
|
||||
| Test.java:153:10:153:11 | in : Builder | Test.java:153:10:153:32 | withExpectedCount(...) : Builder | provenance | MaD:11 |
|
||||
| Test.java:153:10:153:32 | withExpectedCount(...) : Builder | Test.java:154:9:154:11 | out | provenance | |
|
||||
| Test.java:159:42:159:84 | (...)... : Builder | Test.java:160:10:160:11 | in : Builder | provenance | |
|
||||
| Test.java:159:77:159:84 | source(...) : Object | Test.java:159:42:159:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:160:10:160:11 | in : Builder | Test.java:160:10:160:33 | withExtra(...) : Builder | provenance | MaD:23 |
|
||||
| Test.java:160:10:160:11 | in : Builder | Test.java:160:10:160:33 | withExtra(...) : Builder | provenance | MaD:12 |
|
||||
| Test.java:160:10:160:33 | withExtra(...) : Builder | Test.java:161:9:161:11 | out | provenance | |
|
||||
| Test.java:166:42:166:84 | (...)... : Builder | Test.java:167:10:167:11 | in : Builder | provenance | |
|
||||
| Test.java:166:77:166:84 | source(...) : Object | Test.java:166:42:166:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:167:10:167:11 | in : Builder | Test.java:167:10:167:43 | withExtraBackReference(...) : Builder | provenance | MaD:24 |
|
||||
| Test.java:167:10:167:11 | in : Builder | Test.java:167:10:167:43 | withExtraBackReference(...) : Builder | provenance | MaD:13 |
|
||||
| Test.java:167:10:167:43 | withExtraBackReference(...) : Builder | Test.java:168:9:168:11 | out | provenance | |
|
||||
| Test.java:173:42:173:84 | (...)... : Builder | Test.java:174:10:174:11 | in : Builder | provenance | |
|
||||
| Test.java:173:77:173:84 | source(...) : Object | Test.java:173:42:173:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:174:10:174:11 | in : Builder | Test.java:174:10:174:49 | withExtraBackReference(...) : Builder | provenance | MaD:24 |
|
||||
| Test.java:174:10:174:11 | in : Builder | Test.java:174:10:174:49 | withExtraBackReference(...) : Builder | provenance | MaD:13 |
|
||||
| Test.java:174:10:174:49 | withExtraBackReference(...) : Builder | Test.java:175:9:175:11 | out | provenance | |
|
||||
| Test.java:180:42:180:84 | (...)... : Builder | Test.java:181:10:181:11 | in : Builder | provenance | |
|
||||
| Test.java:180:77:180:84 | source(...) : Object | Test.java:180:42:180:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:181:10:181:11 | in : Builder | Test.java:181:10:181:28 | withExtras(...) : Builder | provenance | MaD:25 |
|
||||
| Test.java:181:10:181:11 | in : Builder | Test.java:181:10:181:28 | withExtras(...) : Builder | provenance | MaD:14 |
|
||||
| Test.java:181:10:181:28 | withExtras(...) : Builder | Test.java:182:9:182:11 | out | provenance | |
|
||||
| Test.java:187:42:187:84 | (...)... : Builder | Test.java:188:10:188:11 | in : Builder | provenance | |
|
||||
| Test.java:187:77:187:84 | source(...) : Object | Test.java:187:42:187:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:188:10:188:11 | in : Builder | Test.java:188:10:188:37 | withSelection(...) : Builder | provenance | MaD:26 |
|
||||
| Test.java:188:10:188:11 | in : Builder | Test.java:188:10:188:37 | withSelection(...) : Builder | provenance | MaD:15 |
|
||||
| Test.java:188:10:188:37 | withSelection(...) : Builder | Test.java:189:9:189:11 | out | provenance | |
|
||||
| Test.java:194:42:194:84 | (...)... : Builder | Test.java:195:10:195:11 | in : Builder | provenance | |
|
||||
| Test.java:194:77:194:84 | source(...) : Object | Test.java:194:42:194:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:195:10:195:11 | in : Builder | Test.java:195:10:195:44 | withSelectionBackReference(...) : Builder | provenance | MaD:27 |
|
||||
| Test.java:195:10:195:11 | in : Builder | Test.java:195:10:195:44 | withSelectionBackReference(...) : Builder | provenance | MaD:16 |
|
||||
| Test.java:195:10:195:44 | withSelectionBackReference(...) : Builder | Test.java:196:9:196:11 | out | provenance | |
|
||||
| Test.java:201:42:201:84 | (...)... : Builder | Test.java:202:10:202:11 | in : Builder | provenance | |
|
||||
| Test.java:201:77:201:84 | source(...) : Object | Test.java:201:42:201:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:202:10:202:11 | in : Builder | Test.java:202:10:202:50 | withSelectionBackReference(...) : Builder | provenance | MaD:27 |
|
||||
| Test.java:202:10:202:11 | in : Builder | Test.java:202:10:202:50 | withSelectionBackReference(...) : Builder | provenance | MaD:16 |
|
||||
| Test.java:202:10:202:50 | withSelectionBackReference(...) : Builder | Test.java:203:9:203:11 | out | provenance | |
|
||||
| Test.java:208:42:208:84 | (...)... : Builder | Test.java:209:10:209:11 | in : Builder | provenance | |
|
||||
| Test.java:208:77:208:84 | source(...) : Object | Test.java:208:42:208:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:209:10:209:11 | in : Builder | Test.java:209:10:209:33 | withValue(...) : Builder | provenance | MaD:28 |
|
||||
| Test.java:209:10:209:11 | in : Builder | Test.java:209:10:209:33 | withValue(...) : Builder | provenance | MaD:17 |
|
||||
| Test.java:209:10:209:33 | withValue(...) : Builder | Test.java:210:9:210:11 | out | provenance | |
|
||||
| Test.java:215:42:215:84 | (...)... : Builder | Test.java:216:10:216:11 | in : Builder | provenance | |
|
||||
| Test.java:215:77:215:84 | source(...) : Object | Test.java:215:42:215:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:216:10:216:11 | in : Builder | Test.java:216:10:216:43 | withValueBackReference(...) : Builder | provenance | MaD:29 |
|
||||
| Test.java:216:10:216:11 | in : Builder | Test.java:216:10:216:43 | withValueBackReference(...) : Builder | provenance | MaD:18 |
|
||||
| Test.java:216:10:216:43 | withValueBackReference(...) : Builder | Test.java:217:9:217:11 | out | provenance | |
|
||||
| Test.java:222:42:222:84 | (...)... : Builder | Test.java:223:10:223:11 | in : Builder | provenance | |
|
||||
| Test.java:222:77:222:84 | source(...) : Object | Test.java:222:42:222:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:223:10:223:11 | in : Builder | Test.java:223:10:223:49 | withValueBackReference(...) : Builder | provenance | MaD:29 |
|
||||
| Test.java:223:10:223:11 | in : Builder | Test.java:223:10:223:49 | withValueBackReference(...) : Builder | provenance | MaD:18 |
|
||||
| Test.java:223:10:223:49 | withValueBackReference(...) : Builder | Test.java:224:9:224:11 | out | provenance | |
|
||||
| Test.java:229:42:229:84 | (...)... : Builder | Test.java:230:10:230:11 | in : Builder | provenance | |
|
||||
| Test.java:229:77:229:84 | source(...) : Object | Test.java:229:42:229:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:230:10:230:11 | in : Builder | Test.java:230:10:230:28 | withValues(...) : Builder | provenance | MaD:30 |
|
||||
| Test.java:230:10:230:11 | in : Builder | Test.java:230:10:230:28 | withValues(...) : Builder | provenance | MaD:19 |
|
||||
| Test.java:230:10:230:28 | withValues(...) : Builder | Test.java:231:9:231:11 | out | provenance | |
|
||||
| Test.java:236:42:236:84 | (...)... : Builder | Test.java:237:10:237:11 | in : Builder | provenance | |
|
||||
| Test.java:236:77:236:84 | source(...) : Object | Test.java:236:42:236:84 | (...)... : Builder | provenance | |
|
||||
| Test.java:237:10:237:11 | in : Builder | Test.java:237:10:237:35 | withYieldAllowed(...) : Builder | provenance | MaD:31 |
|
||||
| Test.java:237:10:237:11 | in : Builder | Test.java:237:10:237:35 | withYieldAllowed(...) : Builder | provenance | MaD:20 |
|
||||
| Test.java:237:10:237:35 | withYieldAllowed(...) : Builder | Test.java:238:9:238:11 | out | provenance | |
|
||||
| Test.java:243:34:243:68 | (...)... : ContentProviderOperation | Test.java:244:10:244:11 | in : ContentProviderOperation | provenance | |
|
||||
| Test.java:243:61:243:68 | source(...) : Object | Test.java:243:34:243:68 | (...)... : ContentProviderOperation | provenance | |
|
||||
| Test.java:244:10:244:11 | in : ContentProviderOperation | Test.java:244:10:244:32 | apply(...) : ContentProviderResult | provenance | MaD:9 |
|
||||
| Test.java:244:10:244:11 | in : ContentProviderOperation | Test.java:244:10:244:32 | apply(...) : ContentProviderResult | provenance | MaD:22 |
|
||||
| Test.java:244:10:244:32 | apply(...) : ContentProviderResult | Test.java:245:9:245:11 | out | provenance | |
|
||||
| Test.java:250:25:250:50 | (...)... : ContentProvider | Test.java:252:25:252:26 | in : ContentProvider | provenance | |
|
||||
| Test.java:250:43:250:50 | source(...) : Object | Test.java:250:25:250:50 | (...)... : ContentProvider | provenance | |
|
||||
| Test.java:252:10:252:36 | apply(...) : ContentProviderResult | Test.java:253:9:253:11 | out | provenance | |
|
||||
| Test.java:252:25:252:26 | in : ContentProvider | Test.java:252:10:252:36 | apply(...) : ContentProviderResult | provenance | MaD:10 |
|
||||
| Test.java:252:25:252:26 | in : ContentProvider | Test.java:252:10:252:36 | apply(...) : ContentProviderResult | provenance | MaD:21 |
|
||||
| Test.java:258:34:258:68 | (...)... : ContentProviderOperation | Test.java:259:10:259:11 | in : ContentProviderOperation | provenance | |
|
||||
| Test.java:258:61:258:68 | source(...) : Object | Test.java:258:34:258:68 | (...)... : ContentProviderOperation | provenance | |
|
||||
| Test.java:259:10:259:11 | in : ContentProviderOperation | Test.java:259:10:259:20 | getUri(...) : Uri | provenance | MaD:11 |
|
||||
| Test.java:259:10:259:11 | in : ContentProviderOperation | Test.java:259:10:259:20 | getUri(...) : Uri | provenance | MaD:23 |
|
||||
| Test.java:259:10:259:20 | getUri(...) : Uri | Test.java:260:9:260:11 | out | provenance | |
|
||||
| Test.java:265:13:265:26 | (...)... : Uri | Test.java:266:50:266:51 | in : Uri | provenance | |
|
||||
| Test.java:265:19:265:26 | source(...) : Object | Test.java:265:13:265:26 | (...)... : Uri | provenance | |
|
||||
| Test.java:266:10:266:52 | newAssertQuery(...) : Builder | Test.java:267:9:267:11 | out | provenance | |
|
||||
| Test.java:266:50:266:51 | in : Uri | Test.java:266:10:266:52 | newAssertQuery(...) : Builder | provenance | MaD:12 |
|
||||
| Test.java:266:50:266:51 | in : Uri | Test.java:266:10:266:52 | newAssertQuery(...) : Builder | provenance | MaD:24 |
|
||||
| Test.java:272:13:272:26 | (...)... : Uri | Test.java:273:43:273:44 | in : Uri | provenance | |
|
||||
| Test.java:272:19:272:26 | source(...) : Object | Test.java:272:13:272:26 | (...)... : Uri | provenance | |
|
||||
| Test.java:273:10:273:57 | newCall(...) : Builder | Test.java:274:9:274:11 | out | provenance | |
|
||||
| Test.java:273:43:273:44 | in : Uri | Test.java:273:10:273:57 | newCall(...) : Builder | provenance | MaD:13 |
|
||||
| Test.java:273:43:273:44 | in : Uri | Test.java:273:10:273:57 | newCall(...) : Builder | provenance | MaD:25 |
|
||||
| Test.java:279:13:279:26 | (...)... : Uri | Test.java:280:45:280:46 | in : Uri | provenance | |
|
||||
| Test.java:279:19:279:26 | source(...) : Object | Test.java:279:13:279:26 | (...)... : Uri | provenance | |
|
||||
| Test.java:280:10:280:47 | newDelete(...) : Builder | Test.java:281:9:281:11 | out | provenance | |
|
||||
| Test.java:280:45:280:46 | in : Uri | Test.java:280:10:280:47 | newDelete(...) : Builder | provenance | MaD:14 |
|
||||
| Test.java:280:45:280:46 | in : Uri | Test.java:280:10:280:47 | newDelete(...) : Builder | provenance | MaD:26 |
|
||||
| Test.java:286:13:286:26 | (...)... : Uri | Test.java:287:45:287:46 | in : Uri | provenance | |
|
||||
| Test.java:286:19:286:26 | source(...) : Object | Test.java:286:13:286:26 | (...)... : Uri | provenance | |
|
||||
| Test.java:287:10:287:47 | newInsert(...) : Builder | Test.java:288:9:288:11 | out | provenance | |
|
||||
| Test.java:287:45:287:46 | in : Uri | Test.java:287:10:287:47 | newInsert(...) : Builder | provenance | MaD:15 |
|
||||
| Test.java:287:45:287:46 | in : Uri | Test.java:287:10:287:47 | newInsert(...) : Builder | provenance | MaD:27 |
|
||||
| Test.java:293:13:293:26 | (...)... : Uri | Test.java:294:45:294:46 | in : Uri | provenance | |
|
||||
| Test.java:293:19:293:26 | source(...) : Object | Test.java:293:13:293:26 | (...)... : Uri | provenance | |
|
||||
| Test.java:294:10:294:47 | newUpdate(...) : Builder | Test.java:295:9:295:11 | out | provenance | |
|
||||
| Test.java:294:45:294:46 | in : Uri | Test.java:294:10:294:47 | newUpdate(...) : Builder | provenance | MaD:16 |
|
||||
| Test.java:294:45:294:46 | in : Uri | Test.java:294:10:294:47 | newUpdate(...) : Builder | provenance | MaD:28 |
|
||||
| Test.java:300:33:300:66 | (...)... : ContentProviderResult[] | Test.java:302:47:302:48 | in : ContentProviderResult[] | provenance | |
|
||||
| Test.java:300:59:300:66 | source(...) : Object | Test.java:300:33:300:66 | (...)... : ContentProviderResult[] | provenance | |
|
||||
| Test.java:302:10:302:52 | resolveExtrasBackReferences(...) : Bundle | Test.java:303:9:303:11 | out | provenance | |
|
||||
| Test.java:302:47:302:48 | in : ContentProviderResult[] | Test.java:302:10:302:52 | resolveExtrasBackReferences(...) : Bundle | provenance | MaD:17 |
|
||||
| Test.java:302:47:302:48 | in : ContentProviderResult[] | Test.java:302:10:302:52 | resolveExtrasBackReferences(...) : Bundle | provenance | MaD:29 |
|
||||
| Test.java:308:33:308:66 | (...)... : ContentProviderResult[] | Test.java:310:54:310:55 | in : ContentProviderResult[] | provenance | |
|
||||
| Test.java:308:59:308:66 | source(...) : Object | Test.java:308:33:308:66 | (...)... : ContentProviderResult[] | provenance | |
|
||||
| Test.java:310:10:310:59 | resolveSelectionArgsBackReferences(...) : String[] | Test.java:311:9:311:11 | out | provenance | |
|
||||
| Test.java:310:54:310:55 | in : ContentProviderResult[] | Test.java:310:10:310:59 | resolveSelectionArgsBackReferences(...) : String[] | provenance | MaD:18 |
|
||||
| Test.java:310:54:310:55 | in : ContentProviderResult[] | Test.java:310:10:310:59 | resolveSelectionArgsBackReferences(...) : String[] | provenance | MaD:30 |
|
||||
| Test.java:316:33:316:66 | (...)... : ContentProviderResult[] | Test.java:318:46:318:47 | in : ContentProviderResult[] | provenance | |
|
||||
| Test.java:316:59:316:66 | source(...) : Object | Test.java:316:33:316:66 | (...)... : ContentProviderResult[] | provenance | |
|
||||
| Test.java:318:10:318:51 | resolveValueBackReferences(...) : ContentValues | Test.java:319:9:319:11 | out | provenance | |
|
||||
| Test.java:318:46:318:47 | in : ContentProviderResult[] | Test.java:318:10:318:51 | resolveValueBackReferences(...) : ContentValues | provenance | MaD:19 |
|
||||
| Test.java:318:46:318:47 | in : ContentProviderResult[] | Test.java:318:10:318:51 | resolveValueBackReferences(...) : ContentValues | provenance | MaD:31 |
|
||||
| Test.java:324:16:324:32 | (...)... : Bundle | Test.java:325:36:325:37 | in : Bundle | provenance | |
|
||||
| Test.java:324:25:324:32 | source(...) : Object | Test.java:324:16:324:32 | (...)... : Bundle | provenance | |
|
||||
| Test.java:325:10:325:38 | new ContentProviderResult(...) : ContentProviderResult [extras] : Bundle | Test.java:326:9:326:11 | out : ContentProviderResult [extras] : Bundle | provenance | |
|
||||
@@ -291,16 +291,16 @@ edges
|
||||
| Test.java:448:13:448:26 | (...)... : Uri | Test.java:450:25:450:26 | in : Uri | provenance | |
|
||||
| Test.java:448:19:448:26 | source(...) : Object | Test.java:448:13:448:26 | (...)... : Uri | provenance | |
|
||||
| Test.java:450:10:450:45 | query(...) : Cursor | Test.java:451:9:451:11 | out | provenance | |
|
||||
| Test.java:450:25:450:26 | in : Uri | Test.java:450:10:450:45 | query(...) : Cursor | provenance | MaD:44 |
|
||||
| Test.java:450:25:450:26 | in : Uri | Test.java:450:10:450:45 | query(...) : Cursor | provenance | MaD:46 |
|
||||
| Test.java:456:13:456:26 | (...)... : Uri | Test.java:458:25:458:26 | in : Uri | provenance | |
|
||||
| Test.java:456:19:456:26 | source(...) : Object | Test.java:456:13:456:26 | (...)... : Uri | provenance | |
|
||||
| Test.java:458:10:458:51 | query(...) : Cursor | Test.java:459:9:459:11 | out | provenance | |
|
||||
| Test.java:458:25:458:26 | in : Uri | Test.java:458:10:458:51 | query(...) : Cursor | provenance | MaD:44 |
|
||||
| Test.java:458:25:458:26 | in : Uri | Test.java:458:10:458:51 | query(...) : Cursor | provenance | MaD:45 |
|
||||
| Test.java:458:25:458:26 | in : Uri | Test.java:458:10:458:51 | query(...) : Cursor | provenance | MaD:46 |
|
||||
| Test.java:464:13:464:26 | (...)... : Uri | Test.java:466:25:466:26 | in : Uri | provenance | |
|
||||
| Test.java:464:19:464:26 | source(...) : Object | Test.java:464:13:464:26 | (...)... : Uri | provenance | |
|
||||
| Test.java:466:10:466:57 | query(...) : Cursor | Test.java:467:9:467:11 | out | provenance | |
|
||||
| Test.java:466:25:466:26 | in : Uri | Test.java:466:10:466:57 | query(...) : Cursor | provenance | MaD:44 |
|
||||
| Test.java:466:25:466:26 | in : Uri | Test.java:466:10:466:57 | query(...) : Cursor | provenance | MaD:45 |
|
||||
| Test.java:466:25:466:26 | in : Uri | Test.java:466:10:466:57 | query(...) : Cursor | provenance | MaD:46 |
|
||||
| Test.java:472:13:472:26 | (...)... : Uri | Test.java:474:34:474:35 | in : Uri | provenance | |
|
||||
| Test.java:472:19:472:26 | source(...) : Object | Test.java:472:13:472:26 | (...)... : Uri | provenance | |
|
||||
@@ -318,104 +318,104 @@ edges
|
||||
| Test.java:494:25:494:32 | source(...) : Object | Test.java:494:16:494:32 | (...)... : String | provenance | |
|
||||
| Test.java:495:4:495:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:496:26:496:28 | out : ContentValues [<map.key>] : String | provenance | |
|
||||
| Test.java:495:12:495:13 | in : String | Test.java:495:4:495:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
|
||||
| Test.java:496:26:496:28 | out : ContentValues [<map.key>] : String | Test.java:496:9:496:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:496:26:496:28 | out : ContentValues [<map.key>] : String | Test.java:496:9:496:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:501:16:501:32 | (...)... : String | Test.java:502:12:502:13 | in : String | provenance | |
|
||||
| Test.java:501:25:501:32 | source(...) : Object | Test.java:501:16:501:32 | (...)... : String | provenance | |
|
||||
| Test.java:502:4:502:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:503:26:503:28 | out : ContentValues [<map.key>] : String | provenance | |
|
||||
| Test.java:502:12:502:13 | in : String | Test.java:502:4:502:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
|
||||
| Test.java:503:26:503:28 | out : ContentValues [<map.key>] : String | Test.java:503:9:503:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:503:26:503:28 | out : ContentValues [<map.key>] : String | Test.java:503:9:503:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:508:16:508:32 | (...)... : String | Test.java:509:12:509:13 | in : String | provenance | |
|
||||
| Test.java:508:25:508:32 | source(...) : Object | Test.java:508:16:508:32 | (...)... : String | provenance | |
|
||||
| Test.java:509:4:509:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:510:26:510:28 | out : ContentValues [<map.key>] : String | provenance | |
|
||||
| Test.java:509:12:509:13 | in : String | Test.java:509:4:509:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
|
||||
| Test.java:510:26:510:28 | out : ContentValues [<map.key>] : String | Test.java:510:9:510:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:510:26:510:28 | out : ContentValues [<map.key>] : String | Test.java:510:9:510:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:515:16:515:32 | (...)... : String | Test.java:516:12:516:13 | in : String | provenance | |
|
||||
| Test.java:515:25:515:32 | source(...) : Object | Test.java:515:16:515:32 | (...)... : String | provenance | |
|
||||
| Test.java:516:4:516:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:517:26:517:28 | out : ContentValues [<map.key>] : String | provenance | |
|
||||
| Test.java:516:12:516:13 | in : String | Test.java:516:4:516:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
|
||||
| Test.java:517:26:517:28 | out : ContentValues [<map.key>] : String | Test.java:517:9:517:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:517:26:517:28 | out : ContentValues [<map.key>] : String | Test.java:517:9:517:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:522:16:522:32 | (...)... : String | Test.java:523:12:523:13 | in : String | provenance | |
|
||||
| Test.java:522:25:522:32 | source(...) : Object | Test.java:522:16:522:32 | (...)... : String | provenance | |
|
||||
| Test.java:523:4:523:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:524:26:524:28 | out : ContentValues [<map.key>] : String | provenance | |
|
||||
| Test.java:523:12:523:13 | in : String | Test.java:523:4:523:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
|
||||
| Test.java:524:26:524:28 | out : ContentValues [<map.key>] : String | Test.java:524:9:524:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:524:26:524:28 | out : ContentValues [<map.key>] : String | Test.java:524:9:524:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:529:16:529:32 | (...)... : String | Test.java:530:12:530:13 | in : String | provenance | |
|
||||
| Test.java:529:25:529:32 | source(...) : Object | Test.java:529:16:529:32 | (...)... : String | provenance | |
|
||||
| Test.java:530:4:530:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:531:26:531:28 | out : ContentValues [<map.key>] : String | provenance | |
|
||||
| Test.java:530:12:530:13 | in : String | Test.java:530:4:530:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
|
||||
| Test.java:531:26:531:28 | out : ContentValues [<map.key>] : String | Test.java:531:9:531:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:531:26:531:28 | out : ContentValues [<map.key>] : String | Test.java:531:9:531:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:536:16:536:32 | (...)... : String | Test.java:537:12:537:13 | in : String | provenance | |
|
||||
| Test.java:536:25:536:32 | source(...) : Object | Test.java:536:16:536:32 | (...)... : String | provenance | |
|
||||
| Test.java:537:4:537:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:538:26:538:28 | out : ContentValues [<map.key>] : String | provenance | |
|
||||
| Test.java:537:12:537:13 | in : String | Test.java:537:4:537:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
|
||||
| Test.java:538:26:538:28 | out : ContentValues [<map.key>] : String | Test.java:538:9:538:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:538:26:538:28 | out : ContentValues [<map.key>] : String | Test.java:538:9:538:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:543:16:543:32 | (...)... : String | Test.java:544:12:544:13 | in : String | provenance | |
|
||||
| Test.java:543:25:543:32 | source(...) : Object | Test.java:543:16:543:32 | (...)... : String | provenance | |
|
||||
| Test.java:544:4:544:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:545:26:545:28 | out : ContentValues [<map.key>] : String | provenance | |
|
||||
| Test.java:544:12:544:13 | in : String | Test.java:544:4:544:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
|
||||
| Test.java:545:26:545:28 | out : ContentValues [<map.key>] : String | Test.java:545:9:545:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:545:26:545:28 | out : ContentValues [<map.key>] : String | Test.java:545:9:545:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:550:16:550:32 | (...)... : String | Test.java:551:12:551:13 | in : String | provenance | |
|
||||
| Test.java:550:25:550:32 | source(...) : Object | Test.java:550:16:550:32 | (...)... : String | provenance | |
|
||||
| Test.java:551:4:551:6 | out [post update] : ContentValues [<map.key>] : String | Test.java:552:26:552:28 | out : ContentValues [<map.key>] : String | provenance | |
|
||||
| Test.java:551:12:551:13 | in : String | Test.java:551:4:551:6 | out [post update] : ContentValues [<map.key>] : String | provenance | MaD:49 |
|
||||
| Test.java:552:26:552:28 | out : ContentValues [<map.key>] : String | Test.java:552:9:552:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:552:26:552:28 | out : ContentValues [<map.key>] : String | Test.java:552:9:552:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:557:17:557:34 | (...)... : Boolean | Test.java:558:27:558:28 | in : Boolean | provenance | |
|
||||
| Test.java:557:27:557:34 | source(...) : Object | Test.java:557:17:557:34 | (...)... : Boolean | provenance | |
|
||||
| Test.java:558:4:558:6 | out [post update] : ContentValues [<map.value>] : Boolean | Test.java:559:28:559:30 | out : ContentValues [<map.value>] : Boolean | provenance | |
|
||||
| Test.java:558:27:558:28 | in : Boolean | Test.java:558:4:558:6 | out [post update] : ContentValues [<map.value>] : Boolean | provenance | MaD:50 |
|
||||
| Test.java:559:28:559:30 | out : ContentValues [<map.value>] : Boolean | Test.java:559:9:559:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:559:28:559:30 | out : ContentValues [<map.value>] : Boolean | Test.java:559:9:559:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:564:14:564:28 | (...)... : Number | Test.java:565:27:565:28 | in : Number | provenance | |
|
||||
| Test.java:564:21:564:28 | source(...) : Object | Test.java:564:14:564:28 | (...)... : Number | provenance | |
|
||||
| Test.java:565:4:565:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:566:28:566:30 | out : ContentValues [<map.value>] : Number | provenance | |
|
||||
| Test.java:565:27:565:28 | in : Number | Test.java:565:4:565:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
|
||||
| Test.java:566:28:566:30 | out : ContentValues [<map.value>] : Number | Test.java:566:9:566:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:566:28:566:30 | out : ContentValues [<map.value>] : Number | Test.java:566:9:566:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:571:16:571:32 | (...)... : Number | Test.java:572:27:572:28 | in : Number | provenance | |
|
||||
| Test.java:571:25:571:32 | source(...) : Object | Test.java:571:16:571:32 | (...)... : Number | provenance | |
|
||||
| Test.java:572:4:572:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:573:28:573:30 | out : ContentValues [<map.value>] : Number | provenance | |
|
||||
| Test.java:572:27:572:28 | in : Number | Test.java:572:4:572:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
|
||||
| Test.java:573:28:573:30 | out : ContentValues [<map.value>] : Number | Test.java:573:9:573:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:573:28:573:30 | out : ContentValues [<map.value>] : Number | Test.java:573:9:573:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:578:15:578:30 | (...)... : Number | Test.java:579:27:579:28 | in : Number | provenance | |
|
||||
| Test.java:578:23:578:30 | source(...) : Object | Test.java:578:15:578:30 | (...)... : Number | provenance | |
|
||||
| Test.java:579:4:579:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:580:28:580:30 | out : ContentValues [<map.value>] : Number | provenance | |
|
||||
| Test.java:579:27:579:28 | in : Number | Test.java:579:4:579:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
|
||||
| Test.java:580:28:580:30 | out : ContentValues [<map.value>] : Number | Test.java:580:9:580:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:580:28:580:30 | out : ContentValues [<map.value>] : Number | Test.java:580:9:580:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:585:17:585:34 | (...)... : Number | Test.java:586:27:586:28 | in : Number | provenance | |
|
||||
| Test.java:585:27:585:34 | source(...) : Object | Test.java:585:17:585:34 | (...)... : Number | provenance | |
|
||||
| Test.java:586:4:586:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:587:28:587:30 | out : ContentValues [<map.value>] : Number | provenance | |
|
||||
| Test.java:586:27:586:28 | in : Number | Test.java:586:4:586:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
|
||||
| Test.java:587:28:587:30 | out : ContentValues [<map.value>] : Number | Test.java:587:9:587:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:587:28:587:30 | out : ContentValues [<map.value>] : Number | Test.java:587:9:587:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:592:14:592:28 | (...)... : Number | Test.java:593:27:593:28 | in : Number | provenance | |
|
||||
| Test.java:592:21:592:28 | source(...) : Object | Test.java:592:14:592:28 | (...)... : Number | provenance | |
|
||||
| Test.java:593:4:593:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:594:28:594:30 | out : ContentValues [<map.value>] : Number | provenance | |
|
||||
| Test.java:593:27:593:28 | in : Number | Test.java:593:4:593:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
|
||||
| Test.java:594:28:594:30 | out : ContentValues [<map.value>] : Number | Test.java:594:9:594:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:594:28:594:30 | out : ContentValues [<map.value>] : Number | Test.java:594:9:594:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:599:15:599:30 | (...)... : Number | Test.java:600:27:600:28 | in : Number | provenance | |
|
||||
| Test.java:599:23:599:30 | source(...) : Object | Test.java:599:15:599:30 | (...)... : Number | provenance | |
|
||||
| Test.java:600:4:600:6 | out [post update] : ContentValues [<map.value>] : Number | Test.java:601:28:601:30 | out : ContentValues [<map.value>] : Number | provenance | |
|
||||
| Test.java:600:27:600:28 | in : Number | Test.java:600:4:600:6 | out [post update] : ContentValues [<map.value>] : Number | provenance | MaD:50 |
|
||||
| Test.java:601:28:601:30 | out : ContentValues [<map.value>] : Number | Test.java:601:9:601:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:601:28:601:30 | out : ContentValues [<map.value>] : Number | Test.java:601:9:601:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:606:16:606:32 | (...)... : String | Test.java:607:27:607:28 | in : String | provenance | |
|
||||
| Test.java:606:25:606:32 | source(...) : Object | Test.java:606:16:606:32 | (...)... : String | provenance | |
|
||||
| Test.java:607:4:607:6 | out [post update] : ContentValues [<map.value>] : String | Test.java:608:28:608:30 | out : ContentValues [<map.value>] : String | provenance | |
|
||||
| Test.java:607:27:607:28 | in : String | Test.java:607:4:607:6 | out [post update] : ContentValues [<map.value>] : String | provenance | MaD:50 |
|
||||
| Test.java:608:28:608:30 | out : ContentValues [<map.value>] : String | Test.java:608:9:608:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:608:28:608:30 | out : ContentValues [<map.value>] : String | Test.java:608:9:608:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:613:16:613:32 | (...)... : byte[] | Test.java:614:27:614:28 | in : byte[] | provenance | |
|
||||
| Test.java:613:25:613:32 | source(...) : Object | Test.java:613:16:613:32 | (...)... : byte[] | provenance | |
|
||||
| Test.java:614:4:614:6 | out [post update] : ContentValues [<map.value>] : byte[] | Test.java:615:28:615:30 | out : ContentValues [<map.value>] : byte[] | provenance | |
|
||||
| Test.java:614:27:614:28 | in : byte[] | Test.java:614:4:614:6 | out [post update] : ContentValues [<map.value>] : byte[] | provenance | MaD:50 |
|
||||
| Test.java:615:28:615:30 | out : ContentValues [<map.value>] : byte[] | Test.java:615:9:615:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:615:28:615:30 | out : ContentValues [<map.value>] : byte[] | Test.java:615:9:615:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:620:23:620:68 | (...)... : ContentValues [<map.key>] : Object | Test.java:621:15:621:16 | in : ContentValues [<map.key>] : Object | provenance | |
|
||||
| Test.java:620:39:620:68 | newWithMapKeyDefault(...) : Object [<map.key>] : Object | Test.java:620:23:620:68 | (...)... : ContentValues [<map.key>] : Object | provenance | |
|
||||
| Test.java:620:60:620:67 | source(...) : Object | Test.java:620:39:620:68 | newWithMapKeyDefault(...) : Object [<map.key>] : Object | provenance | MaD:63 |
|
||||
| Test.java:620:60:620:67 | source(...) : Object | Test.java:620:39:620:68 | newWithMapKeyDefault(...) : Object [<map.key>] : Object | provenance | MaD:64 |
|
||||
| Test.java:621:4:621:6 | out [post update] : ContentValues [<map.key>] : Object | Test.java:622:26:622:28 | out : ContentValues [<map.key>] : Object | provenance | |
|
||||
| Test.java:621:15:621:16 | in : ContentValues [<map.key>] : Object | Test.java:621:4:621:6 | out [post update] : ContentValues [<map.key>] : Object | provenance | MaD:51 |
|
||||
| Test.java:622:26:622:28 | out : ContentValues [<map.key>] : Object | Test.java:622:9:622:29 | getMapKeyDefault(...) | provenance | MaD:65 |
|
||||
| Test.java:622:26:622:28 | out : ContentValues [<map.key>] : Object | Test.java:622:9:622:29 | getMapKeyDefault(...) | provenance | MaD:62 |
|
||||
| Test.java:627:23:627:70 | (...)... : ContentValues [<map.value>] : Object | Test.java:628:15:628:16 | in : ContentValues [<map.value>] : Object | provenance | |
|
||||
| Test.java:627:39:627:70 | newWithMapValueDefault(...) : Object [<map.value>] : Object | Test.java:627:23:627:70 | (...)... : ContentValues [<map.value>] : Object | provenance | |
|
||||
| Test.java:627:62:627:69 | source(...) : Object | Test.java:627:39:627:70 | newWithMapValueDefault(...) : Object [<map.value>] : Object | provenance | MaD:62 |
|
||||
| Test.java:627:62:627:69 | source(...) : Object | Test.java:627:39:627:70 | newWithMapValueDefault(...) : Object [<map.value>] : Object | provenance | MaD:65 |
|
||||
| Test.java:628:4:628:6 | out [post update] : ContentValues [<map.value>] : Object | Test.java:629:28:629:30 | out : ContentValues [<map.value>] : Object | provenance | |
|
||||
| Test.java:628:15:628:16 | in : ContentValues [<map.value>] : Object | Test.java:628:4:628:6 | out [post update] : ContentValues [<map.value>] : Object | provenance | MaD:52 |
|
||||
| Test.java:629:28:629:30 | out : ContentValues [<map.value>] : Object | Test.java:629:9:629:31 | getMapValueDefault(...) | provenance | MaD:64 |
|
||||
| Test.java:629:28:629:30 | out : ContentValues [<map.value>] : Object | Test.java:629:9:629:31 | getMapValueDefault(...) | provenance | MaD:63 |
|
||||
| Test.java:634:16:634:32 | (...)... : Cursor | Test.java:635:4:635:5 | in : Cursor | provenance | |
|
||||
| Test.java:634:25:634:32 | source(...) : Object | Test.java:634:16:634:32 | (...)... : Cursor | provenance | |
|
||||
| Test.java:635:4:635:5 | in : Cursor | Test.java:635:29:635:31 | out [post update] : CharArrayBuffer | provenance | MaD:53 |
|
||||
|
||||
@@ -23,8 +23,8 @@ models
|
||||
| 22 | Summary: android.os; Parcel; false; readMap; ; ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 23 | Summary: android.os; Parcel; false; readParcelable; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 24 | Summary: android.os; Parcel; false; readParcelableArray; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 25 | Summary: android.os; Parcel; false; readParcelableList; ; ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 26 | Summary: android.os; Parcel; false; readParcelableList; ; ; Argument[0]; ReturnValue; value; manual |
|
||||
| 25 | Summary: android.os; Parcel; false; readParcelableList; ; ; Argument[0]; ReturnValue; value; manual |
|
||||
| 26 | Summary: android.os; Parcel; false; readParcelableList; ; ; Argument[this]; Argument[0]; taint; manual |
|
||||
| 27 | Summary: android.os; Parcel; false; readPersistableBundle; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 28 | Summary: android.os; Parcel; false; readSerializable; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 29 | Summary: android.os; Parcel; false; readSize; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
@@ -142,12 +142,12 @@ edges
|
||||
| Test.java:201:10:201:37 | readParcelableArray(...) : Parcelable[] | Test.java:202:9:202:11 | out | provenance | |
|
||||
| Test.java:207:16:207:31 | (...)... : Parcel | Test.java:208:4:208:5 | in : Parcel | provenance | |
|
||||
| Test.java:207:24:207:31 | source(...) : Object | Test.java:207:16:207:31 | (...)... : Parcel | provenance | |
|
||||
| Test.java:208:4:208:5 | in : Parcel | Test.java:208:26:208:28 | out [post update] : List | provenance | MaD:25 |
|
||||
| Test.java:208:4:208:5 | in : Parcel | Test.java:208:26:208:28 | out [post update] : List | provenance | MaD:26 |
|
||||
| Test.java:208:26:208:28 | out [post update] : List | Test.java:209:9:209:11 | out | provenance | |
|
||||
| Test.java:214:14:214:27 | (...)... : List | Test.java:216:38:216:39 | in : List | provenance | |
|
||||
| Test.java:214:20:214:27 | source(...) : Object | Test.java:214:14:214:27 | (...)... : List | provenance | |
|
||||
| Test.java:216:10:216:46 | readParcelableList(...) : List | Test.java:217:9:217:11 | out | provenance | |
|
||||
| Test.java:216:38:216:39 | in : List | Test.java:216:10:216:46 | readParcelableList(...) : List | provenance | MaD:26 |
|
||||
| Test.java:216:38:216:39 | in : List | Test.java:216:10:216:46 | readParcelableList(...) : List | provenance | MaD:25 |
|
||||
| Test.java:222:16:222:31 | (...)... : Parcel | Test.java:223:10:223:11 | in : Parcel | provenance | |
|
||||
| Test.java:222:24:222:31 | source(...) : Object | Test.java:222:16:222:31 | (...)... : Parcel | provenance | |
|
||||
| Test.java:223:10:223:11 | in : Parcel | Test.java:223:10:223:39 | readPersistableBundle(...) : PersistableBundle | provenance | MaD:27 |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,21 +1,21 @@
|
||||
models
|
||||
| 1 | Summary: android.app; Notification$Action; true; Action; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 2 | Summary: android.app; Notification$Action; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 3 | Summary: android.app; Notification$Action$Builder; true; Builder; (Notification$Action); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 4 | Summary: android.app; Notification$Action$Builder; true; Builder; (Icon,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 5 | Summary: android.app; Notification$Action$Builder; true; Builder; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 1 | Summary: android.app; Notification$Action$Builder; true; Builder; (Icon,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 2 | Summary: android.app; Notification$Action$Builder; true; Builder; (Notification$Action); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 3 | Summary: android.app; Notification$Action$Builder; true; Builder; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 4 | Summary: android.app; Notification$Action$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual |
|
||||
| 5 | Summary: android.app; Notification$Action$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual |
|
||||
| 6 | Summary: android.app; Notification$Action$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 7 | Summary: android.app; Notification$Action$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual |
|
||||
| 8 | Summary: android.app; Notification$Action$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual |
|
||||
| 9 | Summary: android.app; Notification$Action$Builder; true; addRemoteInput; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 10 | Summary: android.app; Notification$Action$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 11 | Summary: android.app; Notification$Action$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.SyntheticField[android.content.Intent.extras]; value; manual |
|
||||
| 12 | Summary: android.app; Notification$Action$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 13 | Summary: android.app; Notification$Action$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 14 | Summary: android.app; Notification$Action$Builder; true; setAllowGeneratedReplies; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 15 | Summary: android.app; Notification$Action$Builder; true; setAuthenticationRequired; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 16 | Summary: android.app; Notification$Action$Builder; true; setContextual; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 17 | Summary: android.app; Notification$Action$Builder; true; setSemanticAction; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 7 | Summary: android.app; Notification$Action$Builder; true; addRemoteInput; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 8 | Summary: android.app; Notification$Action$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.SyntheticField[android.content.Intent.extras]; value; manual |
|
||||
| 9 | Summary: android.app; Notification$Action$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: android.app; Notification$Action$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 11 | Summary: android.app; Notification$Action$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 12 | Summary: android.app; Notification$Action$Builder; true; setAllowGeneratedReplies; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 13 | Summary: android.app; Notification$Action$Builder; true; setAuthenticationRequired; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 14 | Summary: android.app; Notification$Action$Builder; true; setContextual; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 15 | Summary: android.app; Notification$Action$Builder; true; setSemanticAction; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 16 | Summary: android.app; Notification$Action; true; Action; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 17 | Summary: android.app; Notification$Action; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 18 | Summary: android.app; Notification$BigPictureStyle; true; BigPictureStyle; (Notification$Builder); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 19 | Summary: android.app; Notification$BigPictureStyle; true; bigLargeIcon; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 20 | Summary: android.app; Notification$BigPictureStyle; true; bigPicture; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
@@ -27,20 +27,20 @@ models
|
||||
| 26 | Summary: android.app; Notification$BigTextStyle; true; bigText; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 27 | Summary: android.app; Notification$BigTextStyle; true; setBigContentTitle; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 28 | Summary: android.app; Notification$BigTextStyle; true; setSummaryText; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 29 | Summary: android.app; Notification$Builder; true; addAction; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 30 | Summary: android.app; Notification$Builder; true; addAction; (Notification$Action); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 31 | Summary: android.app; Notification$Builder; true; addAction; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 32 | Summary: android.app; Notification$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 33 | Summary: android.app; Notification$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual |
|
||||
| 34 | Summary: android.app; Notification$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual |
|
||||
| 29 | Summary: android.app; Notification$Builder; true; addAction; (Notification$Action); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 30 | Summary: android.app; Notification$Builder; true; addAction; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 31 | Summary: android.app; Notification$Builder; true; addAction; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 32 | Summary: android.app; Notification$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual |
|
||||
| 33 | Summary: android.app; Notification$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual |
|
||||
| 34 | Summary: android.app; Notification$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 35 | Summary: android.app; Notification$Builder; true; addPerson; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 36 | Summary: android.app; Notification$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 37 | Summary: android.app; Notification$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.Field[android.app.Notification.extras]; value; manual |
|
||||
| 36 | Summary: android.app; Notification$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.Field[android.app.Notification.extras]; value; manual |
|
||||
| 37 | Summary: android.app; Notification$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 38 | Summary: android.app; Notification$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 39 | Summary: android.app; Notification$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 40 | Summary: android.app; Notification$Builder; true; recoverBuilder; ; ; Argument[1]; ReturnValue; taint; manual |
|
||||
| 41 | Summary: android.app; Notification$Builder; true; setActions; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 42 | Summary: android.app; Notification$Builder; true; setActions; ; ; Argument[0].ArrayElement; Argument[this]; taint; manual |
|
||||
| 41 | Summary: android.app; Notification$Builder; true; setActions; ; ; Argument[0].ArrayElement; Argument[this]; taint; manual |
|
||||
| 42 | Summary: android.app; Notification$Builder; true; setActions; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 43 | Summary: android.app; Notification$Builder; true; setAutoCancel; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 44 | Summary: android.app; Notification$Builder; true; setBadgeIconType; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 45 | Summary: android.app; Notification$Builder; true; setBubbleMetadata; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
@@ -51,17 +51,17 @@ models
|
||||
| 50 | Summary: android.app; Notification$Builder; true; setColorized; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 51 | Summary: android.app; Notification$Builder; true; setContent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 52 | Summary: android.app; Notification$Builder; true; setContentInfo; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 53 | Summary: android.app; Notification$Builder; true; setContentIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 54 | Summary: android.app; Notification$Builder; true; setContentIntent; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 53 | Summary: android.app; Notification$Builder; true; setContentIntent; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 54 | Summary: android.app; Notification$Builder; true; setContentIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 55 | Summary: android.app; Notification$Builder; true; setContentText; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 56 | Summary: android.app; Notification$Builder; true; setContentTitle; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 57 | Summary: android.app; Notification$Builder; true; setCustomBigContentView; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 58 | Summary: android.app; Notification$Builder; true; setCustomHeadsUpContentView; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 59 | Summary: android.app; Notification$Builder; true; setDefaults; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 60 | Summary: android.app; Notification$Builder; true; setDeleteIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 61 | Summary: android.app; Notification$Builder; true; setDeleteIntent; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 62 | Summary: android.app; Notification$Builder; true; setExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 63 | Summary: android.app; Notification$Builder; true; setExtras; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras]; value; manual |
|
||||
| 60 | Summary: android.app; Notification$Builder; true; setDeleteIntent; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 61 | Summary: android.app; Notification$Builder; true; setDeleteIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 62 | Summary: android.app; Notification$Builder; true; setExtras; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras]; value; manual |
|
||||
| 63 | Summary: android.app; Notification$Builder; true; setExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 64 | Summary: android.app; Notification$Builder; true; setFlag; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 65 | Summary: android.app; Notification$Builder; true; setForegroundServiceBehavior; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 66 | Summary: android.app; Notification$Builder; true; setFullScreenIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
@@ -77,8 +77,8 @@ models
|
||||
| 76 | Summary: android.app; Notification$Builder; true; setOnlyAlertOnce; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 77 | Summary: android.app; Notification$Builder; true; setPriority; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 78 | Summary: android.app; Notification$Builder; true; setProgress; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 79 | Summary: android.app; Notification$Builder; true; setPublicVersion; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 80 | Summary: android.app; Notification$Builder; true; setPublicVersion; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 79 | Summary: android.app; Notification$Builder; true; setPublicVersion; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 80 | Summary: android.app; Notification$Builder; true; setPublicVersion; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 81 | Summary: android.app; Notification$Builder; true; setRemoteInputHistory; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 82 | Summary: android.app; Notification$Builder; true; setSettingsText; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 83 | Summary: android.app; Notification$Builder; true; setShortcutId; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
@@ -105,23 +105,23 @@ models
|
||||
| 104 | Summary: android.os; BaseBundle; true; get; (String); ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 105 | Summary: android.os; BaseBundle; true; putString; ; ; Argument[0]; Argument[this].MapKey; value; manual |
|
||||
| 106 | Summary: android.os; BaseBundle; true; putString; ; ; Argument[1]; Argument[this].MapValue; value; manual |
|
||||
| 107 | Summary: androidx.core.app; NotificationCompat$Action; true; Action; (IconCompat,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 108 | Summary: androidx.core.app; NotificationCompat$Action; true; Action; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 109 | Summary: androidx.core.app; NotificationCompat$Action; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 110 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; Builder; (NotificationCompat$Action); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 111 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; Builder; (IconCompat,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 112 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; Builder; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 113 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 114 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual |
|
||||
| 115 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual |
|
||||
| 116 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addRemoteInput; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 117 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 118 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.SyntheticField[android.content.Intent.extras]; value; manual |
|
||||
| 119 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 120 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 121 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; setAllowGeneratedReplies; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 122 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; setContextual; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 123 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; setSemanticAction; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 107 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; Builder; (IconCompat,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 108 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; Builder; (NotificationCompat$Action); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 109 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; Builder; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 110 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual |
|
||||
| 111 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual |
|
||||
| 112 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 113 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; addRemoteInput; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 114 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.SyntheticField[android.content.Intent.extras]; value; manual |
|
||||
| 115 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 116 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 117 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 118 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; setAllowGeneratedReplies; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 119 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; setContextual; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 120 | Summary: androidx.core.app; NotificationCompat$Action$Builder; true; setSemanticAction; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 121 | Summary: androidx.core.app; NotificationCompat$Action; true; Action; (IconCompat,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 122 | Summary: androidx.core.app; NotificationCompat$Action; true; Action; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 123 | Summary: androidx.core.app; NotificationCompat$Action; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 124 | Summary: androidx.core.app; NotificationCompat$BigPictureStyle; true; bigLargeIcon; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 125 | Summary: androidx.core.app; NotificationCompat$BigPictureStyle; true; bigPicture; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 126 | Summary: androidx.core.app; NotificationCompat$BigPictureStyle; true; setBigContentTitle; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
@@ -129,15 +129,15 @@ models
|
||||
| 128 | Summary: androidx.core.app; NotificationCompat$BigTextStyle; true; bigText; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 129 | Summary: androidx.core.app; NotificationCompat$BigTextStyle; true; setBigContentTitle; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 130 | Summary: androidx.core.app; NotificationCompat$BigTextStyle; true; setSummaryText; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 131 | Summary: androidx.core.app; NotificationCompat$Builder; true; addAction; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 132 | Summary: androidx.core.app; NotificationCompat$Builder; true; addAction; (NotificationCompat$Action); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 133 | Summary: androidx.core.app; NotificationCompat$Builder; true; addAction; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 134 | Summary: androidx.core.app; NotificationCompat$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 135 | Summary: androidx.core.app; NotificationCompat$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual |
|
||||
| 136 | Summary: androidx.core.app; NotificationCompat$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual |
|
||||
| 131 | Summary: androidx.core.app; NotificationCompat$Builder; true; addAction; (NotificationCompat$Action); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 132 | Summary: androidx.core.app; NotificationCompat$Builder; true; addAction; (int,CharSequence,PendingIntent); ; Argument[2]; Argument[this]; taint; manual |
|
||||
| 133 | Summary: androidx.core.app; NotificationCompat$Builder; true; addAction; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 134 | Summary: androidx.core.app; NotificationCompat$Builder; true; addExtras; ; ; Argument[0].MapKey; Argument[this].SyntheticField[android.content.Intent.extras].MapKey; value; manual |
|
||||
| 135 | Summary: androidx.core.app; NotificationCompat$Builder; true; addExtras; ; ; Argument[0].MapValue; Argument[this].SyntheticField[android.content.Intent.extras].MapValue; value; manual |
|
||||
| 136 | Summary: androidx.core.app; NotificationCompat$Builder; true; addExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 137 | Summary: androidx.core.app; NotificationCompat$Builder; true; addPerson; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 138 | Summary: androidx.core.app; NotificationCompat$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 139 | Summary: androidx.core.app; NotificationCompat$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.Field[android.app.Notification.extras]; value; manual |
|
||||
| 138 | Summary: androidx.core.app; NotificationCompat$Builder; true; build; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue.Field[android.app.Notification.extras]; value; manual |
|
||||
| 139 | Summary: androidx.core.app; NotificationCompat$Builder; true; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 140 | Summary: androidx.core.app; NotificationCompat$Builder; true; extend; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 141 | Summary: androidx.core.app; NotificationCompat$Builder; true; getExtras; ; ; Argument[this].SyntheticField[android.content.Intent.extras]; ReturnValue; value; manual |
|
||||
| 142 | Summary: androidx.core.app; NotificationCompat$Builder; true; setAutoCancel; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
@@ -150,17 +150,17 @@ models
|
||||
| 149 | Summary: androidx.core.app; NotificationCompat$Builder; true; setColorized; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 150 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 151 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentInfo; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 152 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 153 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentIntent; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 152 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentIntent; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 153 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 154 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentText; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 155 | Summary: androidx.core.app; NotificationCompat$Builder; true; setContentTitle; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 156 | Summary: androidx.core.app; NotificationCompat$Builder; true; setCustomBigContentView; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 157 | Summary: androidx.core.app; NotificationCompat$Builder; true; setCustomHeadsUpContentView; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 158 | Summary: androidx.core.app; NotificationCompat$Builder; true; setDefaults; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 159 | Summary: androidx.core.app; NotificationCompat$Builder; true; setDeleteIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 160 | Summary: androidx.core.app; NotificationCompat$Builder; true; setDeleteIntent; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 161 | Summary: androidx.core.app; NotificationCompat$Builder; true; setExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 162 | Summary: androidx.core.app; NotificationCompat$Builder; true; setExtras; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras]; value; manual |
|
||||
| 159 | Summary: androidx.core.app; NotificationCompat$Builder; true; setDeleteIntent; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 160 | Summary: androidx.core.app; NotificationCompat$Builder; true; setDeleteIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 161 | Summary: androidx.core.app; NotificationCompat$Builder; true; setExtras; ; ; Argument[0]; Argument[this].SyntheticField[android.content.Intent.extras]; value; manual |
|
||||
| 162 | Summary: androidx.core.app; NotificationCompat$Builder; true; setExtras; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 163 | Summary: androidx.core.app; NotificationCompat$Builder; true; setFullScreenIntent; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 164 | Summary: androidx.core.app; NotificationCompat$Builder; true; setGroup; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 165 | Summary: androidx.core.app; NotificationCompat$Builder; true; setGroupAlertBehavior; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
@@ -173,8 +173,8 @@ models
|
||||
| 172 | Summary: androidx.core.app; NotificationCompat$Builder; true; setOnlyAlertOnce; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 173 | Summary: androidx.core.app; NotificationCompat$Builder; true; setPriority; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 174 | Summary: androidx.core.app; NotificationCompat$Builder; true; setProgress; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 175 | Summary: androidx.core.app; NotificationCompat$Builder; true; setPublicVersion; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 176 | Summary: androidx.core.app; NotificationCompat$Builder; true; setPublicVersion; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 175 | Summary: androidx.core.app; NotificationCompat$Builder; true; setPublicVersion; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 176 | Summary: androidx.core.app; NotificationCompat$Builder; true; setPublicVersion; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 177 | Summary: androidx.core.app; NotificationCompat$Builder; true; setRemoteInputHistory; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 178 | Summary: androidx.core.app; NotificationCompat$Builder; true; setShortcutId; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 179 | Summary: androidx.core.app; NotificationCompat$Builder; true; setShowWhen; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
@@ -205,15 +205,15 @@ edges
|
||||
| Test.java:49:29:49:58 | (...)... : Action | Test.java:50:42:50:43 | in : Action | provenance | |
|
||||
| Test.java:49:51:49:58 | source(...) : Object | Test.java:49:29:49:58 | (...)... : Action | provenance | |
|
||||
| Test.java:50:10:50:44 | new Builder(...) : Builder | Test.java:51:9:51:11 | out | provenance | |
|
||||
| Test.java:50:42:50:43 | in : Action | Test.java:50:10:50:44 | new Builder(...) : Builder | provenance | MaD:3 |
|
||||
| Test.java:50:42:50:43 | in : Action | Test.java:50:10:50:44 | new Builder(...) : Builder | provenance | MaD:2 |
|
||||
| Test.java:56:23:56:46 | (...)... : PendingIntent | Test.java:57:76:57:77 | in : PendingIntent | provenance | |
|
||||
| Test.java:56:39:56:46 | source(...) : Object | Test.java:56:23:56:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:57:10:57:78 | new Builder(...) : Builder | Test.java:58:9:58:11 | out | provenance | |
|
||||
| Test.java:57:76:57:77 | in : PendingIntent | Test.java:57:10:57:78 | new Builder(...) : Builder | provenance | MaD:4 |
|
||||
| Test.java:57:76:57:77 | in : PendingIntent | Test.java:57:10:57:78 | new Builder(...) : Builder | provenance | MaD:1 |
|
||||
| Test.java:63:23:63:46 | (...)... : PendingIntent | Test.java:64:66:64:67 | in : PendingIntent | provenance | |
|
||||
| Test.java:63:39:63:46 | source(...) : Object | Test.java:63:23:63:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:64:10:64:68 | new Builder(...) : Builder | Test.java:65:9:65:11 | out | provenance | |
|
||||
| Test.java:64:66:64:67 | in : PendingIntent | Test.java:64:10:64:68 | new Builder(...) : Builder | provenance | MaD:5 |
|
||||
| Test.java:64:66:64:67 | in : PendingIntent | Test.java:64:10:64:68 | new Builder(...) : Builder | provenance | MaD:3 |
|
||||
| Test.java:70:37:70:74 | (...)... : Builder | Test.java:71:10:71:11 | in : Builder | provenance | |
|
||||
| Test.java:70:67:70:74 | source(...) : Object | Test.java:70:37:70:74 | (...)... : Builder | provenance | |
|
||||
| Test.java:71:10:71:11 | in : Builder | Test.java:71:10:71:27 | addExtras(...) : Builder | provenance | MaD:6 |
|
||||
@@ -224,10 +224,10 @@ edges
|
||||
| Test.java:79:46:79:53 | source(...) : Object | Test.java:79:25:79:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | provenance | MaD:105 |
|
||||
| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
|
||||
| Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
|
||||
| Test.java:80:18:80:19 | in : Bundle [<map.key>] : String | Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:7 |
|
||||
| Test.java:80:18:80:19 | in : Bundle [<map.key>] : String | Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:7 |
|
||||
| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:13 |
|
||||
| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:13 |
|
||||
| Test.java:80:18:80:19 | in : Bundle [<map.key>] : String | Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:4 |
|
||||
| Test.java:80:18:80:19 | in : Bundle [<map.key>] : String | Test.java:80:4:80:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:4 |
|
||||
| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:11 |
|
||||
| Test.java:81:26:81:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:81:26:81:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:11 |
|
||||
| Test.java:81:26:81:40 | getExtras(...) : Bundle [<map.key>] : String | Test.java:81:9:81:41 | getMapKeyDefault(...) | provenance | MaD:194 |
|
||||
| Test.java:88:16:88:56 | (...)... : Bundle [<map.value>] : String | Test.java:89:18:89:19 | in : Bundle [<map.value>] : String | provenance | |
|
||||
| Test.java:88:25:88:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | Test.java:88:16:88:56 | (...)... : Bundle [<map.value>] : String | provenance | |
|
||||
@@ -235,19 +235,19 @@ edges
|
||||
| Test.java:88:48:88:55 | source(...) : Object | Test.java:88:25:88:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
|
||||
| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:89:18:89:19 | in : Bundle [<map.value>] : String | Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
|
||||
| Test.java:89:18:89:19 | in : Bundle [<map.value>] : String | Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
|
||||
| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:13 |
|
||||
| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:13 |
|
||||
| Test.java:89:18:89:19 | in : Bundle [<map.value>] : String | Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:5 |
|
||||
| Test.java:89:18:89:19 | in : Bundle [<map.value>] : String | Test.java:89:4:89:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:5 |
|
||||
| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:11 |
|
||||
| Test.java:90:28:90:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:11 |
|
||||
| Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
|
||||
| Test.java:90:28:90:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:90:9:90:43 | getMapValueDefault(...) | provenance | MaD:104 |
|
||||
| Test.java:95:37:95:74 | (...)... : Builder | Test.java:96:10:96:11 | in : Builder | provenance | |
|
||||
| Test.java:95:67:95:74 | source(...) : Object | Test.java:95:37:95:74 | (...)... : Builder | provenance | |
|
||||
| Test.java:96:10:96:11 | in : Builder | Test.java:96:10:96:32 | addRemoteInput(...) : Builder | provenance | MaD:9 |
|
||||
| Test.java:96:10:96:11 | in : Builder | Test.java:96:10:96:32 | addRemoteInput(...) : Builder | provenance | MaD:7 |
|
||||
| Test.java:96:10:96:32 | addRemoteInput(...) : Builder | Test.java:97:9:97:11 | out | provenance | |
|
||||
| Test.java:102:37:102:74 | (...)... : Builder | Test.java:103:10:103:11 | in : Builder | provenance | |
|
||||
| Test.java:102:67:102:74 | source(...) : Object | Test.java:102:37:102:74 | (...)... : Builder | provenance | |
|
||||
| Test.java:103:10:103:11 | in : Builder | Test.java:103:10:103:19 | build(...) : Action | provenance | MaD:10 |
|
||||
| Test.java:103:10:103:11 | in : Builder | Test.java:103:10:103:19 | build(...) : Action | provenance | MaD:9 |
|
||||
| Test.java:103:10:103:19 | build(...) : Action | Test.java:104:9:104:11 | out | provenance | |
|
||||
| Test.java:112:16:112:56 | (...)... : Bundle [<map.value>] : String | Test.java:113:22:113:23 | in : Bundle [<map.value>] : String | provenance | |
|
||||
| Test.java:112:25:112:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | Test.java:112:16:112:56 | (...)... : Bundle [<map.value>] : String | provenance | |
|
||||
@@ -255,64 +255,64 @@ edges
|
||||
| Test.java:112:48:112:55 | source(...) : Object | Test.java:112:25:112:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
|
||||
| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:113:22:113:23 | in : Bundle [<map.value>] : String | Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
|
||||
| Test.java:113:22:113:23 | in : Bundle [<map.value>] : String | Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
|
||||
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:11 |
|
||||
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:11 |
|
||||
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:11 |
|
||||
| Test.java:113:22:113:23 | in : Bundle [<map.value>] : String | Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:5 |
|
||||
| Test.java:113:22:113:23 | in : Bundle [<map.value>] : String | Test.java:113:4:113:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:5 |
|
||||
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
|
||||
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
|
||||
| Test.java:114:10:114:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:8 |
|
||||
| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:114:10:114:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:2 |
|
||||
| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:2 |
|
||||
| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:17 |
|
||||
| Test.java:115:28:115:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:17 |
|
||||
| Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
|
||||
| Test.java:115:28:115:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:115:9:115:43 | getMapValueDefault(...) | provenance | MaD:104 |
|
||||
| Test.java:120:37:120:74 | (...)... : Builder | Test.java:121:10:121:11 | in : Builder | provenance | |
|
||||
| Test.java:120:67:120:74 | source(...) : Object | Test.java:120:37:120:74 | (...)... : Builder | provenance | |
|
||||
| Test.java:121:10:121:11 | in : Builder | Test.java:121:10:121:24 | extend(...) : Builder | provenance | MaD:12 |
|
||||
| Test.java:121:10:121:11 | in : Builder | Test.java:121:10:121:24 | extend(...) : Builder | provenance | MaD:10 |
|
||||
| Test.java:121:10:121:24 | extend(...) : Builder | Test.java:122:9:122:11 | out | provenance | |
|
||||
| Test.java:128:37:128:74 | (...)... : Builder | Test.java:129:10:129:11 | in : Builder | provenance | |
|
||||
| Test.java:128:67:128:74 | source(...) : Object | Test.java:128:37:128:74 | (...)... : Builder | provenance | |
|
||||
| Test.java:129:10:129:11 | in : Builder | Test.java:129:10:129:23 | getExtras(...) : Bundle | provenance | MaD:13 |
|
||||
| Test.java:129:10:129:11 | in : Builder | Test.java:129:10:129:23 | getExtras(...) : Bundle | provenance | MaD:11 |
|
||||
| Test.java:129:10:129:23 | getExtras(...) : Bundle | Test.java:130:9:130:11 | out | provenance | |
|
||||
| Test.java:135:37:135:74 | (...)... : Builder | Test.java:136:10:136:11 | in : Builder | provenance | |
|
||||
| Test.java:135:67:135:74 | source(...) : Object | Test.java:135:37:135:74 | (...)... : Builder | provenance | |
|
||||
| Test.java:136:10:136:11 | in : Builder | Test.java:136:10:136:43 | setAllowGeneratedReplies(...) : Builder | provenance | MaD:14 |
|
||||
| Test.java:136:10:136:11 | in : Builder | Test.java:136:10:136:43 | setAllowGeneratedReplies(...) : Builder | provenance | MaD:12 |
|
||||
| Test.java:136:10:136:43 | setAllowGeneratedReplies(...) : Builder | Test.java:137:9:137:11 | out | provenance | |
|
||||
| Test.java:142:37:142:74 | (...)... : Builder | Test.java:143:10:143:11 | in : Builder | provenance | |
|
||||
| Test.java:142:67:142:74 | source(...) : Object | Test.java:142:37:142:74 | (...)... : Builder | provenance | |
|
||||
| Test.java:143:10:143:11 | in : Builder | Test.java:143:10:143:44 | setAuthenticationRequired(...) : Builder | provenance | MaD:15 |
|
||||
| Test.java:143:10:143:11 | in : Builder | Test.java:143:10:143:44 | setAuthenticationRequired(...) : Builder | provenance | MaD:13 |
|
||||
| Test.java:143:10:143:44 | setAuthenticationRequired(...) : Builder | Test.java:144:9:144:11 | out | provenance | |
|
||||
| Test.java:149:37:149:74 | (...)... : Builder | Test.java:150:10:150:11 | in : Builder | provenance | |
|
||||
| Test.java:149:67:149:74 | source(...) : Object | Test.java:149:37:149:74 | (...)... : Builder | provenance | |
|
||||
| Test.java:150:10:150:11 | in : Builder | Test.java:150:10:150:32 | setContextual(...) : Builder | provenance | MaD:16 |
|
||||
| Test.java:150:10:150:11 | in : Builder | Test.java:150:10:150:32 | setContextual(...) : Builder | provenance | MaD:14 |
|
||||
| Test.java:150:10:150:32 | setContextual(...) : Builder | Test.java:151:9:151:11 | out | provenance | |
|
||||
| Test.java:156:37:156:74 | (...)... : Builder | Test.java:157:10:157:11 | in : Builder | provenance | |
|
||||
| Test.java:156:67:156:74 | source(...) : Object | Test.java:156:37:156:74 | (...)... : Builder | provenance | |
|
||||
| Test.java:157:10:157:11 | in : Builder | Test.java:157:10:157:32 | setSemanticAction(...) : Builder | provenance | MaD:17 |
|
||||
| Test.java:157:10:157:11 | in : Builder | Test.java:157:10:157:32 | setSemanticAction(...) : Builder | provenance | MaD:15 |
|
||||
| Test.java:157:10:157:32 | setSemanticAction(...) : Builder | Test.java:158:9:158:11 | out | provenance | |
|
||||
| Test.java:163:23:163:46 | (...)... : PendingIntent | Test.java:164:43:164:44 | in : PendingIntent | provenance | |
|
||||
| Test.java:163:39:163:46 | source(...) : Object | Test.java:163:23:163:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:164:10:164:45 | new Action(...) : Action | Test.java:165:9:165:11 | out | provenance | |
|
||||
| Test.java:164:43:164:44 | in : PendingIntent | Test.java:164:10:164:45 | new Action(...) : Action | provenance | MaD:1 |
|
||||
| Test.java:164:43:164:44 | in : PendingIntent | Test.java:164:10:164:45 | new Action(...) : Action | provenance | MaD:16 |
|
||||
| Test.java:170:29:170:58 | (...)... : Action | Test.java:171:18:171:19 | in : Action | provenance | |
|
||||
| Test.java:170:51:170:58 | source(...) : Object | Test.java:170:29:170:58 | (...)... : Action | provenance | |
|
||||
| Test.java:171:4:171:6 | out [post update] : Builder | Test.java:172:9:172:11 | out | provenance | |
|
||||
| Test.java:171:18:171:19 | in : Action | Test.java:171:4:171:6 | out [post update] : Builder | provenance | MaD:30 |
|
||||
| Test.java:171:18:171:19 | in : Action | Test.java:171:4:171:6 | out [post update] : Builder | provenance | MaD:29 |
|
||||
| Test.java:177:23:177:46 | (...)... : PendingIntent | Test.java:178:27:178:28 | in : PendingIntent | provenance | |
|
||||
| Test.java:177:39:177:46 | source(...) : Object | Test.java:177:23:177:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:178:4:178:6 | out [post update] : Builder | Test.java:179:9:179:11 | out | provenance | |
|
||||
| Test.java:178:27:178:28 | in : PendingIntent | Test.java:178:4:178:6 | out [post update] : Builder | provenance | MaD:31 |
|
||||
| Test.java:178:27:178:28 | in : PendingIntent | Test.java:178:4:178:6 | out [post update] : Builder | provenance | MaD:30 |
|
||||
| Test.java:184:30:184:60 | (...)... : Builder | Test.java:185:10:185:11 | in : Builder | provenance | |
|
||||
| Test.java:184:53:184:60 | source(...) : Object | Test.java:184:30:184:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:185:10:185:11 | in : Builder | Test.java:185:10:185:27 | addAction(...) : Builder | provenance | MaD:29 |
|
||||
| Test.java:185:10:185:11 | in : Builder | Test.java:185:10:185:27 | addAction(...) : Builder | provenance | MaD:31 |
|
||||
| Test.java:185:10:185:27 | addAction(...) : Builder | Test.java:186:9:186:11 | out | provenance | |
|
||||
| Test.java:191:30:191:60 | (...)... : Builder | Test.java:192:10:192:11 | in : Builder | provenance | |
|
||||
| Test.java:191:53:191:60 | source(...) : Object | Test.java:191:30:191:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:192:10:192:11 | in : Builder | Test.java:192:10:192:36 | addAction(...) : Builder | provenance | MaD:29 |
|
||||
| Test.java:192:10:192:11 | in : Builder | Test.java:192:10:192:36 | addAction(...) : Builder | provenance | MaD:31 |
|
||||
| Test.java:192:10:192:36 | addAction(...) : Builder | Test.java:193:9:193:11 | out | provenance | |
|
||||
| Test.java:198:30:198:60 | (...)... : Builder | Test.java:199:10:199:11 | in : Builder | provenance | |
|
||||
| Test.java:198:53:198:60 | source(...) : Object | Test.java:198:30:198:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:199:10:199:11 | in : Builder | Test.java:199:10:199:27 | addExtras(...) : Builder | provenance | MaD:32 |
|
||||
| Test.java:199:10:199:11 | in : Builder | Test.java:199:10:199:27 | addExtras(...) : Builder | provenance | MaD:34 |
|
||||
| Test.java:199:10:199:27 | addExtras(...) : Builder | Test.java:200:9:200:11 | out | provenance | |
|
||||
| Test.java:206:16:206:54 | (...)... : Bundle [<map.key>] : String | Test.java:207:18:207:19 | in : Bundle [<map.key>] : String | provenance | |
|
||||
| Test.java:206:25:206:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | Test.java:206:16:206:54 | (...)... : Bundle [<map.key>] : String | provenance | |
|
||||
@@ -320,8 +320,8 @@ edges
|
||||
| Test.java:206:46:206:53 | source(...) : Object | Test.java:206:25:206:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | provenance | MaD:105 |
|
||||
| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
|
||||
| Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
|
||||
| Test.java:207:18:207:19 | in : Bundle [<map.key>] : String | Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:33 |
|
||||
| Test.java:207:18:207:19 | in : Bundle [<map.key>] : String | Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:33 |
|
||||
| Test.java:207:18:207:19 | in : Bundle [<map.key>] : String | Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:32 |
|
||||
| Test.java:207:18:207:19 | in : Bundle [<map.key>] : String | Test.java:207:4:207:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:32 |
|
||||
| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:208:26:208:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:39 |
|
||||
| Test.java:208:26:208:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:208:26:208:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:39 |
|
||||
| Test.java:208:26:208:40 | getExtras(...) : Bundle [<map.key>] : String | Test.java:208:9:208:41 | getMapKeyDefault(...) | provenance | MaD:194 |
|
||||
@@ -331,8 +331,8 @@ edges
|
||||
| Test.java:214:48:214:55 | source(...) : Object | Test.java:214:25:214:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
|
||||
| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:215:18:215:19 | in : Bundle [<map.value>] : String | Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:34 |
|
||||
| Test.java:215:18:215:19 | in : Bundle [<map.value>] : String | Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:34 |
|
||||
| Test.java:215:18:215:19 | in : Bundle [<map.value>] : String | Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:33 |
|
||||
| Test.java:215:18:215:19 | in : Bundle [<map.value>] : String | Test.java:215:4:215:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:33 |
|
||||
| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:216:28:216:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:39 |
|
||||
| Test.java:216:28:216:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:216:28:216:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:39 |
|
||||
| Test.java:216:28:216:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
|
||||
@@ -347,7 +347,7 @@ edges
|
||||
| Test.java:229:10:229:36 | addPerson(...) : Builder | Test.java:230:9:230:11 | out | provenance | |
|
||||
| Test.java:235:30:235:60 | (...)... : Builder | Test.java:236:10:236:11 | in : Builder | provenance | |
|
||||
| Test.java:235:53:235:60 | source(...) : Object | Test.java:235:30:235:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:236:10:236:11 | in : Builder | Test.java:236:10:236:19 | build(...) : Notification | provenance | MaD:36 |
|
||||
| Test.java:236:10:236:11 | in : Builder | Test.java:236:10:236:19 | build(...) : Notification | provenance | MaD:37 |
|
||||
| Test.java:236:10:236:19 | build(...) : Notification | Test.java:237:9:237:11 | out | provenance | |
|
||||
| Test.java:244:16:244:56 | (...)... : Bundle [<map.value>] : String | Test.java:245:22:245:23 | in : Bundle [<map.value>] : String | provenance | |
|
||||
| Test.java:244:25:244:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | Test.java:244:16:244:56 | (...)... : Bundle [<map.value>] : String | provenance | |
|
||||
@@ -355,11 +355,11 @@ edges
|
||||
| Test.java:244:48:244:55 | source(...) : Object | Test.java:244:25:244:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
|
||||
| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:245:22:245:23 | in : Bundle [<map.value>] : String | Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:34 |
|
||||
| Test.java:245:22:245:23 | in : Bundle [<map.value>] : String | Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:34 |
|
||||
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:37 |
|
||||
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:37 |
|
||||
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:37 |
|
||||
| Test.java:245:22:245:23 | in : Bundle [<map.value>] : String | Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:33 |
|
||||
| Test.java:245:22:245:23 | in : Bundle [<map.value>] : String | Test.java:245:4:245:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:33 |
|
||||
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:36 |
|
||||
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:36 |
|
||||
| Test.java:246:10:246:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:36 |
|
||||
| Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | Test.java:247:28:247:30 | out : Notification [extras, <map.value>] : String | provenance | |
|
||||
| Test.java:246:10:246:24 | build(...) : Notification [extras, <map.value>] : String | Test.java:247:28:247:30 | out : Notification [extras, <map.value>] : String | provenance | |
|
||||
| Test.java:247:28:247:30 | out : Notification [extras, <map.value>] : String | Test.java:247:28:247:37 | out.extras : Bundle [<map.value>] : String | provenance | |
|
||||
@@ -380,14 +380,14 @@ edges
|
||||
| Test.java:268:52:268:53 | in : Notification | Test.java:268:10:268:54 | recoverBuilder(...) : Builder | provenance | MaD:40 |
|
||||
| Test.java:274:30:274:60 | (...)... : Builder | Test.java:275:10:275:11 | in : Builder | provenance | |
|
||||
| Test.java:274:53:274:60 | source(...) : Object | Test.java:274:30:274:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:275:10:275:11 | in : Builder | Test.java:275:10:275:52 | setActions(...) : Builder | provenance | MaD:41 |
|
||||
| Test.java:275:10:275:11 | in : Builder | Test.java:275:10:275:52 | setActions(...) : Builder | provenance | MaD:42 |
|
||||
| Test.java:275:10:275:52 | setActions(...) : Builder | Test.java:276:9:276:11 | out | provenance | |
|
||||
| Test.java:282:31:283:36 | (...)... : Action[] [[]] : Action | Test.java:284:19:284:20 | in : Action[] [[]] : Action | provenance | |
|
||||
| Test.java:282:55:283:36 | {...} : Action[] [[]] : Action | Test.java:282:31:283:36 | (...)... : Action[] [[]] : Action | provenance | |
|
||||
| Test.java:283:6:283:35 | (...)... : Action | Test.java:282:55:283:36 | {...} : Action[] [[]] : Action | provenance | |
|
||||
| Test.java:283:28:283:35 | source(...) : Object | Test.java:283:6:283:35 | (...)... : Action | provenance | |
|
||||
| Test.java:284:4:284:6 | out [post update] : Builder | Test.java:285:9:285:11 | out | provenance | |
|
||||
| Test.java:284:19:284:20 | in : Action[] [[]] : Action | Test.java:284:4:284:6 | out [post update] : Builder | provenance | MaD:42 |
|
||||
| Test.java:284:19:284:20 | in : Action[] [[]] : Action | Test.java:284:4:284:6 | out [post update] : Builder | provenance | MaD:41 |
|
||||
| Test.java:290:30:290:60 | (...)... : Builder | Test.java:291:10:291:11 | in : Builder | provenance | |
|
||||
| Test.java:290:53:290:60 | source(...) : Object | Test.java:290:30:290:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:291:10:291:11 | in : Builder | Test.java:291:10:291:32 | setAutoCancel(...) : Builder | provenance | MaD:43 |
|
||||
@@ -430,12 +430,12 @@ edges
|
||||
| Test.java:354:10:354:32 | setContentInfo(...) : Builder | Test.java:355:9:355:11 | out | provenance | |
|
||||
| Test.java:360:30:360:60 | (...)... : Builder | Test.java:361:10:361:11 | in : Builder | provenance | |
|
||||
| Test.java:360:53:360:60 | source(...) : Object | Test.java:360:30:360:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:361:10:361:11 | in : Builder | Test.java:361:10:361:34 | setContentIntent(...) : Builder | provenance | MaD:53 |
|
||||
| Test.java:361:10:361:11 | in : Builder | Test.java:361:10:361:34 | setContentIntent(...) : Builder | provenance | MaD:54 |
|
||||
| Test.java:361:10:361:34 | setContentIntent(...) : Builder | Test.java:362:9:362:11 | out | provenance | |
|
||||
| Test.java:367:23:367:46 | (...)... : PendingIntent | Test.java:368:25:368:26 | in : PendingIntent | provenance | |
|
||||
| Test.java:367:39:367:46 | source(...) : Object | Test.java:367:23:367:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:368:4:368:6 | out [post update] : Builder | Test.java:369:9:369:11 | out | provenance | |
|
||||
| Test.java:368:25:368:26 | in : PendingIntent | Test.java:368:4:368:6 | out [post update] : Builder | provenance | MaD:54 |
|
||||
| Test.java:368:25:368:26 | in : PendingIntent | Test.java:368:4:368:6 | out [post update] : Builder | provenance | MaD:53 |
|
||||
| Test.java:374:30:374:60 | (...)... : Builder | Test.java:375:10:375:11 | in : Builder | provenance | |
|
||||
| Test.java:374:53:374:60 | source(...) : Object | Test.java:374:30:374:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:375:10:375:11 | in : Builder | Test.java:375:10:375:32 | setContentText(...) : Builder | provenance | MaD:55 |
|
||||
@@ -458,20 +458,20 @@ edges
|
||||
| Test.java:403:10:403:26 | setDefaults(...) : Builder | Test.java:404:9:404:11 | out | provenance | |
|
||||
| Test.java:409:30:409:60 | (...)... : Builder | Test.java:410:10:410:11 | in : Builder | provenance | |
|
||||
| Test.java:409:53:409:60 | source(...) : Object | Test.java:409:30:409:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:410:10:410:11 | in : Builder | Test.java:410:10:410:33 | setDeleteIntent(...) : Builder | provenance | MaD:60 |
|
||||
| Test.java:410:10:410:11 | in : Builder | Test.java:410:10:410:33 | setDeleteIntent(...) : Builder | provenance | MaD:61 |
|
||||
| Test.java:410:10:410:33 | setDeleteIntent(...) : Builder | Test.java:411:9:411:11 | out | provenance | |
|
||||
| Test.java:416:23:416:46 | (...)... : PendingIntent | Test.java:417:24:417:25 | in : PendingIntent | provenance | |
|
||||
| Test.java:416:39:416:46 | source(...) : Object | Test.java:416:23:416:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:417:4:417:6 | out [post update] : Builder | Test.java:418:9:418:11 | out | provenance | |
|
||||
| Test.java:417:24:417:25 | in : PendingIntent | Test.java:417:4:417:6 | out [post update] : Builder | provenance | MaD:61 |
|
||||
| Test.java:417:24:417:25 | in : PendingIntent | Test.java:417:4:417:6 | out [post update] : Builder | provenance | MaD:60 |
|
||||
| Test.java:423:30:423:60 | (...)... : Builder | Test.java:424:10:424:11 | in : Builder | provenance | |
|
||||
| Test.java:423:53:423:60 | source(...) : Object | Test.java:423:30:423:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:424:10:424:11 | in : Builder | Test.java:424:10:424:27 | setExtras(...) : Builder | provenance | MaD:62 |
|
||||
| Test.java:424:10:424:11 | in : Builder | Test.java:424:10:424:27 | setExtras(...) : Builder | provenance | MaD:63 |
|
||||
| Test.java:424:10:424:27 | setExtras(...) : Builder | Test.java:425:9:425:11 | out | provenance | |
|
||||
| Test.java:431:16:431:32 | (...)... : Bundle | Test.java:432:18:432:19 | in : Bundle | provenance | |
|
||||
| Test.java:431:25:431:32 | source(...) : Object | Test.java:431:16:431:32 | (...)... : Bundle | provenance | |
|
||||
| Test.java:432:4:432:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | Test.java:433:9:433:11 | out : Builder [android.content.Intent.extras] : Bundle | provenance | |
|
||||
| Test.java:432:18:432:19 | in : Bundle | Test.java:432:4:432:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | provenance | MaD:63 |
|
||||
| Test.java:432:18:432:19 | in : Bundle | Test.java:432:4:432:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | provenance | MaD:62 |
|
||||
| Test.java:433:9:433:11 | out : Builder [android.content.Intent.extras] : Bundle | Test.java:433:9:433:23 | getExtras(...) | provenance | MaD:39 |
|
||||
| Test.java:438:30:438:60 | (...)... : Builder | Test.java:439:10:439:11 | in : Builder | provenance | |
|
||||
| Test.java:438:53:438:60 | source(...) : Object | Test.java:438:30:438:60 | (...)... : Builder | provenance | |
|
||||
@@ -539,12 +539,12 @@ edges
|
||||
| Test.java:544:10:544:36 | setProgress(...) : Builder | Test.java:545:9:545:11 | out | provenance | |
|
||||
| Test.java:550:30:550:60 | (...)... : Builder | Test.java:551:10:551:11 | in : Builder | provenance | |
|
||||
| Test.java:550:53:550:60 | source(...) : Object | Test.java:550:30:550:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:551:10:551:11 | in : Builder | Test.java:551:10:551:34 | setPublicVersion(...) : Builder | provenance | MaD:79 |
|
||||
| Test.java:551:10:551:11 | in : Builder | Test.java:551:10:551:34 | setPublicVersion(...) : Builder | provenance | MaD:80 |
|
||||
| Test.java:551:10:551:34 | setPublicVersion(...) : Builder | Test.java:552:9:552:11 | out | provenance | |
|
||||
| Test.java:557:22:557:44 | (...)... : Notification | Test.java:558:25:558:26 | in : Notification | provenance | |
|
||||
| Test.java:557:37:557:44 | source(...) : Object | Test.java:557:22:557:44 | (...)... : Notification | provenance | |
|
||||
| Test.java:558:4:558:6 | out [post update] : Builder | Test.java:559:9:559:11 | out | provenance | |
|
||||
| Test.java:558:25:558:26 | in : Notification | Test.java:558:4:558:6 | out [post update] : Builder | provenance | MaD:80 |
|
||||
| Test.java:558:25:558:26 | in : Notification | Test.java:558:4:558:6 | out [post update] : Builder | provenance | MaD:79 |
|
||||
| Test.java:564:30:564:60 | (...)... : Builder | Test.java:565:10:565:11 | in : Builder | provenance | |
|
||||
| Test.java:564:53:564:60 | source(...) : Object | Test.java:564:30:564:60 | (...)... : Builder | provenance | |
|
||||
| Test.java:565:10:565:11 | in : Builder | Test.java:565:10:565:39 | setRemoteInputHistory(...) : Builder | provenance | MaD:81 |
|
||||
@@ -704,18 +704,18 @@ edges
|
||||
| Test.java:823:35:823:70 | (...)... : Action | Test.java:824:48:824:49 | in : Action | provenance | |
|
||||
| Test.java:823:63:823:70 | source(...) : Object | Test.java:823:35:823:70 | (...)... : Action | provenance | |
|
||||
| Test.java:824:10:824:50 | new Builder(...) : Builder | Test.java:825:9:825:11 | out | provenance | |
|
||||
| Test.java:824:48:824:49 | in : Action | Test.java:824:10:824:50 | new Builder(...) : Builder | provenance | MaD:110 |
|
||||
| Test.java:824:48:824:49 | in : Action | Test.java:824:10:824:50 | new Builder(...) : Builder | provenance | MaD:108 |
|
||||
| Test.java:830:23:830:46 | (...)... : PendingIntent | Test.java:831:88:831:89 | in : PendingIntent | provenance | |
|
||||
| Test.java:830:39:830:46 | source(...) : Object | Test.java:830:23:830:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:831:10:831:90 | new Builder(...) : Builder | Test.java:832:9:832:11 | out | provenance | |
|
||||
| Test.java:831:88:831:89 | in : PendingIntent | Test.java:831:10:831:90 | new Builder(...) : Builder | provenance | MaD:111 |
|
||||
| Test.java:831:88:831:89 | in : PendingIntent | Test.java:831:10:831:90 | new Builder(...) : Builder | provenance | MaD:107 |
|
||||
| Test.java:837:23:837:46 | (...)... : PendingIntent | Test.java:838:72:838:73 | in : PendingIntent | provenance | |
|
||||
| Test.java:837:39:837:46 | source(...) : Object | Test.java:837:23:837:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:838:10:838:74 | new Builder(...) : Builder | Test.java:839:9:839:11 | out | provenance | |
|
||||
| Test.java:838:72:838:73 | in : PendingIntent | Test.java:838:10:838:74 | new Builder(...) : Builder | provenance | MaD:112 |
|
||||
| Test.java:838:72:838:73 | in : PendingIntent | Test.java:838:10:838:74 | new Builder(...) : Builder | provenance | MaD:109 |
|
||||
| Test.java:844:43:844:86 | (...)... : Builder | Test.java:845:10:845:11 | in : Builder | provenance | |
|
||||
| Test.java:844:79:844:86 | source(...) : Object | Test.java:844:43:844:86 | (...)... : Builder | provenance | |
|
||||
| Test.java:845:10:845:11 | in : Builder | Test.java:845:10:845:27 | addExtras(...) : Builder | provenance | MaD:113 |
|
||||
| Test.java:845:10:845:11 | in : Builder | Test.java:845:10:845:27 | addExtras(...) : Builder | provenance | MaD:112 |
|
||||
| Test.java:845:10:845:27 | addExtras(...) : Builder | Test.java:846:9:846:11 | out | provenance | |
|
||||
| Test.java:851:16:851:54 | (...)... : Bundle [<map.key>] : String | Test.java:852:18:852:19 | in : Bundle [<map.key>] : String | provenance | |
|
||||
| Test.java:851:25:851:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | Test.java:851:16:851:54 | (...)... : Bundle [<map.key>] : String | provenance | |
|
||||
@@ -723,10 +723,10 @@ edges
|
||||
| Test.java:851:46:851:53 | source(...) : Object | Test.java:851:25:851:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | provenance | MaD:105 |
|
||||
| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
|
||||
| Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
|
||||
| Test.java:852:18:852:19 | in : Bundle [<map.key>] : String | Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:114 |
|
||||
| Test.java:852:18:852:19 | in : Bundle [<map.key>] : String | Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:114 |
|
||||
| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:120 |
|
||||
| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:120 |
|
||||
| Test.java:852:18:852:19 | in : Bundle [<map.key>] : String | Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:110 |
|
||||
| Test.java:852:18:852:19 | in : Bundle [<map.key>] : String | Test.java:852:4:852:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:110 |
|
||||
| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:117 |
|
||||
| Test.java:853:26:853:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:853:26:853:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:117 |
|
||||
| Test.java:853:26:853:40 | getExtras(...) : Bundle [<map.key>] : String | Test.java:853:9:853:41 | getMapKeyDefault(...) | provenance | MaD:194 |
|
||||
| Test.java:858:16:858:56 | (...)... : Bundle [<map.value>] : String | Test.java:859:18:859:19 | in : Bundle [<map.value>] : String | provenance | |
|
||||
| Test.java:858:25:858:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | Test.java:858:16:858:56 | (...)... : Bundle [<map.value>] : String | provenance | |
|
||||
@@ -734,15 +734,15 @@ edges
|
||||
| Test.java:858:48:858:55 | source(...) : Object | Test.java:858:25:858:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
|
||||
| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:859:18:859:19 | in : Bundle [<map.value>] : String | Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:115 |
|
||||
| Test.java:859:18:859:19 | in : Bundle [<map.value>] : String | Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:115 |
|
||||
| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:120 |
|
||||
| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:120 |
|
||||
| Test.java:859:18:859:19 | in : Bundle [<map.value>] : String | Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:111 |
|
||||
| Test.java:859:18:859:19 | in : Bundle [<map.value>] : String | Test.java:859:4:859:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:111 |
|
||||
| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:117 |
|
||||
| Test.java:860:28:860:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:117 |
|
||||
| Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
|
||||
| Test.java:860:28:860:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:860:9:860:43 | getMapValueDefault(...) | provenance | MaD:104 |
|
||||
| Test.java:865:43:865:86 | (...)... : Builder | Test.java:866:10:866:11 | in : Builder | provenance | |
|
||||
| Test.java:865:79:865:86 | source(...) : Object | Test.java:865:43:865:86 | (...)... : Builder | provenance | |
|
||||
| Test.java:866:10:866:11 | in : Builder | Test.java:866:10:866:32 | addRemoteInput(...) : Builder | provenance | MaD:116 |
|
||||
| Test.java:866:10:866:11 | in : Builder | Test.java:866:10:866:32 | addRemoteInput(...) : Builder | provenance | MaD:113 |
|
||||
| Test.java:866:10:866:32 | addRemoteInput(...) : Builder | Test.java:867:9:867:11 | out | provenance | |
|
||||
| Test.java:873:16:873:56 | (...)... : Bundle [<map.value>] : String | Test.java:874:22:874:23 | in : Bundle [<map.value>] : String | provenance | |
|
||||
| Test.java:873:25:873:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | Test.java:873:16:873:56 | (...)... : Bundle [<map.value>] : String | provenance | |
|
||||
@@ -750,52 +750,52 @@ edges
|
||||
| Test.java:873:48:873:55 | source(...) : Object | Test.java:873:25:873:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
|
||||
| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:874:22:874:23 | in : Bundle [<map.value>] : String | Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:115 |
|
||||
| Test.java:874:22:874:23 | in : Bundle [<map.value>] : String | Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:115 |
|
||||
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:118 |
|
||||
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:118 |
|
||||
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:118 |
|
||||
| Test.java:874:22:874:23 | in : Bundle [<map.value>] : String | Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:111 |
|
||||
| Test.java:874:22:874:23 | in : Bundle [<map.value>] : String | Test.java:874:4:874:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:111 |
|
||||
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:114 |
|
||||
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:114 |
|
||||
| Test.java:875:10:875:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | provenance | MaD:114 |
|
||||
| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:875:10:875:24 | build(...) : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:109 |
|
||||
| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:109 |
|
||||
| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:123 |
|
||||
| Test.java:876:28:876:30 | out : Action [android.content.Intent.extras, <map.value>] : String | Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:123 |
|
||||
| Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
|
||||
| Test.java:876:28:876:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:876:9:876:43 | getMapValueDefault(...) | provenance | MaD:104 |
|
||||
| Test.java:881:43:881:86 | (...)... : Builder | Test.java:882:10:882:11 | in : Builder | provenance | |
|
||||
| Test.java:881:79:881:86 | source(...) : Object | Test.java:881:43:881:86 | (...)... : Builder | provenance | |
|
||||
| Test.java:882:10:882:11 | in : Builder | Test.java:882:10:882:19 | build(...) : Action | provenance | MaD:117 |
|
||||
| Test.java:882:10:882:11 | in : Builder | Test.java:882:10:882:19 | build(...) : Action | provenance | MaD:115 |
|
||||
| Test.java:882:10:882:19 | build(...) : Action | Test.java:883:9:883:11 | out | provenance | |
|
||||
| Test.java:888:43:888:86 | (...)... : Builder | Test.java:889:10:889:11 | in : Builder | provenance | |
|
||||
| Test.java:888:79:888:86 | source(...) : Object | Test.java:888:43:888:86 | (...)... : Builder | provenance | |
|
||||
| Test.java:889:10:889:11 | in : Builder | Test.java:889:10:889:24 | extend(...) : Builder | provenance | MaD:119 |
|
||||
| Test.java:889:10:889:11 | in : Builder | Test.java:889:10:889:24 | extend(...) : Builder | provenance | MaD:116 |
|
||||
| Test.java:889:10:889:24 | extend(...) : Builder | Test.java:890:9:890:11 | out | provenance | |
|
||||
| Test.java:895:43:895:86 | (...)... : Builder | Test.java:896:10:896:11 | in : Builder | provenance | |
|
||||
| Test.java:895:79:895:86 | source(...) : Object | Test.java:895:43:895:86 | (...)... : Builder | provenance | |
|
||||
| Test.java:896:10:896:11 | in : Builder | Test.java:896:10:896:23 | getExtras(...) : Bundle | provenance | MaD:120 |
|
||||
| Test.java:896:10:896:11 | in : Builder | Test.java:896:10:896:23 | getExtras(...) : Bundle | provenance | MaD:117 |
|
||||
| Test.java:896:10:896:23 | getExtras(...) : Bundle | Test.java:897:9:897:11 | out | provenance | |
|
||||
| Test.java:902:43:902:86 | (...)... : Builder | Test.java:903:10:903:11 | in : Builder | provenance | |
|
||||
| Test.java:902:79:902:86 | source(...) : Object | Test.java:902:43:902:86 | (...)... : Builder | provenance | |
|
||||
| Test.java:903:10:903:11 | in : Builder | Test.java:903:10:903:43 | setAllowGeneratedReplies(...) : Builder | provenance | MaD:121 |
|
||||
| Test.java:903:10:903:11 | in : Builder | Test.java:903:10:903:43 | setAllowGeneratedReplies(...) : Builder | provenance | MaD:118 |
|
||||
| Test.java:903:10:903:43 | setAllowGeneratedReplies(...) : Builder | Test.java:904:9:904:11 | out | provenance | |
|
||||
| Test.java:909:43:909:86 | (...)... : Builder | Test.java:910:10:910:11 | in : Builder | provenance | |
|
||||
| Test.java:909:79:909:86 | source(...) : Object | Test.java:909:43:909:86 | (...)... : Builder | provenance | |
|
||||
| Test.java:910:10:910:11 | in : Builder | Test.java:910:10:910:32 | setContextual(...) : Builder | provenance | MaD:122 |
|
||||
| Test.java:910:10:910:11 | in : Builder | Test.java:910:10:910:32 | setContextual(...) : Builder | provenance | MaD:119 |
|
||||
| Test.java:910:10:910:32 | setContextual(...) : Builder | Test.java:911:9:911:11 | out | provenance | |
|
||||
| Test.java:916:43:916:86 | (...)... : Builder | Test.java:917:10:917:11 | in : Builder | provenance | |
|
||||
| Test.java:916:79:916:86 | source(...) : Object | Test.java:916:43:916:86 | (...)... : Builder | provenance | |
|
||||
| Test.java:917:10:917:11 | in : Builder | Test.java:917:10:917:32 | setSemanticAction(...) : Builder | provenance | MaD:123 |
|
||||
| Test.java:917:10:917:11 | in : Builder | Test.java:917:10:917:32 | setSemanticAction(...) : Builder | provenance | MaD:120 |
|
||||
| Test.java:917:10:917:32 | setSemanticAction(...) : Builder | Test.java:918:9:918:11 | out | provenance | |
|
||||
| Test.java:923:23:923:46 | (...)... : PendingIntent | Test.java:924:80:924:81 | in : PendingIntent | provenance | |
|
||||
| Test.java:923:39:923:46 | source(...) : Object | Test.java:923:23:923:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:924:10:924:82 | new Action(...) : Action | Test.java:925:9:925:11 | out | provenance | |
|
||||
| Test.java:924:80:924:81 | in : PendingIntent | Test.java:924:10:924:82 | new Action(...) : Action | provenance | MaD:107 |
|
||||
| Test.java:924:80:924:81 | in : PendingIntent | Test.java:924:10:924:82 | new Action(...) : Action | provenance | MaD:121 |
|
||||
| Test.java:930:23:930:46 | (...)... : PendingIntent | Test.java:931:64:931:65 | in : PendingIntent | provenance | |
|
||||
| Test.java:930:39:930:46 | source(...) : Object | Test.java:930:23:930:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:931:10:931:66 | new Action(...) : Action | Test.java:932:9:932:11 | out | provenance | |
|
||||
| Test.java:931:64:931:65 | in : PendingIntent | Test.java:931:10:931:66 | new Action(...) : Action | provenance | MaD:108 |
|
||||
| Test.java:931:64:931:65 | in : PendingIntent | Test.java:931:10:931:66 | new Action(...) : Action | provenance | MaD:122 |
|
||||
| Test.java:937:35:937:70 | (...)... : Action | Test.java:938:10:938:11 | in : Action | provenance | |
|
||||
| Test.java:937:63:937:70 | source(...) : Object | Test.java:937:35:937:70 | (...)... : Action | provenance | |
|
||||
| Test.java:938:10:938:11 | in : Action | Test.java:938:10:938:23 | getExtras(...) : Bundle | provenance | MaD:109 |
|
||||
| Test.java:938:10:938:11 | in : Action | Test.java:938:10:938:23 | getExtras(...) : Bundle | provenance | MaD:123 |
|
||||
| Test.java:938:10:938:23 | getExtras(...) : Bundle | Test.java:939:9:939:11 | out | provenance | |
|
||||
| Test.java:944:44:944:88 | (...)... : BigPictureStyle | Test.java:945:10:945:11 | in : BigPictureStyle | provenance | |
|
||||
| Test.java:944:81:944:88 | source(...) : Object | Test.java:944:44:944:88 | (...)... : BigPictureStyle | provenance | |
|
||||
@@ -836,22 +836,22 @@ edges
|
||||
| Test.java:1007:35:1007:70 | (...)... : Action | Test.java:1008:18:1008:19 | in : Action | provenance | |
|
||||
| Test.java:1007:63:1007:70 | source(...) : Object | Test.java:1007:35:1007:70 | (...)... : Action | provenance | |
|
||||
| Test.java:1008:4:1008:6 | out [post update] : Builder | Test.java:1009:9:1009:11 | out | provenance | |
|
||||
| Test.java:1008:18:1008:19 | in : Action | Test.java:1008:4:1008:6 | out [post update] : Builder | provenance | MaD:132 |
|
||||
| Test.java:1008:18:1008:19 | in : Action | Test.java:1008:4:1008:6 | out [post update] : Builder | provenance | MaD:131 |
|
||||
| Test.java:1014:23:1014:46 | (...)... : PendingIntent | Test.java:1015:27:1015:28 | in : PendingIntent | provenance | |
|
||||
| Test.java:1014:39:1014:46 | source(...) : Object | Test.java:1014:23:1014:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:1015:4:1015:6 | out [post update] : Builder | Test.java:1016:9:1016:11 | out | provenance | |
|
||||
| Test.java:1015:27:1015:28 | in : PendingIntent | Test.java:1015:4:1015:6 | out [post update] : Builder | provenance | MaD:133 |
|
||||
| Test.java:1015:27:1015:28 | in : PendingIntent | Test.java:1015:4:1015:6 | out [post update] : Builder | provenance | MaD:132 |
|
||||
| Test.java:1021:36:1021:72 | (...)... : Builder | Test.java:1022:10:1022:11 | in : Builder | provenance | |
|
||||
| Test.java:1021:65:1021:72 | source(...) : Object | Test.java:1021:36:1021:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1022:10:1022:11 | in : Builder | Test.java:1022:10:1022:36 | addAction(...) : Builder | provenance | MaD:131 |
|
||||
| Test.java:1022:10:1022:11 | in : Builder | Test.java:1022:10:1022:36 | addAction(...) : Builder | provenance | MaD:133 |
|
||||
| Test.java:1022:10:1022:36 | addAction(...) : Builder | Test.java:1023:9:1023:11 | out | provenance | |
|
||||
| Test.java:1028:36:1028:72 | (...)... : Builder | Test.java:1029:10:1029:11 | in : Builder | provenance | |
|
||||
| Test.java:1028:65:1028:72 | source(...) : Object | Test.java:1028:36:1028:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1029:10:1029:11 | in : Builder | Test.java:1029:10:1029:27 | addAction(...) : Builder | provenance | MaD:131 |
|
||||
| Test.java:1029:10:1029:11 | in : Builder | Test.java:1029:10:1029:27 | addAction(...) : Builder | provenance | MaD:133 |
|
||||
| Test.java:1029:10:1029:27 | addAction(...) : Builder | Test.java:1030:9:1030:11 | out | provenance | |
|
||||
| Test.java:1035:36:1035:72 | (...)... : Builder | Test.java:1036:10:1036:11 | in : Builder | provenance | |
|
||||
| Test.java:1035:65:1035:72 | source(...) : Object | Test.java:1035:36:1035:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1036:10:1036:11 | in : Builder | Test.java:1036:10:1036:27 | addExtras(...) : Builder | provenance | MaD:134 |
|
||||
| Test.java:1036:10:1036:11 | in : Builder | Test.java:1036:10:1036:27 | addExtras(...) : Builder | provenance | MaD:136 |
|
||||
| Test.java:1036:10:1036:27 | addExtras(...) : Builder | Test.java:1037:9:1037:11 | out | provenance | |
|
||||
| Test.java:1042:16:1042:54 | (...)... : Bundle [<map.key>] : String | Test.java:1043:18:1043:19 | in : Bundle [<map.key>] : String | provenance | |
|
||||
| Test.java:1042:25:1042:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | Test.java:1042:16:1042:54 | (...)... : Bundle [<map.key>] : String | provenance | |
|
||||
@@ -859,8 +859,8 @@ edges
|
||||
| Test.java:1042:46:1042:53 | source(...) : Object | Test.java:1042:25:1042:54 | newWithMapKeyDefault(...) : Bundle [<map.key>] : String | provenance | MaD:105 |
|
||||
| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
|
||||
| Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | provenance | |
|
||||
| Test.java:1043:18:1043:19 | in : Bundle [<map.key>] : String | Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:135 |
|
||||
| Test.java:1043:18:1043:19 | in : Bundle [<map.key>] : String | Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:135 |
|
||||
| Test.java:1043:18:1043:19 | in : Bundle [<map.key>] : String | Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:134 |
|
||||
| Test.java:1043:18:1043:19 | in : Bundle [<map.key>] : String | Test.java:1043:4:1043:6 | out [post update] : Builder [android.content.Intent.extras, <map.key>] : String | provenance | MaD:134 |
|
||||
| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:1044:26:1044:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:141 |
|
||||
| Test.java:1044:26:1044:28 | out : Builder [android.content.Intent.extras, <map.key>] : String | Test.java:1044:26:1044:40 | getExtras(...) : Bundle [<map.key>] : String | provenance | MaD:141 |
|
||||
| Test.java:1044:26:1044:40 | getExtras(...) : Bundle [<map.key>] : String | Test.java:1044:9:1044:41 | getMapKeyDefault(...) | provenance | MaD:194 |
|
||||
@@ -870,8 +870,8 @@ edges
|
||||
| Test.java:1049:48:1049:55 | source(...) : Object | Test.java:1049:25:1049:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
|
||||
| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:1050:18:1050:19 | in : Bundle [<map.value>] : String | Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:136 |
|
||||
| Test.java:1050:18:1050:19 | in : Bundle [<map.value>] : String | Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:136 |
|
||||
| Test.java:1050:18:1050:19 | in : Bundle [<map.value>] : String | Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:135 |
|
||||
| Test.java:1050:18:1050:19 | in : Bundle [<map.value>] : String | Test.java:1050:4:1050:6 | out [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:135 |
|
||||
| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1051:28:1051:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:141 |
|
||||
| Test.java:1051:28:1051:30 | out : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1051:28:1051:42 | getExtras(...) : Bundle [<map.value>] : String | provenance | MaD:141 |
|
||||
| Test.java:1051:28:1051:42 | getExtras(...) : Bundle [<map.value>] : String | Test.java:22:28:22:43 | container : Bundle [<map.value>] : String | provenance | |
|
||||
@@ -890,11 +890,11 @@ edges
|
||||
| Test.java:1071:48:1071:55 | source(...) : Object | Test.java:1071:25:1071:56 | newWithMapValueDefault(...) : Bundle [<map.value>] : String | provenance | MaD:106 |
|
||||
| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | provenance | |
|
||||
| Test.java:1072:22:1072:23 | in : Bundle [<map.value>] : String | Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:136 |
|
||||
| Test.java:1072:22:1072:23 | in : Bundle [<map.value>] : String | Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:136 |
|
||||
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:139 |
|
||||
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:139 |
|
||||
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:139 |
|
||||
| Test.java:1072:22:1072:23 | in : Bundle [<map.value>] : String | Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:135 |
|
||||
| Test.java:1072:22:1072:23 | in : Bundle [<map.value>] : String | Test.java:1072:4:1072:10 | builder [post update] : Builder [android.content.Intent.extras, <map.value>] : String | provenance | MaD:135 |
|
||||
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:138 |
|
||||
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:138 |
|
||||
| Test.java:1073:10:1073:16 | builder : Builder [android.content.Intent.extras, <map.value>] : String | Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | provenance | MaD:138 |
|
||||
| Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | Test.java:1074:28:1074:30 | out : Notification [extras, <map.value>] : String | provenance | |
|
||||
| Test.java:1073:10:1073:24 | build(...) : Notification [extras, <map.value>] : String | Test.java:1074:28:1074:30 | out : Notification [extras, <map.value>] : String | provenance | |
|
||||
| Test.java:1074:28:1074:30 | out : Notification [extras, <map.value>] : String | Test.java:1074:28:1074:37 | out.extras : Bundle [<map.value>] : String | provenance | |
|
||||
@@ -903,7 +903,7 @@ edges
|
||||
| Test.java:1074:28:1074:37 | out.extras : Bundle [<map.value>] : String | Test.java:1074:9:1074:38 | getMapValueDefault(...) | provenance | MaD:104 |
|
||||
| Test.java:1079:36:1079:72 | (...)... : Builder | Test.java:1080:10:1080:11 | in : Builder | provenance | |
|
||||
| Test.java:1079:65:1079:72 | source(...) : Object | Test.java:1079:36:1079:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1080:10:1080:11 | in : Builder | Test.java:1080:10:1080:19 | build(...) : Notification | provenance | MaD:138 |
|
||||
| Test.java:1080:10:1080:11 | in : Builder | Test.java:1080:10:1080:19 | build(...) : Notification | provenance | MaD:139 |
|
||||
| Test.java:1080:10:1080:19 | build(...) : Notification | Test.java:1081:9:1081:11 | out | provenance | |
|
||||
| Test.java:1086:36:1086:72 | (...)... : Builder | Test.java:1087:10:1087:11 | in : Builder | provenance | |
|
||||
| Test.java:1086:65:1086:72 | source(...) : Object | Test.java:1086:36:1086:72 | (...)... : Builder | provenance | |
|
||||
@@ -955,12 +955,12 @@ edges
|
||||
| Test.java:1164:10:1164:32 | setContentInfo(...) : Builder | Test.java:1165:9:1165:11 | out | provenance | |
|
||||
| Test.java:1170:36:1170:72 | (...)... : Builder | Test.java:1171:10:1171:11 | in : Builder | provenance | |
|
||||
| Test.java:1170:65:1170:72 | source(...) : Object | Test.java:1170:36:1170:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1171:10:1171:11 | in : Builder | Test.java:1171:10:1171:34 | setContentIntent(...) : Builder | provenance | MaD:152 |
|
||||
| Test.java:1171:10:1171:11 | in : Builder | Test.java:1171:10:1171:34 | setContentIntent(...) : Builder | provenance | MaD:153 |
|
||||
| Test.java:1171:10:1171:34 | setContentIntent(...) : Builder | Test.java:1172:9:1172:11 | out | provenance | |
|
||||
| Test.java:1177:23:1177:46 | (...)... : PendingIntent | Test.java:1178:25:1178:26 | in : PendingIntent | provenance | |
|
||||
| Test.java:1177:39:1177:46 | source(...) : Object | Test.java:1177:23:1177:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:1178:4:1178:6 | out [post update] : Builder | Test.java:1179:9:1179:11 | out | provenance | |
|
||||
| Test.java:1178:25:1178:26 | in : PendingIntent | Test.java:1178:4:1178:6 | out [post update] : Builder | provenance | MaD:153 |
|
||||
| Test.java:1178:25:1178:26 | in : PendingIntent | Test.java:1178:4:1178:6 | out [post update] : Builder | provenance | MaD:152 |
|
||||
| Test.java:1184:36:1184:72 | (...)... : Builder | Test.java:1185:10:1185:11 | in : Builder | provenance | |
|
||||
| Test.java:1184:65:1184:72 | source(...) : Object | Test.java:1184:36:1184:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1185:10:1185:11 | in : Builder | Test.java:1185:10:1185:32 | setContentText(...) : Builder | provenance | MaD:154 |
|
||||
@@ -983,20 +983,20 @@ edges
|
||||
| Test.java:1213:10:1213:26 | setDefaults(...) : Builder | Test.java:1214:9:1214:11 | out | provenance | |
|
||||
| Test.java:1219:36:1219:72 | (...)... : Builder | Test.java:1220:10:1220:11 | in : Builder | provenance | |
|
||||
| Test.java:1219:65:1219:72 | source(...) : Object | Test.java:1219:36:1219:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1220:10:1220:11 | in : Builder | Test.java:1220:10:1220:33 | setDeleteIntent(...) : Builder | provenance | MaD:159 |
|
||||
| Test.java:1220:10:1220:11 | in : Builder | Test.java:1220:10:1220:33 | setDeleteIntent(...) : Builder | provenance | MaD:160 |
|
||||
| Test.java:1220:10:1220:33 | setDeleteIntent(...) : Builder | Test.java:1221:9:1221:11 | out | provenance | |
|
||||
| Test.java:1226:23:1226:46 | (...)... : PendingIntent | Test.java:1227:24:1227:25 | in : PendingIntent | provenance | |
|
||||
| Test.java:1226:39:1226:46 | source(...) : Object | Test.java:1226:23:1226:46 | (...)... : PendingIntent | provenance | |
|
||||
| Test.java:1227:4:1227:6 | out [post update] : Builder | Test.java:1228:9:1228:11 | out | provenance | |
|
||||
| Test.java:1227:24:1227:25 | in : PendingIntent | Test.java:1227:4:1227:6 | out [post update] : Builder | provenance | MaD:160 |
|
||||
| Test.java:1227:24:1227:25 | in : PendingIntent | Test.java:1227:4:1227:6 | out [post update] : Builder | provenance | MaD:159 |
|
||||
| Test.java:1233:36:1233:72 | (...)... : Builder | Test.java:1234:10:1234:11 | in : Builder | provenance | |
|
||||
| Test.java:1233:65:1233:72 | source(...) : Object | Test.java:1233:36:1233:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1234:10:1234:11 | in : Builder | Test.java:1234:10:1234:27 | setExtras(...) : Builder | provenance | MaD:161 |
|
||||
| Test.java:1234:10:1234:11 | in : Builder | Test.java:1234:10:1234:27 | setExtras(...) : Builder | provenance | MaD:162 |
|
||||
| Test.java:1234:10:1234:27 | setExtras(...) : Builder | Test.java:1235:9:1235:11 | out | provenance | |
|
||||
| Test.java:1240:16:1240:32 | (...)... : Bundle | Test.java:1241:18:1241:19 | in : Bundle | provenance | |
|
||||
| Test.java:1240:25:1240:32 | source(...) : Object | Test.java:1240:16:1240:32 | (...)... : Bundle | provenance | |
|
||||
| Test.java:1241:4:1241:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | Test.java:1242:9:1242:11 | out : Builder [android.content.Intent.extras] : Bundle | provenance | |
|
||||
| Test.java:1241:18:1241:19 | in : Bundle | Test.java:1241:4:1241:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | provenance | MaD:162 |
|
||||
| Test.java:1241:18:1241:19 | in : Bundle | Test.java:1241:4:1241:6 | out [post update] : Builder [android.content.Intent.extras] : Bundle | provenance | MaD:161 |
|
||||
| Test.java:1242:9:1242:11 | out : Builder [android.content.Intent.extras] : Bundle | Test.java:1242:9:1242:23 | getExtras(...) | provenance | MaD:141 |
|
||||
| Test.java:1247:36:1247:72 | (...)... : Builder | Test.java:1248:10:1248:11 | in : Builder | provenance | |
|
||||
| Test.java:1247:65:1247:72 | source(...) : Object | Test.java:1247:36:1247:72 | (...)... : Builder | provenance | |
|
||||
@@ -1052,12 +1052,12 @@ edges
|
||||
| Test.java:1332:10:1332:36 | setProgress(...) : Builder | Test.java:1333:9:1333:11 | out | provenance | |
|
||||
| Test.java:1338:36:1338:72 | (...)... : Builder | Test.java:1339:10:1339:11 | in : Builder | provenance | |
|
||||
| Test.java:1338:65:1338:72 | source(...) : Object | Test.java:1338:36:1338:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1339:10:1339:11 | in : Builder | Test.java:1339:10:1339:34 | setPublicVersion(...) : Builder | provenance | MaD:175 |
|
||||
| Test.java:1339:10:1339:11 | in : Builder | Test.java:1339:10:1339:34 | setPublicVersion(...) : Builder | provenance | MaD:176 |
|
||||
| Test.java:1339:10:1339:34 | setPublicVersion(...) : Builder | Test.java:1340:9:1340:11 | out | provenance | |
|
||||
| Test.java:1345:22:1345:44 | (...)... : Notification | Test.java:1346:25:1346:26 | in : Notification | provenance | |
|
||||
| Test.java:1345:37:1345:44 | source(...) : Object | Test.java:1345:22:1345:44 | (...)... : Notification | provenance | |
|
||||
| Test.java:1346:4:1346:6 | out [post update] : Builder | Test.java:1347:9:1347:11 | out | provenance | |
|
||||
| Test.java:1346:25:1346:26 | in : Notification | Test.java:1346:4:1346:6 | out [post update] : Builder | provenance | MaD:176 |
|
||||
| Test.java:1346:25:1346:26 | in : Notification | Test.java:1346:4:1346:6 | out [post update] : Builder | provenance | MaD:175 |
|
||||
| Test.java:1352:36:1352:72 | (...)... : Builder | Test.java:1353:10:1353:11 | in : Builder | provenance | |
|
||||
| Test.java:1352:65:1352:72 | source(...) : Object | Test.java:1352:36:1352:72 | (...)... : Builder | provenance | |
|
||||
| Test.java:1353:10:1353:11 | in : Builder | Test.java:1353:10:1353:39 | setRemoteInputHistory(...) : Builder | provenance | MaD:177 |
|
||||
|
||||
@@ -1,324 +1,324 @@
|
||||
models
|
||||
| 1 | Summary: android.net; Uri; true; buildUpon; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: android.net; Uri; false; decode; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: android.net; Uri; false; encode; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: android.net; Uri; false; fromFile; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: android.net; Uri; false; fromParts; ; ; Argument[0..2]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: android.net; Uri; true; getAuthority; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 7 | Summary: android.net; Uri; true; getEncodedAuthority; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 8 | Summary: android.net; Uri; true; getEncodedFragment; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 9 | Summary: android.net; Uri; true; getEncodedPath; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: android.net; Uri; true; getEncodedQuery; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 11 | Summary: android.net; Uri; true; getEncodedSchemeSpecificPart; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 12 | Summary: android.net; Uri; true; getEncodedUserInfo; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 13 | Summary: android.net; Uri; true; getFragment; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 14 | Summary: android.net; Uri; true; getHost; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 15 | Summary: android.net; Uri; true; getLastPathSegment; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 16 | Summary: android.net; Uri; true; getPath; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 17 | Summary: android.net; Uri; true; getPathSegments; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 18 | Summary: android.net; Uri; true; getQuery; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 19 | Summary: android.net; Uri; true; getQueryParameter; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 20 | Summary: android.net; Uri; true; getQueryParameterNames; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 21 | Summary: android.net; Uri; true; getQueryParameters; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 22 | Summary: android.net; Uri; true; getScheme; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 23 | Summary: android.net; Uri; true; getSchemeSpecificPart; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 24 | Summary: android.net; Uri; true; getUserInfo; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 25 | Summary: android.net; Uri; true; normalizeScheme; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 26 | Summary: android.net; Uri; false; parse; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 27 | Summary: android.net; Uri; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 28 | Summary: android.net; Uri; false; withAppendedPath; ; ; Argument[0..1]; ReturnValue; taint; manual |
|
||||
| 29 | Summary: android.net; Uri; false; writeToParcel; ; ; Argument[1]; Argument[0]; taint; manual |
|
||||
| 30 | Summary: android.net; Uri$Builder; false; appendEncodedPath; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 31 | Summary: android.net; Uri$Builder; false; appendEncodedPath; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 32 | Summary: android.net; Uri$Builder; false; appendPath; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 33 | Summary: android.net; Uri$Builder; false; appendPath; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 34 | Summary: android.net; Uri$Builder; false; appendQueryParameter; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 35 | Summary: android.net; Uri$Builder; false; appendQueryParameter; ; ; Argument[0..1]; Argument[this]; taint; manual |
|
||||
| 36 | Summary: android.net; Uri$Builder; false; authority; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 37 | Summary: android.net; Uri$Builder; false; authority; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 38 | Summary: android.net; Uri$Builder; false; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 39 | Summary: android.net; Uri$Builder; false; clearQuery; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 40 | Summary: android.net; Uri$Builder; false; encodedAuthority; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 41 | Summary: android.net; Uri$Builder; false; encodedAuthority; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 42 | Summary: android.net; Uri$Builder; false; encodedFragment; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 43 | Summary: android.net; Uri$Builder; false; encodedFragment; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 44 | Summary: android.net; Uri$Builder; false; encodedOpaquePart; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 45 | Summary: android.net; Uri$Builder; false; encodedOpaquePart; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 46 | Summary: android.net; Uri$Builder; false; encodedPath; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 47 | Summary: android.net; Uri$Builder; false; encodedPath; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 48 | Summary: android.net; Uri$Builder; false; encodedQuery; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 49 | Summary: android.net; Uri$Builder; false; encodedQuery; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 50 | Summary: android.net; Uri$Builder; false; fragment; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 51 | Summary: android.net; Uri$Builder; false; fragment; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 52 | Summary: android.net; Uri$Builder; false; opaquePart; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 53 | Summary: android.net; Uri$Builder; false; opaquePart; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 54 | Summary: android.net; Uri$Builder; false; path; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 55 | Summary: android.net; Uri$Builder; false; path; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 56 | Summary: android.net; Uri$Builder; false; query; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 57 | Summary: android.net; Uri$Builder; false; query; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 58 | Summary: android.net; Uri$Builder; false; scheme; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 59 | Summary: android.net; Uri$Builder; false; scheme; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 60 | Summary: android.net; Uri$Builder; false; toString; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 1 | Summary: android.net; Uri$Builder; false; appendEncodedPath; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 2 | Summary: android.net; Uri$Builder; false; appendEncodedPath; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 3 | Summary: android.net; Uri$Builder; false; appendPath; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 4 | Summary: android.net; Uri$Builder; false; appendPath; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 5 | Summary: android.net; Uri$Builder; false; appendQueryParameter; ; ; Argument[0..1]; Argument[this]; taint; manual |
|
||||
| 6 | Summary: android.net; Uri$Builder; false; appendQueryParameter; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 7 | Summary: android.net; Uri$Builder; false; authority; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 8 | Summary: android.net; Uri$Builder; false; authority; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 9 | Summary: android.net; Uri$Builder; false; build; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: android.net; Uri$Builder; false; clearQuery; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 11 | Summary: android.net; Uri$Builder; false; encodedAuthority; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 12 | Summary: android.net; Uri$Builder; false; encodedAuthority; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 13 | Summary: android.net; Uri$Builder; false; encodedFragment; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 14 | Summary: android.net; Uri$Builder; false; encodedFragment; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 15 | Summary: android.net; Uri$Builder; false; encodedOpaquePart; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 16 | Summary: android.net; Uri$Builder; false; encodedOpaquePart; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 17 | Summary: android.net; Uri$Builder; false; encodedPath; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 18 | Summary: android.net; Uri$Builder; false; encodedPath; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 19 | Summary: android.net; Uri$Builder; false; encodedQuery; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 20 | Summary: android.net; Uri$Builder; false; encodedQuery; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 21 | Summary: android.net; Uri$Builder; false; fragment; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 22 | Summary: android.net; Uri$Builder; false; fragment; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 23 | Summary: android.net; Uri$Builder; false; opaquePart; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 24 | Summary: android.net; Uri$Builder; false; opaquePart; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 25 | Summary: android.net; Uri$Builder; false; path; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 26 | Summary: android.net; Uri$Builder; false; path; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 27 | Summary: android.net; Uri$Builder; false; query; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 28 | Summary: android.net; Uri$Builder; false; query; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 29 | Summary: android.net; Uri$Builder; false; scheme; ; ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 30 | Summary: android.net; Uri$Builder; false; scheme; ; ; Argument[this]; ReturnValue; value; manual |
|
||||
| 31 | Summary: android.net; Uri$Builder; false; toString; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 32 | Summary: android.net; Uri; false; decode; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 33 | Summary: android.net; Uri; false; encode; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 34 | Summary: android.net; Uri; false; fromFile; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 35 | Summary: android.net; Uri; false; fromParts; ; ; Argument[0..2]; ReturnValue; taint; manual |
|
||||
| 36 | Summary: android.net; Uri; false; parse; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 37 | Summary: android.net; Uri; false; withAppendedPath; ; ; Argument[0..1]; ReturnValue; taint; manual |
|
||||
| 38 | Summary: android.net; Uri; false; writeToParcel; ; ; Argument[1]; Argument[0]; taint; manual |
|
||||
| 39 | Summary: android.net; Uri; true; buildUpon; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 40 | Summary: android.net; Uri; true; getAuthority; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 41 | Summary: android.net; Uri; true; getEncodedAuthority; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 42 | Summary: android.net; Uri; true; getEncodedFragment; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 43 | Summary: android.net; Uri; true; getEncodedPath; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 44 | Summary: android.net; Uri; true; getEncodedQuery; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 45 | Summary: android.net; Uri; true; getEncodedSchemeSpecificPart; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 46 | Summary: android.net; Uri; true; getEncodedUserInfo; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 47 | Summary: android.net; Uri; true; getFragment; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 48 | Summary: android.net; Uri; true; getHost; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 49 | Summary: android.net; Uri; true; getLastPathSegment; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 50 | Summary: android.net; Uri; true; getPath; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 51 | Summary: android.net; Uri; true; getPathSegments; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 52 | Summary: android.net; Uri; true; getQuery; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 53 | Summary: android.net; Uri; true; getQueryParameter; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 54 | Summary: android.net; Uri; true; getQueryParameterNames; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 55 | Summary: android.net; Uri; true; getQueryParameters; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 56 | Summary: android.net; Uri; true; getScheme; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 57 | Summary: android.net; Uri; true; getSchemeSpecificPart; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 58 | Summary: android.net; Uri; true; getUserInfo; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 59 | Summary: android.net; Uri; true; normalizeScheme; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 60 | Summary: android.net; Uri; true; toString; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
edges
|
||||
| Test.java:20:21:20:41 | (...)... : Builder | Test.java:21:10:21:11 | in : Builder | provenance | |
|
||||
| Test.java:20:34:20:41 | source(...) : Object | Test.java:20:21:20:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:21:10:21:11 | in : Builder | Test.java:21:10:21:35 | appendEncodedPath(...) : Builder | provenance | MaD:30 |
|
||||
| Test.java:21:10:21:11 | in : Builder | Test.java:21:10:21:35 | appendEncodedPath(...) : Builder | provenance | MaD:2 |
|
||||
| Test.java:21:10:21:35 | appendEncodedPath(...) : Builder | Test.java:22:9:22:11 | out | provenance | |
|
||||
| Test.java:27:16:27:31 | (...)... : String | Test.java:28:26:28:27 | in : String | provenance | |
|
||||
| Test.java:27:24:27:31 | source(...) : Object | Test.java:27:16:27:31 | (...)... : String | provenance | |
|
||||
| Test.java:28:4:28:6 | out [post update] : Builder | Test.java:29:9:29:11 | out | provenance | |
|
||||
| Test.java:28:26:28:27 | in : String | Test.java:28:4:28:6 | out [post update] : Builder | provenance | MaD:31 |
|
||||
| Test.java:28:26:28:27 | in : String | Test.java:28:4:28:6 | out [post update] : Builder | provenance | MaD:1 |
|
||||
| Test.java:34:21:34:41 | (...)... : Builder | Test.java:35:10:35:11 | in : Builder | provenance | |
|
||||
| Test.java:34:34:34:41 | source(...) : Object | Test.java:34:21:34:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:35:10:35:11 | in : Builder | Test.java:35:10:35:28 | appendPath(...) : Builder | provenance | MaD:32 |
|
||||
| Test.java:35:10:35:11 | in : Builder | Test.java:35:10:35:28 | appendPath(...) : Builder | provenance | MaD:4 |
|
||||
| Test.java:35:10:35:28 | appendPath(...) : Builder | Test.java:36:9:36:11 | out | provenance | |
|
||||
| Test.java:41:16:41:31 | (...)... : String | Test.java:42:19:42:20 | in : String | provenance | |
|
||||
| Test.java:41:24:41:31 | source(...) : Object | Test.java:41:16:41:31 | (...)... : String | provenance | |
|
||||
| Test.java:42:4:42:6 | out [post update] : Builder | Test.java:43:9:43:11 | out | provenance | |
|
||||
| Test.java:42:19:42:20 | in : String | Test.java:42:4:42:6 | out [post update] : Builder | provenance | MaD:33 |
|
||||
| Test.java:42:19:42:20 | in : String | Test.java:42:4:42:6 | out [post update] : Builder | provenance | MaD:3 |
|
||||
| Test.java:48:21:48:41 | (...)... : Builder | Test.java:49:10:49:11 | in : Builder | provenance | |
|
||||
| Test.java:48:34:48:41 | source(...) : Object | Test.java:48:21:48:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:49:10:49:11 | in : Builder | Test.java:49:10:49:44 | appendQueryParameter(...) : Builder | provenance | MaD:34 |
|
||||
| Test.java:49:10:49:11 | in : Builder | Test.java:49:10:49:44 | appendQueryParameter(...) : Builder | provenance | MaD:6 |
|
||||
| Test.java:49:10:49:44 | appendQueryParameter(...) : Builder | Test.java:50:9:50:11 | out | provenance | |
|
||||
| Test.java:55:16:55:31 | (...)... : String | Test.java:56:35:56:36 | in : String | provenance | |
|
||||
| Test.java:55:24:55:31 | source(...) : Object | Test.java:55:16:55:31 | (...)... : String | provenance | |
|
||||
| Test.java:56:4:56:6 | out [post update] : Builder | Test.java:57:9:57:11 | out | provenance | |
|
||||
| Test.java:56:35:56:36 | in : String | Test.java:56:4:56:6 | out [post update] : Builder | provenance | MaD:35 |
|
||||
| Test.java:56:35:56:36 | in : String | Test.java:56:4:56:6 | out [post update] : Builder | provenance | MaD:5 |
|
||||
| Test.java:62:16:62:31 | (...)... : String | Test.java:63:29:63:30 | in : String | provenance | |
|
||||
| Test.java:62:24:62:31 | source(...) : Object | Test.java:62:16:62:31 | (...)... : String | provenance | |
|
||||
| Test.java:63:4:63:6 | out [post update] : Builder | Test.java:64:9:64:11 | out | provenance | |
|
||||
| Test.java:63:29:63:30 | in : String | Test.java:63:4:63:6 | out [post update] : Builder | provenance | MaD:35 |
|
||||
| Test.java:63:29:63:30 | in : String | Test.java:63:4:63:6 | out [post update] : Builder | provenance | MaD:5 |
|
||||
| Test.java:69:21:69:41 | (...)... : Builder | Test.java:70:10:70:11 | in : Builder | provenance | |
|
||||
| Test.java:69:34:69:41 | source(...) : Object | Test.java:69:21:69:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:70:10:70:11 | in : Builder | Test.java:70:10:70:27 | authority(...) : Builder | provenance | MaD:36 |
|
||||
| Test.java:70:10:70:11 | in : Builder | Test.java:70:10:70:27 | authority(...) : Builder | provenance | MaD:8 |
|
||||
| Test.java:70:10:70:27 | authority(...) : Builder | Test.java:71:9:71:11 | out | provenance | |
|
||||
| Test.java:76:16:76:31 | (...)... : String | Test.java:77:18:77:19 | in : String | provenance | |
|
||||
| Test.java:76:24:76:31 | source(...) : Object | Test.java:76:16:76:31 | (...)... : String | provenance | |
|
||||
| Test.java:77:4:77:6 | out [post update] : Builder | Test.java:78:9:78:11 | out | provenance | |
|
||||
| Test.java:77:18:77:19 | in : String | Test.java:77:4:77:6 | out [post update] : Builder | provenance | MaD:37 |
|
||||
| Test.java:77:18:77:19 | in : String | Test.java:77:4:77:6 | out [post update] : Builder | provenance | MaD:7 |
|
||||
| Test.java:83:21:83:41 | (...)... : Builder | Test.java:84:10:84:11 | in : Builder | provenance | |
|
||||
| Test.java:83:34:83:41 | source(...) : Object | Test.java:83:21:83:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:84:10:84:11 | in : Builder | Test.java:84:10:84:19 | build(...) : Uri | provenance | MaD:38 |
|
||||
| Test.java:84:10:84:11 | in : Builder | Test.java:84:10:84:19 | build(...) : Uri | provenance | MaD:9 |
|
||||
| Test.java:84:10:84:19 | build(...) : Uri | Test.java:85:9:85:11 | out | provenance | |
|
||||
| Test.java:90:21:90:41 | (...)... : Builder | Test.java:91:10:91:11 | in : Builder | provenance | |
|
||||
| Test.java:90:34:90:41 | source(...) : Object | Test.java:90:21:90:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:91:10:91:11 | in : Builder | Test.java:91:10:91:24 | clearQuery(...) : Builder | provenance | MaD:39 |
|
||||
| Test.java:91:10:91:11 | in : Builder | Test.java:91:10:91:24 | clearQuery(...) : Builder | provenance | MaD:10 |
|
||||
| Test.java:91:10:91:24 | clearQuery(...) : Builder | Test.java:92:9:92:11 | out | provenance | |
|
||||
| Test.java:97:21:97:41 | (...)... : Builder | Test.java:98:10:98:11 | in : Builder | provenance | |
|
||||
| Test.java:97:34:97:41 | source(...) : Object | Test.java:97:21:97:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:98:10:98:11 | in : Builder | Test.java:98:10:98:34 | encodedAuthority(...) : Builder | provenance | MaD:40 |
|
||||
| Test.java:98:10:98:11 | in : Builder | Test.java:98:10:98:34 | encodedAuthority(...) : Builder | provenance | MaD:12 |
|
||||
| Test.java:98:10:98:34 | encodedAuthority(...) : Builder | Test.java:99:9:99:11 | out | provenance | |
|
||||
| Test.java:104:16:104:31 | (...)... : String | Test.java:105:25:105:26 | in : String | provenance | |
|
||||
| Test.java:104:24:104:31 | source(...) : Object | Test.java:104:16:104:31 | (...)... : String | provenance | |
|
||||
| Test.java:105:4:105:6 | out [post update] : Builder | Test.java:106:9:106:11 | out | provenance | |
|
||||
| Test.java:105:25:105:26 | in : String | Test.java:105:4:105:6 | out [post update] : Builder | provenance | MaD:41 |
|
||||
| Test.java:105:25:105:26 | in : String | Test.java:105:4:105:6 | out [post update] : Builder | provenance | MaD:11 |
|
||||
| Test.java:111:21:111:41 | (...)... : Builder | Test.java:112:10:112:11 | in : Builder | provenance | |
|
||||
| Test.java:111:34:111:41 | source(...) : Object | Test.java:111:21:111:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:112:10:112:11 | in : Builder | Test.java:112:10:112:33 | encodedFragment(...) : Builder | provenance | MaD:42 |
|
||||
| Test.java:112:10:112:11 | in : Builder | Test.java:112:10:112:33 | encodedFragment(...) : Builder | provenance | MaD:14 |
|
||||
| Test.java:112:10:112:33 | encodedFragment(...) : Builder | Test.java:113:9:113:11 | out | provenance | |
|
||||
| Test.java:118:16:118:31 | (...)... : String | Test.java:119:24:119:25 | in : String | provenance | |
|
||||
| Test.java:118:24:118:31 | source(...) : Object | Test.java:118:16:118:31 | (...)... : String | provenance | |
|
||||
| Test.java:119:4:119:6 | out [post update] : Builder | Test.java:120:9:120:11 | out | provenance | |
|
||||
| Test.java:119:24:119:25 | in : String | Test.java:119:4:119:6 | out [post update] : Builder | provenance | MaD:43 |
|
||||
| Test.java:119:24:119:25 | in : String | Test.java:119:4:119:6 | out [post update] : Builder | provenance | MaD:13 |
|
||||
| Test.java:125:21:125:41 | (...)... : Builder | Test.java:126:10:126:11 | in : Builder | provenance | |
|
||||
| Test.java:125:34:125:41 | source(...) : Object | Test.java:125:21:125:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:126:10:126:11 | in : Builder | Test.java:126:10:126:35 | encodedOpaquePart(...) : Builder | provenance | MaD:44 |
|
||||
| Test.java:126:10:126:11 | in : Builder | Test.java:126:10:126:35 | encodedOpaquePart(...) : Builder | provenance | MaD:16 |
|
||||
| Test.java:126:10:126:35 | encodedOpaquePart(...) : Builder | Test.java:127:9:127:11 | out | provenance | |
|
||||
| Test.java:132:16:132:31 | (...)... : String | Test.java:133:26:133:27 | in : String | provenance | |
|
||||
| Test.java:132:24:132:31 | source(...) : Object | Test.java:132:16:132:31 | (...)... : String | provenance | |
|
||||
| Test.java:133:4:133:6 | out [post update] : Builder | Test.java:134:9:134:11 | out | provenance | |
|
||||
| Test.java:133:26:133:27 | in : String | Test.java:133:4:133:6 | out [post update] : Builder | provenance | MaD:45 |
|
||||
| Test.java:133:26:133:27 | in : String | Test.java:133:4:133:6 | out [post update] : Builder | provenance | MaD:15 |
|
||||
| Test.java:139:21:139:41 | (...)... : Builder | Test.java:140:10:140:11 | in : Builder | provenance | |
|
||||
| Test.java:139:34:139:41 | source(...) : Object | Test.java:139:21:139:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:140:10:140:11 | in : Builder | Test.java:140:10:140:29 | encodedPath(...) : Builder | provenance | MaD:46 |
|
||||
| Test.java:140:10:140:11 | in : Builder | Test.java:140:10:140:29 | encodedPath(...) : Builder | provenance | MaD:18 |
|
||||
| Test.java:140:10:140:29 | encodedPath(...) : Builder | Test.java:141:9:141:11 | out | provenance | |
|
||||
| Test.java:146:16:146:31 | (...)... : String | Test.java:147:20:147:21 | in : String | provenance | |
|
||||
| Test.java:146:24:146:31 | source(...) : Object | Test.java:146:16:146:31 | (...)... : String | provenance | |
|
||||
| Test.java:147:4:147:6 | out [post update] : Builder | Test.java:148:9:148:11 | out | provenance | |
|
||||
| Test.java:147:20:147:21 | in : String | Test.java:147:4:147:6 | out [post update] : Builder | provenance | MaD:47 |
|
||||
| Test.java:147:20:147:21 | in : String | Test.java:147:4:147:6 | out [post update] : Builder | provenance | MaD:17 |
|
||||
| Test.java:153:21:153:41 | (...)... : Builder | Test.java:154:10:154:11 | in : Builder | provenance | |
|
||||
| Test.java:153:34:153:41 | source(...) : Object | Test.java:153:21:153:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:154:10:154:11 | in : Builder | Test.java:154:10:154:30 | encodedQuery(...) : Builder | provenance | MaD:48 |
|
||||
| Test.java:154:10:154:11 | in : Builder | Test.java:154:10:154:30 | encodedQuery(...) : Builder | provenance | MaD:20 |
|
||||
| Test.java:154:10:154:30 | encodedQuery(...) : Builder | Test.java:155:9:155:11 | out | provenance | |
|
||||
| Test.java:160:16:160:31 | (...)... : String | Test.java:161:21:161:22 | in : String | provenance | |
|
||||
| Test.java:160:24:160:31 | source(...) : Object | Test.java:160:16:160:31 | (...)... : String | provenance | |
|
||||
| Test.java:161:4:161:6 | out [post update] : Builder | Test.java:162:9:162:11 | out | provenance | |
|
||||
| Test.java:161:21:161:22 | in : String | Test.java:161:4:161:6 | out [post update] : Builder | provenance | MaD:49 |
|
||||
| Test.java:161:21:161:22 | in : String | Test.java:161:4:161:6 | out [post update] : Builder | provenance | MaD:19 |
|
||||
| Test.java:167:21:167:41 | (...)... : Builder | Test.java:168:10:168:11 | in : Builder | provenance | |
|
||||
| Test.java:167:34:167:41 | source(...) : Object | Test.java:167:21:167:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:168:10:168:11 | in : Builder | Test.java:168:10:168:26 | fragment(...) : Builder | provenance | MaD:50 |
|
||||
| Test.java:168:10:168:11 | in : Builder | Test.java:168:10:168:26 | fragment(...) : Builder | provenance | MaD:22 |
|
||||
| Test.java:168:10:168:26 | fragment(...) : Builder | Test.java:169:9:169:11 | out | provenance | |
|
||||
| Test.java:174:16:174:31 | (...)... : String | Test.java:175:17:175:18 | in : String | provenance | |
|
||||
| Test.java:174:24:174:31 | source(...) : Object | Test.java:174:16:174:31 | (...)... : String | provenance | |
|
||||
| Test.java:175:4:175:6 | out [post update] : Builder | Test.java:176:9:176:11 | out | provenance | |
|
||||
| Test.java:175:17:175:18 | in : String | Test.java:175:4:175:6 | out [post update] : Builder | provenance | MaD:51 |
|
||||
| Test.java:175:17:175:18 | in : String | Test.java:175:4:175:6 | out [post update] : Builder | provenance | MaD:21 |
|
||||
| Test.java:181:21:181:41 | (...)... : Builder | Test.java:182:10:182:11 | in : Builder | provenance | |
|
||||
| Test.java:181:34:181:41 | source(...) : Object | Test.java:181:21:181:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:182:10:182:11 | in : Builder | Test.java:182:10:182:28 | opaquePart(...) : Builder | provenance | MaD:52 |
|
||||
| Test.java:182:10:182:11 | in : Builder | Test.java:182:10:182:28 | opaquePart(...) : Builder | provenance | MaD:24 |
|
||||
| Test.java:182:10:182:28 | opaquePart(...) : Builder | Test.java:183:9:183:11 | out | provenance | |
|
||||
| Test.java:188:16:188:31 | (...)... : String | Test.java:189:19:189:20 | in : String | provenance | |
|
||||
| Test.java:188:24:188:31 | source(...) : Object | Test.java:188:16:188:31 | (...)... : String | provenance | |
|
||||
| Test.java:189:4:189:6 | out [post update] : Builder | Test.java:190:9:190:11 | out | provenance | |
|
||||
| Test.java:189:19:189:20 | in : String | Test.java:189:4:189:6 | out [post update] : Builder | provenance | MaD:53 |
|
||||
| Test.java:189:19:189:20 | in : String | Test.java:189:4:189:6 | out [post update] : Builder | provenance | MaD:23 |
|
||||
| Test.java:195:21:195:41 | (...)... : Builder | Test.java:196:10:196:11 | in : Builder | provenance | |
|
||||
| Test.java:195:34:195:41 | source(...) : Object | Test.java:195:21:195:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:196:10:196:11 | in : Builder | Test.java:196:10:196:22 | path(...) : Builder | provenance | MaD:54 |
|
||||
| Test.java:196:10:196:11 | in : Builder | Test.java:196:10:196:22 | path(...) : Builder | provenance | MaD:26 |
|
||||
| Test.java:196:10:196:22 | path(...) : Builder | Test.java:197:9:197:11 | out | provenance | |
|
||||
| Test.java:202:16:202:31 | (...)... : String | Test.java:203:13:203:14 | in : String | provenance | |
|
||||
| Test.java:202:24:202:31 | source(...) : Object | Test.java:202:16:202:31 | (...)... : String | provenance | |
|
||||
| Test.java:203:4:203:6 | out [post update] : Builder | Test.java:204:9:204:11 | out | provenance | |
|
||||
| Test.java:203:13:203:14 | in : String | Test.java:203:4:203:6 | out [post update] : Builder | provenance | MaD:55 |
|
||||
| Test.java:203:13:203:14 | in : String | Test.java:203:4:203:6 | out [post update] : Builder | provenance | MaD:25 |
|
||||
| Test.java:209:21:209:41 | (...)... : Builder | Test.java:210:10:210:11 | in : Builder | provenance | |
|
||||
| Test.java:209:34:209:41 | source(...) : Object | Test.java:209:21:209:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:210:10:210:11 | in : Builder | Test.java:210:10:210:23 | query(...) : Builder | provenance | MaD:56 |
|
||||
| Test.java:210:10:210:11 | in : Builder | Test.java:210:10:210:23 | query(...) : Builder | provenance | MaD:28 |
|
||||
| Test.java:210:10:210:23 | query(...) : Builder | Test.java:211:9:211:11 | out | provenance | |
|
||||
| Test.java:216:16:216:31 | (...)... : String | Test.java:217:14:217:15 | in : String | provenance | |
|
||||
| Test.java:216:24:216:31 | source(...) : Object | Test.java:216:16:216:31 | (...)... : String | provenance | |
|
||||
| Test.java:217:4:217:6 | out [post update] : Builder | Test.java:218:9:218:11 | out | provenance | |
|
||||
| Test.java:217:14:217:15 | in : String | Test.java:217:4:217:6 | out [post update] : Builder | provenance | MaD:57 |
|
||||
| Test.java:217:14:217:15 | in : String | Test.java:217:4:217:6 | out [post update] : Builder | provenance | MaD:27 |
|
||||
| Test.java:223:21:223:41 | (...)... : Builder | Test.java:224:10:224:11 | in : Builder | provenance | |
|
||||
| Test.java:223:34:223:41 | source(...) : Object | Test.java:223:21:223:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:224:10:224:11 | in : Builder | Test.java:224:10:224:24 | scheme(...) : Builder | provenance | MaD:58 |
|
||||
| Test.java:224:10:224:11 | in : Builder | Test.java:224:10:224:24 | scheme(...) : Builder | provenance | MaD:30 |
|
||||
| Test.java:224:10:224:24 | scheme(...) : Builder | Test.java:225:9:225:11 | out | provenance | |
|
||||
| Test.java:230:16:230:31 | (...)... : String | Test.java:231:15:231:16 | in : String | provenance | |
|
||||
| Test.java:230:24:230:31 | source(...) : Object | Test.java:230:16:230:31 | (...)... : String | provenance | |
|
||||
| Test.java:231:4:231:6 | out [post update] : Builder | Test.java:232:9:232:11 | out | provenance | |
|
||||
| Test.java:231:15:231:16 | in : String | Test.java:231:4:231:6 | out [post update] : Builder | provenance | MaD:59 |
|
||||
| Test.java:231:15:231:16 | in : String | Test.java:231:4:231:6 | out [post update] : Builder | provenance | MaD:29 |
|
||||
| Test.java:237:21:237:41 | (...)... : Builder | Test.java:238:10:238:11 | in : Builder | provenance | |
|
||||
| Test.java:237:34:237:41 | source(...) : Object | Test.java:237:21:237:41 | (...)... : Builder | provenance | |
|
||||
| Test.java:238:10:238:11 | in : Builder | Test.java:238:10:238:22 | toString(...) : String | provenance | MaD:60 |
|
||||
| Test.java:238:10:238:11 | in : Builder | Test.java:238:10:238:22 | toString(...) : String | provenance | MaD:31 |
|
||||
| Test.java:238:10:238:22 | toString(...) : String | Test.java:239:9:239:11 | out | provenance | |
|
||||
| Test.java:244:16:244:31 | (...)... : String | Test.java:245:21:245:22 | in : String | provenance | |
|
||||
| Test.java:244:24:244:31 | source(...) : Object | Test.java:244:16:244:31 | (...)... : String | provenance | |
|
||||
| Test.java:245:10:245:23 | decode(...) : String | Test.java:246:9:246:11 | out | provenance | |
|
||||
| Test.java:245:21:245:22 | in : String | Test.java:245:10:245:23 | decode(...) : String | provenance | MaD:2 |
|
||||
| Test.java:245:21:245:22 | in : String | Test.java:245:10:245:23 | decode(...) : String | provenance | MaD:32 |
|
||||
| Test.java:251:16:251:31 | (...)... : String | Test.java:252:21:252:22 | in : String | provenance | |
|
||||
| Test.java:251:24:251:31 | source(...) : Object | Test.java:251:16:251:31 | (...)... : String | provenance | |
|
||||
| Test.java:252:10:252:29 | encode(...) : String | Test.java:253:9:253:11 | out | provenance | |
|
||||
| Test.java:252:21:252:22 | in : String | Test.java:252:10:252:29 | encode(...) : String | provenance | MaD:3 |
|
||||
| Test.java:252:21:252:22 | in : String | Test.java:252:10:252:29 | encode(...) : String | provenance | MaD:33 |
|
||||
| Test.java:258:16:258:31 | (...)... : String | Test.java:259:21:259:22 | in : String | provenance | |
|
||||
| Test.java:258:24:258:31 | source(...) : Object | Test.java:258:16:258:31 | (...)... : String | provenance | |
|
||||
| Test.java:259:10:259:23 | encode(...) : String | Test.java:260:9:260:11 | out | provenance | |
|
||||
| Test.java:259:21:259:22 | in : String | Test.java:259:10:259:23 | encode(...) : String | provenance | MaD:3 |
|
||||
| Test.java:259:21:259:22 | in : String | Test.java:259:10:259:23 | encode(...) : String | provenance | MaD:33 |
|
||||
| Test.java:265:14:265:27 | (...)... : File | Test.java:266:23:266:24 | in : File | provenance | |
|
||||
| Test.java:265:20:265:27 | source(...) : Object | Test.java:265:14:265:27 | (...)... : File | provenance | |
|
||||
| Test.java:266:10:266:25 | fromFile(...) : Uri | Test.java:267:9:267:11 | out | provenance | |
|
||||
| Test.java:266:23:266:24 | in : File | Test.java:266:10:266:25 | fromFile(...) : Uri | provenance | MaD:4 |
|
||||
| Test.java:266:23:266:24 | in : File | Test.java:266:10:266:25 | fromFile(...) : Uri | provenance | MaD:34 |
|
||||
| Test.java:272:16:272:31 | (...)... : String | Test.java:273:36:273:37 | in : String | provenance | |
|
||||
| Test.java:272:24:272:31 | source(...) : Object | Test.java:272:16:272:31 | (...)... : String | provenance | |
|
||||
| Test.java:273:10:273:38 | fromParts(...) : Uri | Test.java:274:9:274:11 | out | provenance | |
|
||||
| Test.java:273:36:273:37 | in : String | Test.java:273:10:273:38 | fromParts(...) : Uri | provenance | MaD:5 |
|
||||
| Test.java:273:36:273:37 | in : String | Test.java:273:10:273:38 | fromParts(...) : Uri | provenance | MaD:35 |
|
||||
| Test.java:279:16:279:31 | (...)... : String | Test.java:280:30:280:31 | in : String | provenance | |
|
||||
| Test.java:279:24:279:31 | source(...) : Object | Test.java:279:16:279:31 | (...)... : String | provenance | |
|
||||
| Test.java:280:10:280:38 | fromParts(...) : Uri | Test.java:281:9:281:11 | out | provenance | |
|
||||
| Test.java:280:30:280:31 | in : String | Test.java:280:10:280:38 | fromParts(...) : Uri | provenance | MaD:5 |
|
||||
| Test.java:280:30:280:31 | in : String | Test.java:280:10:280:38 | fromParts(...) : Uri | provenance | MaD:35 |
|
||||
| Test.java:286:16:286:31 | (...)... : String | Test.java:287:24:287:25 | in : String | provenance | |
|
||||
| Test.java:286:24:286:31 | source(...) : Object | Test.java:286:16:286:31 | (...)... : String | provenance | |
|
||||
| Test.java:287:10:287:38 | fromParts(...) : Uri | Test.java:288:9:288:11 | out | provenance | |
|
||||
| Test.java:287:24:287:25 | in : String | Test.java:287:10:287:38 | fromParts(...) : Uri | provenance | MaD:5 |
|
||||
| Test.java:287:24:287:25 | in : String | Test.java:287:10:287:38 | fromParts(...) : Uri | provenance | MaD:35 |
|
||||
| Test.java:293:16:293:31 | (...)... : String | Test.java:294:20:294:21 | in : String | provenance | |
|
||||
| Test.java:293:24:293:31 | source(...) : Object | Test.java:293:16:293:31 | (...)... : String | provenance | |
|
||||
| Test.java:294:10:294:22 | parse(...) : Uri | Test.java:295:9:295:11 | out | provenance | |
|
||||
| Test.java:294:20:294:21 | in : String | Test.java:294:10:294:22 | parse(...) : Uri | provenance | MaD:26 |
|
||||
| Test.java:294:20:294:21 | in : String | Test.java:294:10:294:22 | parse(...) : Uri | provenance | MaD:36 |
|
||||
| Test.java:300:13:300:25 | (...)... : Uri | Test.java:301:31:301:32 | in : Uri | provenance | |
|
||||
| Test.java:300:18:300:25 | source(...) : Object | Test.java:300:13:300:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:301:10:301:39 | withAppendedPath(...) : Uri | Test.java:302:9:302:11 | out | provenance | |
|
||||
| Test.java:301:31:301:32 | in : Uri | Test.java:301:10:301:39 | withAppendedPath(...) : Uri | provenance | MaD:28 |
|
||||
| Test.java:301:31:301:32 | in : Uri | Test.java:301:10:301:39 | withAppendedPath(...) : Uri | provenance | MaD:37 |
|
||||
| Test.java:307:16:307:31 | (...)... : String | Test.java:308:37:308:38 | in : String | provenance | |
|
||||
| Test.java:307:24:307:31 | source(...) : Object | Test.java:307:16:307:31 | (...)... : String | provenance | |
|
||||
| Test.java:308:10:308:39 | withAppendedPath(...) : Uri | Test.java:309:9:309:11 | out | provenance | |
|
||||
| Test.java:308:37:308:38 | in : String | Test.java:308:10:308:39 | withAppendedPath(...) : Uri | provenance | MaD:28 |
|
||||
| Test.java:308:37:308:38 | in : String | Test.java:308:10:308:39 | withAppendedPath(...) : Uri | provenance | MaD:37 |
|
||||
| Test.java:314:13:314:25 | (...)... : Uri | Test.java:315:27:315:28 | in : Uri | provenance | |
|
||||
| Test.java:314:18:314:25 | source(...) : Object | Test.java:314:13:314:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:315:22:315:24 | out [post update] : Parcel | Test.java:316:9:316:11 | out | provenance | |
|
||||
| Test.java:315:27:315:28 | in : Uri | Test.java:315:22:315:24 | out [post update] : Parcel | provenance | MaD:29 |
|
||||
| Test.java:315:27:315:28 | in : Uri | Test.java:315:22:315:24 | out [post update] : Parcel | provenance | MaD:38 |
|
||||
| Test.java:321:13:321:25 | (...)... : Uri | Test.java:322:10:322:11 | in : Uri | provenance | |
|
||||
| Test.java:321:18:321:25 | source(...) : Object | Test.java:321:13:321:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:322:10:322:11 | in : Uri | Test.java:322:10:322:23 | buildUpon(...) : Builder | provenance | MaD:1 |
|
||||
| Test.java:322:10:322:11 | in : Uri | Test.java:322:10:322:23 | buildUpon(...) : Builder | provenance | MaD:39 |
|
||||
| Test.java:322:10:322:23 | buildUpon(...) : Builder | Test.java:323:9:323:11 | out | provenance | |
|
||||
| Test.java:328:13:328:25 | (...)... : Uri | Test.java:329:10:329:11 | in : Uri | provenance | |
|
||||
| Test.java:328:18:328:25 | source(...) : Object | Test.java:328:13:328:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:329:10:329:11 | in : Uri | Test.java:329:10:329:26 | getAuthority(...) : String | provenance | MaD:6 |
|
||||
| Test.java:329:10:329:11 | in : Uri | Test.java:329:10:329:26 | getAuthority(...) : String | provenance | MaD:40 |
|
||||
| Test.java:329:10:329:26 | getAuthority(...) : String | Test.java:330:9:330:11 | out | provenance | |
|
||||
| Test.java:335:13:335:25 | (...)... : Uri | Test.java:336:10:336:11 | in : Uri | provenance | |
|
||||
| Test.java:335:18:335:25 | source(...) : Object | Test.java:335:13:335:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:336:10:336:11 | in : Uri | Test.java:336:10:336:33 | getEncodedAuthority(...) : String | provenance | MaD:7 |
|
||||
| Test.java:336:10:336:11 | in : Uri | Test.java:336:10:336:33 | getEncodedAuthority(...) : String | provenance | MaD:41 |
|
||||
| Test.java:336:10:336:33 | getEncodedAuthority(...) : String | Test.java:337:9:337:11 | out | provenance | |
|
||||
| Test.java:342:13:342:25 | (...)... : Uri | Test.java:343:10:343:11 | in : Uri | provenance | |
|
||||
| Test.java:342:18:342:25 | source(...) : Object | Test.java:342:13:342:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:343:10:343:11 | in : Uri | Test.java:343:10:343:32 | getEncodedFragment(...) : String | provenance | MaD:8 |
|
||||
| Test.java:343:10:343:11 | in : Uri | Test.java:343:10:343:32 | getEncodedFragment(...) : String | provenance | MaD:42 |
|
||||
| Test.java:343:10:343:32 | getEncodedFragment(...) : String | Test.java:344:9:344:11 | out | provenance | |
|
||||
| Test.java:349:13:349:25 | (...)... : Uri | Test.java:350:10:350:11 | in : Uri | provenance | |
|
||||
| Test.java:349:18:349:25 | source(...) : Object | Test.java:349:13:349:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:350:10:350:11 | in : Uri | Test.java:350:10:350:28 | getEncodedPath(...) : String | provenance | MaD:9 |
|
||||
| Test.java:350:10:350:11 | in : Uri | Test.java:350:10:350:28 | getEncodedPath(...) : String | provenance | MaD:43 |
|
||||
| Test.java:350:10:350:28 | getEncodedPath(...) : String | Test.java:351:9:351:11 | out | provenance | |
|
||||
| Test.java:356:13:356:25 | (...)... : Uri | Test.java:357:10:357:11 | in : Uri | provenance | |
|
||||
| Test.java:356:18:356:25 | source(...) : Object | Test.java:356:13:356:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:357:10:357:11 | in : Uri | Test.java:357:10:357:29 | getEncodedQuery(...) : String | provenance | MaD:10 |
|
||||
| Test.java:357:10:357:11 | in : Uri | Test.java:357:10:357:29 | getEncodedQuery(...) : String | provenance | MaD:44 |
|
||||
| Test.java:357:10:357:29 | getEncodedQuery(...) : String | Test.java:358:9:358:11 | out | provenance | |
|
||||
| Test.java:363:13:363:25 | (...)... : Uri | Test.java:364:10:364:11 | in : Uri | provenance | |
|
||||
| Test.java:363:18:363:25 | source(...) : Object | Test.java:363:13:363:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:364:10:364:11 | in : Uri | Test.java:364:10:364:42 | getEncodedSchemeSpecificPart(...) : String | provenance | MaD:11 |
|
||||
| Test.java:364:10:364:11 | in : Uri | Test.java:364:10:364:42 | getEncodedSchemeSpecificPart(...) : String | provenance | MaD:45 |
|
||||
| Test.java:364:10:364:42 | getEncodedSchemeSpecificPart(...) : String | Test.java:365:9:365:11 | out | provenance | |
|
||||
| Test.java:370:13:370:25 | (...)... : Uri | Test.java:371:10:371:11 | in : Uri | provenance | |
|
||||
| Test.java:370:18:370:25 | source(...) : Object | Test.java:370:13:370:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:371:10:371:11 | in : Uri | Test.java:371:10:371:32 | getEncodedUserInfo(...) : String | provenance | MaD:12 |
|
||||
| Test.java:371:10:371:11 | in : Uri | Test.java:371:10:371:32 | getEncodedUserInfo(...) : String | provenance | MaD:46 |
|
||||
| Test.java:371:10:371:32 | getEncodedUserInfo(...) : String | Test.java:372:9:372:11 | out | provenance | |
|
||||
| Test.java:377:13:377:25 | (...)... : Uri | Test.java:378:10:378:11 | in : Uri | provenance | |
|
||||
| Test.java:377:18:377:25 | source(...) : Object | Test.java:377:13:377:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:378:10:378:11 | in : Uri | Test.java:378:10:378:25 | getFragment(...) : String | provenance | MaD:13 |
|
||||
| Test.java:378:10:378:11 | in : Uri | Test.java:378:10:378:25 | getFragment(...) : String | provenance | MaD:47 |
|
||||
| Test.java:378:10:378:25 | getFragment(...) : String | Test.java:379:9:379:11 | out | provenance | |
|
||||
| Test.java:384:13:384:25 | (...)... : Uri | Test.java:385:10:385:11 | in : Uri | provenance | |
|
||||
| Test.java:384:18:384:25 | source(...) : Object | Test.java:384:13:384:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:385:10:385:11 | in : Uri | Test.java:385:10:385:21 | getHost(...) : String | provenance | MaD:14 |
|
||||
| Test.java:385:10:385:11 | in : Uri | Test.java:385:10:385:21 | getHost(...) : String | provenance | MaD:48 |
|
||||
| Test.java:385:10:385:21 | getHost(...) : String | Test.java:386:9:386:11 | out | provenance | |
|
||||
| Test.java:391:13:391:25 | (...)... : Uri | Test.java:392:10:392:11 | in : Uri | provenance | |
|
||||
| Test.java:391:18:391:25 | source(...) : Object | Test.java:391:13:391:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:392:10:392:11 | in : Uri | Test.java:392:10:392:32 | getLastPathSegment(...) : String | provenance | MaD:15 |
|
||||
| Test.java:392:10:392:11 | in : Uri | Test.java:392:10:392:32 | getLastPathSegment(...) : String | provenance | MaD:49 |
|
||||
| Test.java:392:10:392:32 | getLastPathSegment(...) : String | Test.java:393:9:393:11 | out | provenance | |
|
||||
| Test.java:398:13:398:25 | (...)... : Uri | Test.java:399:10:399:11 | in : Uri | provenance | |
|
||||
| Test.java:398:18:398:25 | source(...) : Object | Test.java:398:13:398:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:399:10:399:11 | in : Uri | Test.java:399:10:399:21 | getPath(...) : String | provenance | MaD:16 |
|
||||
| Test.java:399:10:399:11 | in : Uri | Test.java:399:10:399:21 | getPath(...) : String | provenance | MaD:50 |
|
||||
| Test.java:399:10:399:21 | getPath(...) : String | Test.java:400:9:400:11 | out | provenance | |
|
||||
| Test.java:405:13:405:25 | (...)... : Uri | Test.java:406:10:406:11 | in : Uri | provenance | |
|
||||
| Test.java:405:18:405:25 | source(...) : Object | Test.java:405:13:405:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:406:10:406:11 | in : Uri | Test.java:406:10:406:29 | getPathSegments(...) : List | provenance | MaD:17 |
|
||||
| Test.java:406:10:406:11 | in : Uri | Test.java:406:10:406:29 | getPathSegments(...) : List | provenance | MaD:51 |
|
||||
| Test.java:406:10:406:29 | getPathSegments(...) : List | Test.java:407:9:407:11 | out | provenance | |
|
||||
| Test.java:412:13:412:25 | (...)... : Uri | Test.java:413:10:413:11 | in : Uri | provenance | |
|
||||
| Test.java:412:18:412:25 | source(...) : Object | Test.java:412:13:412:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:413:10:413:11 | in : Uri | Test.java:413:10:413:22 | getQuery(...) : String | provenance | MaD:18 |
|
||||
| Test.java:413:10:413:11 | in : Uri | Test.java:413:10:413:22 | getQuery(...) : String | provenance | MaD:52 |
|
||||
| Test.java:413:10:413:22 | getQuery(...) : String | Test.java:414:9:414:11 | out | provenance | |
|
||||
| Test.java:419:13:419:25 | (...)... : Uri | Test.java:420:10:420:11 | in : Uri | provenance | |
|
||||
| Test.java:419:18:419:25 | source(...) : Object | Test.java:419:13:419:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:420:10:420:11 | in : Uri | Test.java:420:10:420:35 | getQueryParameter(...) : String | provenance | MaD:19 |
|
||||
| Test.java:420:10:420:11 | in : Uri | Test.java:420:10:420:35 | getQueryParameter(...) : String | provenance | MaD:53 |
|
||||
| Test.java:420:10:420:35 | getQueryParameter(...) : String | Test.java:421:9:421:11 | out | provenance | |
|
||||
| Test.java:426:13:426:25 | (...)... : Uri | Test.java:427:10:427:11 | in : Uri | provenance | |
|
||||
| Test.java:426:18:426:25 | source(...) : Object | Test.java:426:13:426:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:427:10:427:11 | in : Uri | Test.java:427:10:427:36 | getQueryParameterNames(...) : Set | provenance | MaD:20 |
|
||||
| Test.java:427:10:427:11 | in : Uri | Test.java:427:10:427:36 | getQueryParameterNames(...) : Set | provenance | MaD:54 |
|
||||
| Test.java:427:10:427:36 | getQueryParameterNames(...) : Set | Test.java:428:9:428:11 | out | provenance | |
|
||||
| Test.java:433:13:433:25 | (...)... : Uri | Test.java:434:10:434:11 | in : Uri | provenance | |
|
||||
| Test.java:433:18:433:25 | source(...) : Object | Test.java:433:13:433:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:434:10:434:11 | in : Uri | Test.java:434:10:434:36 | getQueryParameters(...) : List | provenance | MaD:21 |
|
||||
| Test.java:434:10:434:11 | in : Uri | Test.java:434:10:434:36 | getQueryParameters(...) : List | provenance | MaD:55 |
|
||||
| Test.java:434:10:434:36 | getQueryParameters(...) : List | Test.java:435:9:435:11 | out | provenance | |
|
||||
| Test.java:440:13:440:25 | (...)... : Uri | Test.java:441:10:441:11 | in : Uri | provenance | |
|
||||
| Test.java:440:18:440:25 | source(...) : Object | Test.java:440:13:440:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:441:10:441:11 | in : Uri | Test.java:441:10:441:23 | getScheme(...) : String | provenance | MaD:22 |
|
||||
| Test.java:441:10:441:11 | in : Uri | Test.java:441:10:441:23 | getScheme(...) : String | provenance | MaD:56 |
|
||||
| Test.java:441:10:441:23 | getScheme(...) : String | Test.java:442:9:442:11 | out | provenance | |
|
||||
| Test.java:447:13:447:25 | (...)... : Uri | Test.java:448:10:448:11 | in : Uri | provenance | |
|
||||
| Test.java:447:18:447:25 | source(...) : Object | Test.java:447:13:447:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:448:10:448:11 | in : Uri | Test.java:448:10:448:35 | getSchemeSpecificPart(...) : String | provenance | MaD:23 |
|
||||
| Test.java:448:10:448:11 | in : Uri | Test.java:448:10:448:35 | getSchemeSpecificPart(...) : String | provenance | MaD:57 |
|
||||
| Test.java:448:10:448:35 | getSchemeSpecificPart(...) : String | Test.java:449:9:449:11 | out | provenance | |
|
||||
| Test.java:454:13:454:25 | (...)... : Uri | Test.java:455:10:455:11 | in : Uri | provenance | |
|
||||
| Test.java:454:18:454:25 | source(...) : Object | Test.java:454:13:454:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:455:10:455:11 | in : Uri | Test.java:455:10:455:25 | getUserInfo(...) : String | provenance | MaD:24 |
|
||||
| Test.java:455:10:455:11 | in : Uri | Test.java:455:10:455:25 | getUserInfo(...) : String | provenance | MaD:58 |
|
||||
| Test.java:455:10:455:25 | getUserInfo(...) : String | Test.java:456:9:456:11 | out | provenance | |
|
||||
| Test.java:461:13:461:25 | (...)... : Uri | Test.java:462:10:462:11 | in : Uri | provenance | |
|
||||
| Test.java:461:18:461:25 | source(...) : Object | Test.java:461:13:461:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:462:10:462:11 | in : Uri | Test.java:462:10:462:29 | normalizeScheme(...) : Uri | provenance | MaD:25 |
|
||||
| Test.java:462:10:462:11 | in : Uri | Test.java:462:10:462:29 | normalizeScheme(...) : Uri | provenance | MaD:59 |
|
||||
| Test.java:462:10:462:29 | normalizeScheme(...) : Uri | Test.java:463:9:463:11 | out | provenance | |
|
||||
| Test.java:468:13:468:25 | (...)... : Uri | Test.java:469:10:469:11 | in : Uri | provenance | |
|
||||
| Test.java:468:18:468:25 | source(...) : Object | Test.java:468:13:468:25 | (...)... : Uri | provenance | |
|
||||
| Test.java:469:10:469:11 | in : Uri | Test.java:469:10:469:22 | toString(...) : String | provenance | MaD:27 |
|
||||
| Test.java:469:10:469:11 | in : Uri | Test.java:469:10:469:22 | toString(...) : String | provenance | MaD:60 |
|
||||
| Test.java:469:10:469:22 | toString(...) : String | Test.java:470:9:470:11 | out | provenance | |
|
||||
nodes
|
||||
| Test.java:20:21:20:41 | (...)... : Builder | semmle.label | (...)... : Builder |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,35 +1,35 @@
|
||||
models
|
||||
| 1 | Summary: com.google.gson; Gson; false; fromJson; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: com.google.gson; Gson; false; toJson; (JsonElement); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: com.google.gson; Gson; false; toJson; (JsonElement,JsonWriter); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 4 | Summary: com.google.gson; Gson; false; toJson; (JsonElement,Appendable); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 5 | Summary: com.google.gson; Gson; false; toJson; (Object); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: com.google.gson; Gson; false; toJson; (Object,Appendable); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 7 | Summary: com.google.gson; Gson; false; toJson; (Object,Type); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 8 | Summary: com.google.gson; Gson; false; toJson; (Object,Type,Appendable); ; Argument[0]; Argument[2]; taint; manual |
|
||||
| 9 | Summary: com.google.gson; Gson; false; toJson; (Object,Type,JsonWriter); ; Argument[0]; Argument[2]; taint; manual |
|
||||
| 10 | Summary: com.google.gson; Gson; false; toJsonTree; (Object); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 11 | Summary: com.google.gson; Gson; false; toJsonTree; (Object,Type); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 12 | Summary: com.google.gson; Gson; false; newJsonReader; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 13 | Summary: com.google.gson; Gson; false; newJsonWriter; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 14 | Summary: com.google.gson.stream; JsonReader; false; nextName; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 15 | Summary: com.google.gson.stream; JsonReader; false; nextString; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 16 | Summary: com.google.gson; JsonElement; true; getAsByte; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 17 | Summary: com.google.gson; JsonElement; true; getAsCharacter; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 18 | Summary: com.google.gson; JsonElement; true; getAsJsonArray; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 19 | Summary: com.google.gson; JsonElement; true; getAsJsonObject; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 20 | Summary: com.google.gson; JsonElement; true; getAsJsonPrimitive; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 21 | Summary: com.google.gson; JsonElement; true; getAsString; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 22 | Summary: com.google.gson; JsonElement; true; toString; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 23 | Summary: com.google.gson; JsonArray; true; add; (Boolean); ; Argument[0]; Argument[this].Element; taint; manual |
|
||||
| 24 | Summary: com.google.gson; JsonArray; true; add; (Character); ; Argument[0]; Argument[this].Element; taint; manual |
|
||||
| 25 | Summary: com.google.gson; JsonArray; true; add; (JsonElement); ; Argument[0]; Argument[this].Element; value; manual |
|
||||
| 26 | Summary: com.google.gson; JsonArray; true; add; (Number); ; Argument[0]; Argument[this].Element; taint; manual |
|
||||
| 27 | Summary: com.google.gson; JsonArray; true; add; (String); ; Argument[0]; Argument[this].Element; taint; manual |
|
||||
| 28 | Summary: com.google.gson; JsonArray; true; addAll; (JsonArray); ; Argument[0].Element; Argument[this].Element; value; manual |
|
||||
| 29 | Summary: com.google.gson; JsonArray; true; asList; ; ; Argument[this].Element; ReturnValue.Element; value; manual |
|
||||
| 30 | Summary: com.google.gson; JsonArray; true; get; ; ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 31 | Summary: com.google.gson; JsonArray; true; set; ; ; Argument[1]; Argument[this].Element; value; manual |
|
||||
| 1 | Summary: com.google.gson.stream; JsonReader; false; nextName; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: com.google.gson.stream; JsonReader; false; nextString; ; ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: com.google.gson; Gson; false; fromJson; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: com.google.gson; Gson; false; newJsonReader; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 5 | Summary: com.google.gson; Gson; false; newJsonWriter; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 6 | Summary: com.google.gson; Gson; false; toJson; (JsonElement); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 7 | Summary: com.google.gson; Gson; false; toJson; (JsonElement,Appendable); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 8 | Summary: com.google.gson; Gson; false; toJson; (JsonElement,JsonWriter); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 9 | Summary: com.google.gson; Gson; false; toJson; (Object); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 10 | Summary: com.google.gson; Gson; false; toJson; (Object,Appendable); ; Argument[0]; Argument[1]; taint; manual |
|
||||
| 11 | Summary: com.google.gson; Gson; false; toJson; (Object,Type); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 12 | Summary: com.google.gson; Gson; false; toJson; (Object,Type,Appendable); ; Argument[0]; Argument[2]; taint; manual |
|
||||
| 13 | Summary: com.google.gson; Gson; false; toJson; (Object,Type,JsonWriter); ; Argument[0]; Argument[2]; taint; manual |
|
||||
| 14 | Summary: com.google.gson; Gson; false; toJsonTree; (Object); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 15 | Summary: com.google.gson; Gson; false; toJsonTree; (Object,Type); ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 16 | Summary: com.google.gson; JsonArray; true; add; (Boolean); ; Argument[0]; Argument[this].Element; taint; manual |
|
||||
| 17 | Summary: com.google.gson; JsonArray; true; add; (Character); ; Argument[0]; Argument[this].Element; taint; manual |
|
||||
| 18 | Summary: com.google.gson; JsonArray; true; add; (JsonElement); ; Argument[0]; Argument[this].Element; value; manual |
|
||||
| 19 | Summary: com.google.gson; JsonArray; true; add; (Number); ; Argument[0]; Argument[this].Element; taint; manual |
|
||||
| 20 | Summary: com.google.gson; JsonArray; true; add; (String); ; Argument[0]; Argument[this].Element; taint; manual |
|
||||
| 21 | Summary: com.google.gson; JsonArray; true; addAll; (JsonArray); ; Argument[0].Element; Argument[this].Element; value; manual |
|
||||
| 22 | Summary: com.google.gson; JsonArray; true; asList; ; ; Argument[this].Element; ReturnValue.Element; value; manual |
|
||||
| 23 | Summary: com.google.gson; JsonArray; true; get; ; ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 24 | Summary: com.google.gson; JsonArray; true; set; ; ; Argument[1]; Argument[this].Element; value; manual |
|
||||
| 25 | Summary: com.google.gson; JsonElement; true; getAsByte; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 26 | Summary: com.google.gson; JsonElement; true; getAsCharacter; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 27 | Summary: com.google.gson; JsonElement; true; getAsJsonArray; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 28 | Summary: com.google.gson; JsonElement; true; getAsJsonObject; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 29 | Summary: com.google.gson; JsonElement; true; getAsJsonPrimitive; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 30 | Summary: com.google.gson; JsonElement; true; getAsString; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 31 | Summary: com.google.gson; JsonElement; true; toString; (); ; Argument[this]; ReturnValue; taint; manual |
|
||||
| 32 | Summary: com.google.gson; JsonObject; true; add; ; ; Argument[0]; Argument[this].MapKey; value; manual |
|
||||
| 33 | Summary: com.google.gson; JsonObject; true; add; ; ; Argument[1]; Argument[this].MapValue; value; manual |
|
||||
| 34 | Summary: com.google.gson; JsonObject; true; addProperty; (String,String); ; Argument[0]; Argument[this].MapKey; value; manual |
|
||||
@@ -44,13 +44,13 @@ models
|
||||
| 43 | Summary: com.google.gson; JsonPrimitive; true; JsonPrimitive; (String); ; Argument[0]; Argument[this]; taint; manual |
|
||||
| 44 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
|
||||
| 45 | Summary: java.util; Iterator; true; next; ; ; Argument[this].Element; ReturnValue; value; manual |
|
||||
| 46 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 47 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual |
|
||||
| 48 | Summary: java.util; Map$Entry; true; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual |
|
||||
| 49 | Summary: java.util; Map$Entry; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 46 | Summary: java.util; Map$Entry; true; getKey; ; ; Argument[this].MapKey; ReturnValue; value; manual |
|
||||
| 47 | Summary: java.util; Map$Entry; true; getValue; ; ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 48 | Summary: java.util; Map; true; get; ; ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 49 | Summary: java.util; Map; true; keySet; (); ; Argument[this].MapKey; ReturnValue.Element; value; manual |
|
||||
edges
|
||||
| Test.java:21:18:21:29 | map : Map [<map.key>] : String | Test.java:21:41:21:43 | map : Map [<map.key>] : String | provenance | |
|
||||
| Test.java:21:41:21:43 | map : Map [<map.key>] : String | Test.java:21:41:21:52 | keySet(...) : Set [<element>] : String | provenance | MaD:47 |
|
||||
| Test.java:21:41:21:43 | map : Map [<map.key>] : String | Test.java:21:41:21:52 | keySet(...) : Set [<element>] : String | provenance | MaD:49 |
|
||||
| Test.java:21:41:21:52 | keySet(...) : Set [<element>] : String | Test.java:21:41:21:63 | iterator(...) : Iterator [<element>] : String | provenance | MaD:44 |
|
||||
| Test.java:21:41:21:63 | iterator(...) : Iterator [<element>] : String | Test.java:21:41:21:70 | next(...) : String | provenance | MaD:45 |
|
||||
| Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | Test.java:22:44:22:45 | it : JsonArray [<element>] : JsonElement | provenance | |
|
||||
@@ -72,22 +72,22 @@ edges
|
||||
| Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : Object | Test.java:22:44:22:63 | next(...) : Object | provenance | MaD:45 |
|
||||
| Test.java:22:44:22:56 | iterator(...) : Iterator [<element>] : String | Test.java:22:44:22:63 | next(...) : String | provenance | MaD:45 |
|
||||
| Test.java:23:20:23:31 | map : Map [<map.value>] : JsonElement | Test.java:23:43:23:45 | map : Map [<map.value>] : JsonElement | provenance | |
|
||||
| Test.java:23:43:23:45 | map : Map [<map.value>] : JsonElement | Test.java:23:43:23:55 | get(...) : JsonElement | provenance | MaD:46 |
|
||||
| Test.java:23:43:23:45 | map : Map [<map.value>] : JsonElement | Test.java:23:43:23:55 | get(...) : JsonElement | provenance | MaD:48 |
|
||||
| Test.java:24:26:24:45 | container : JsonObject [<map.key>] : String | Test.java:24:57:24:65 | container : JsonObject [<map.key>] : String | provenance | |
|
||||
| Test.java:24:57:24:65 | container : JsonObject [<map.key>] : String | Test.java:24:57:24:74 | keySet(...) : Set [<element>] : String | provenance | MaD:41 |
|
||||
| Test.java:24:57:24:74 | keySet(...) : Set [<element>] : String | Test.java:24:57:24:85 | iterator(...) : Iterator [<element>] : String | provenance | MaD:44 |
|
||||
| Test.java:24:57:24:85 | iterator(...) : Iterator [<element>] : String | Test.java:24:57:24:92 | next(...) : String | provenance | MaD:45 |
|
||||
| Test.java:25:25:25:48 | container : Entry [<map.key>] : String | Test.java:25:60:25:68 | container : Entry [<map.key>] : String | provenance | |
|
||||
| Test.java:25:60:25:68 | container : Entry [<map.key>] : String | Test.java:25:60:25:77 | getKey(...) : String | provenance | MaD:48 |
|
||||
| Test.java:25:60:25:68 | container : Entry [<map.key>] : String | Test.java:25:60:25:77 | getKey(...) : String | provenance | MaD:46 |
|
||||
| Test.java:26:33:26:52 | container : JsonObject [<map.value>] : JsonElement | Test.java:26:64:26:72 | container : JsonObject [<map.value>] : JsonElement | provenance | |
|
||||
| Test.java:26:33:26:52 | container : JsonObject [<map.value>] : Object | Test.java:26:64:26:72 | container : JsonObject [<map.value>] : Object | provenance | |
|
||||
| Test.java:26:64:26:72 | container : JsonObject [<map.value>] : JsonElement | Test.java:26:64:26:82 | get(...) : JsonElement | provenance | MaD:40 |
|
||||
| Test.java:26:64:26:72 | container : JsonObject [<map.value>] : Object | Test.java:26:64:26:82 | get(...) : JsonElement | provenance | MaD:40 |
|
||||
| Test.java:27:28:27:51 | container : Entry [<map.value>] : JsonElement | Test.java:27:63:27:71 | container : Entry [<map.value>] : JsonElement | provenance | |
|
||||
| Test.java:27:63:27:71 | container : Entry [<map.value>] : JsonElement | Test.java:27:63:27:82 | getValue(...) : JsonElement | provenance | MaD:49 |
|
||||
| Test.java:27:63:27:71 | container : Entry [<map.value>] : JsonElement | Test.java:27:63:27:82 | getValue(...) : JsonElement | provenance | MaD:47 |
|
||||
| Test.java:28:34:28:52 | element : JsonElement | Test.java:28:94:28:100 | element : JsonElement | provenance | |
|
||||
| Test.java:28:88:28:88 | a [post update] : JsonArray [<element>] : JsonElement | Test.java:28:111:28:111 | a : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:28:94:28:100 | element : JsonElement | Test.java:28:88:28:88 | a [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
|
||||
| Test.java:28:94:28:100 | element : JsonElement | Test.java:28:88:28:88 | a [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:18 |
|
||||
| Test.java:29:34:29:43 | key : String | Test.java:29:87:29:89 | key : String | provenance | |
|
||||
| Test.java:29:81:29:81 | o [post update] : JsonObject [<map.key>] : String | Test.java:29:120:29:120 | o : JsonObject [<map.key>] : String | provenance | |
|
||||
| Test.java:29:87:29:89 | key : String | Test.java:29:81:29:81 | o [post update] : JsonObject [<map.key>] : String | provenance | MaD:32 |
|
||||
@@ -96,213 +96,213 @@ edges
|
||||
| Test.java:30:104:30:110 | element : JsonElement | Test.java:30:92:30:92 | o [post update] : JsonObject [<map.value>] : JsonElement | provenance | MaD:33 |
|
||||
| Test.java:39:20:39:39 | (...)... : JsonReader | Test.java:40:10:40:11 | in : JsonReader | provenance | |
|
||||
| Test.java:39:32:39:39 | source(...) : Object | Test.java:39:20:39:39 | (...)... : JsonReader | provenance | |
|
||||
| Test.java:40:10:40:11 | in : JsonReader | Test.java:40:10:40:22 | nextName(...) : String | provenance | MaD:14 |
|
||||
| Test.java:40:10:40:11 | in : JsonReader | Test.java:40:10:40:22 | nextName(...) : String | provenance | MaD:1 |
|
||||
| Test.java:40:10:40:22 | nextName(...) : String | Test.java:41:9:41:11 | out | provenance | |
|
||||
| Test.java:46:20:46:39 | (...)... : JsonReader | Test.java:47:10:47:11 | in : JsonReader | provenance | |
|
||||
| Test.java:46:32:46:39 | source(...) : Object | Test.java:46:20:46:39 | (...)... : JsonReader | provenance | |
|
||||
| Test.java:47:10:47:11 | in : JsonReader | Test.java:47:10:47:24 | nextString(...) : String | provenance | MaD:15 |
|
||||
| Test.java:47:10:47:11 | in : JsonReader | Test.java:47:10:47:24 | nextString(...) : String | provenance | MaD:2 |
|
||||
| Test.java:47:10:47:24 | nextString(...) : String | Test.java:48:9:48:11 | out | provenance | |
|
||||
| Test.java:53:21:53:41 | (...)... : JsonElement | Test.java:55:28:55:29 | in : JsonElement | provenance | |
|
||||
| Test.java:53:34:53:41 | source(...) : Object | Test.java:53:21:53:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:55:10:55:43 | fromJson(...) : Object | Test.java:56:9:56:11 | out | provenance | |
|
||||
| Test.java:55:28:55:29 | in : JsonElement | Test.java:55:10:55:43 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:55:28:55:29 | in : JsonElement | Test.java:55:10:55:43 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:61:21:61:41 | (...)... : JsonElement | Test.java:63:28:63:29 | in : JsonElement | provenance | |
|
||||
| Test.java:61:34:61:41 | source(...) : Object | Test.java:61:21:61:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:63:10:63:42 | fromJson(...) : Object | Test.java:64:9:64:11 | out | provenance | |
|
||||
| Test.java:63:28:63:29 | in : JsonElement | Test.java:63:10:63:42 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:63:28:63:29 | in : JsonElement | Test.java:63:10:63:42 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:69:21:69:41 | (...)... : JsonElement | Test.java:71:28:71:29 | in : JsonElement | provenance | |
|
||||
| Test.java:69:34:69:41 | source(...) : Object | Test.java:69:21:69:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:71:10:71:47 | fromJson(...) : Object | Test.java:72:9:72:11 | out | provenance | |
|
||||
| Test.java:71:28:71:29 | in : JsonElement | Test.java:71:10:71:47 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:71:28:71:29 | in : JsonElement | Test.java:71:10:71:47 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:77:20:77:39 | (...)... : JsonReader | Test.java:79:28:79:29 | in : JsonReader | provenance | |
|
||||
| Test.java:77:32:77:39 | source(...) : Object | Test.java:77:20:77:39 | (...)... : JsonReader | provenance | |
|
||||
| Test.java:79:10:79:42 | fromJson(...) : Object | Test.java:80:9:80:11 | out | provenance | |
|
||||
| Test.java:79:28:79:29 | in : JsonReader | Test.java:79:10:79:42 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:79:28:79:29 | in : JsonReader | Test.java:79:10:79:42 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:85:20:85:39 | (...)... : JsonReader | Test.java:87:28:87:29 | in : JsonReader | provenance | |
|
||||
| Test.java:85:32:85:39 | source(...) : Object | Test.java:85:20:85:39 | (...)... : JsonReader | provenance | |
|
||||
| Test.java:87:10:87:47 | fromJson(...) : Object | Test.java:88:9:88:11 | out | provenance | |
|
||||
| Test.java:87:28:87:29 | in : JsonReader | Test.java:87:10:87:47 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:87:28:87:29 | in : JsonReader | Test.java:87:10:87:47 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:93:16:93:31 | (...)... : Reader | Test.java:95:28:95:29 | in : Reader | provenance | |
|
||||
| Test.java:93:24:93:31 | source(...) : Object | Test.java:93:16:93:31 | (...)... : Reader | provenance | |
|
||||
| Test.java:95:10:95:43 | fromJson(...) : Object | Test.java:96:9:96:11 | out | provenance | |
|
||||
| Test.java:95:28:95:29 | in : Reader | Test.java:95:10:95:43 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:95:28:95:29 | in : Reader | Test.java:95:10:95:43 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:101:16:101:31 | (...)... : Reader | Test.java:103:28:103:29 | in : Reader | provenance | |
|
||||
| Test.java:101:24:101:31 | source(...) : Object | Test.java:101:16:101:31 | (...)... : Reader | provenance | |
|
||||
| Test.java:103:10:103:42 | fromJson(...) : Object | Test.java:104:9:104:11 | out | provenance | |
|
||||
| Test.java:103:28:103:29 | in : Reader | Test.java:103:10:103:42 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:103:28:103:29 | in : Reader | Test.java:103:10:103:42 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:109:16:109:31 | (...)... : Reader | Test.java:111:28:111:29 | in : Reader | provenance | |
|
||||
| Test.java:109:24:109:31 | source(...) : Object | Test.java:109:16:109:31 | (...)... : Reader | provenance | |
|
||||
| Test.java:111:10:111:47 | fromJson(...) : Object | Test.java:112:9:112:11 | out | provenance | |
|
||||
| Test.java:111:28:111:29 | in : Reader | Test.java:111:10:111:47 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:111:28:111:29 | in : Reader | Test.java:111:10:111:47 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:117:16:117:31 | (...)... : String | Test.java:119:28:119:29 | in : String | provenance | |
|
||||
| Test.java:117:24:117:31 | source(...) : Object | Test.java:117:16:117:31 | (...)... : String | provenance | |
|
||||
| Test.java:119:10:119:43 | fromJson(...) : Object | Test.java:120:9:120:11 | out | provenance | |
|
||||
| Test.java:119:28:119:29 | in : String | Test.java:119:10:119:43 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:119:28:119:29 | in : String | Test.java:119:10:119:43 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:125:16:125:31 | (...)... : String | Test.java:127:28:127:29 | in : String | provenance | |
|
||||
| Test.java:125:24:125:31 | source(...) : Object | Test.java:125:16:125:31 | (...)... : String | provenance | |
|
||||
| Test.java:127:10:127:42 | fromJson(...) : Object | Test.java:128:9:128:11 | out | provenance | |
|
||||
| Test.java:127:28:127:29 | in : String | Test.java:127:10:127:42 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:127:28:127:29 | in : String | Test.java:127:10:127:42 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:133:16:133:31 | (...)... : String | Test.java:135:28:135:29 | in : String | provenance | |
|
||||
| Test.java:133:24:133:31 | source(...) : Object | Test.java:133:16:133:31 | (...)... : String | provenance | |
|
||||
| Test.java:135:10:135:47 | fromJson(...) : Object | Test.java:136:9:136:11 | out | provenance | |
|
||||
| Test.java:135:28:135:29 | in : String | Test.java:135:10:135:47 | fromJson(...) : Object | provenance | MaD:1 |
|
||||
| Test.java:135:28:135:29 | in : String | Test.java:135:10:135:47 | fromJson(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:141:16:141:31 | (...)... : Reader | Test.java:143:33:143:34 | in : Reader | provenance | |
|
||||
| Test.java:141:24:141:31 | source(...) : Object | Test.java:141:16:141:31 | (...)... : Reader | provenance | |
|
||||
| Test.java:143:10:143:35 | newJsonReader(...) : JsonReader | Test.java:144:9:144:11 | out | provenance | |
|
||||
| Test.java:143:33:143:34 | in : Reader | Test.java:143:10:143:35 | newJsonReader(...) : JsonReader | provenance | MaD:12 |
|
||||
| Test.java:143:33:143:34 | in : Reader | Test.java:143:10:143:35 | newJsonReader(...) : JsonReader | provenance | MaD:4 |
|
||||
| Test.java:149:16:149:31 | (...)... : Writer | Test.java:151:33:151:34 | in : Writer | provenance | |
|
||||
| Test.java:149:24:149:31 | source(...) : Object | Test.java:149:16:149:31 | (...)... : Writer | provenance | |
|
||||
| Test.java:151:10:151:35 | newJsonWriter(...) : JsonWriter | Test.java:152:9:152:11 | out | provenance | |
|
||||
| Test.java:151:33:151:34 | in : Writer | Test.java:151:10:151:35 | newJsonWriter(...) : JsonWriter | provenance | MaD:13 |
|
||||
| Test.java:151:33:151:34 | in : Writer | Test.java:151:10:151:35 | newJsonWriter(...) : JsonWriter | provenance | MaD:5 |
|
||||
| Test.java:157:21:157:41 | (...)... : JsonElement | Test.java:159:26:159:27 | in : JsonElement | provenance | |
|
||||
| Test.java:157:34:157:41 | source(...) : Object | Test.java:157:21:157:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:159:10:159:28 | toJson(...) : String | Test.java:160:9:160:11 | out | provenance | |
|
||||
| Test.java:159:26:159:27 | in : JsonElement | Test.java:159:10:159:28 | toJson(...) : String | provenance | MaD:2 |
|
||||
| Test.java:159:26:159:27 | in : JsonElement | Test.java:159:10:159:28 | toJson(...) : String | provenance | MaD:6 |
|
||||
| Test.java:165:21:165:41 | (...)... : JsonElement | Test.java:167:20:167:21 | in : JsonElement | provenance | |
|
||||
| Test.java:165:34:165:41 | source(...) : Object | Test.java:165:21:165:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:167:20:167:21 | in : JsonElement | Test.java:167:24:167:26 | out [post update] : Appendable | provenance | MaD:4 |
|
||||
| Test.java:167:20:167:21 | in : JsonElement | Test.java:167:24:167:26 | out [post update] : Appendable | provenance | MaD:7 |
|
||||
| Test.java:167:24:167:26 | out [post update] : Appendable | Test.java:168:9:168:11 | out | provenance | |
|
||||
| Test.java:173:21:173:41 | (...)... : JsonElement | Test.java:175:20:175:21 | in : JsonElement | provenance | |
|
||||
| Test.java:173:34:173:41 | source(...) : Object | Test.java:173:21:173:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:175:20:175:21 | in : JsonElement | Test.java:175:24:175:26 | out [post update] : JsonWriter | provenance | MaD:3 |
|
||||
| Test.java:175:20:175:21 | in : JsonElement | Test.java:175:24:175:26 | out [post update] : JsonWriter | provenance | MaD:8 |
|
||||
| Test.java:175:24:175:26 | out [post update] : JsonWriter | Test.java:176:9:176:11 | out | provenance | |
|
||||
| Test.java:181:16:181:31 | (...)... : Object | Test.java:183:26:183:27 | in : Object | provenance | |
|
||||
| Test.java:181:24:181:31 | source(...) : Object | Test.java:181:16:181:31 | (...)... : Object | provenance | |
|
||||
| Test.java:183:10:183:28 | toJson(...) : String | Test.java:184:9:184:11 | out | provenance | |
|
||||
| Test.java:183:26:183:27 | in : Object | Test.java:183:10:183:28 | toJson(...) : String | provenance | MaD:5 |
|
||||
| Test.java:183:26:183:27 | in : Object | Test.java:183:10:183:28 | toJson(...) : String | provenance | MaD:9 |
|
||||
| Test.java:189:16:189:31 | (...)... : Object | Test.java:191:20:191:21 | in : Object | provenance | |
|
||||
| Test.java:189:24:189:31 | source(...) : Object | Test.java:189:16:189:31 | (...)... : Object | provenance | |
|
||||
| Test.java:191:20:191:21 | in : Object | Test.java:191:24:191:26 | out [post update] : Appendable | provenance | MaD:6 |
|
||||
| Test.java:191:20:191:21 | in : Object | Test.java:191:24:191:26 | out [post update] : Appendable | provenance | MaD:10 |
|
||||
| Test.java:191:24:191:26 | out [post update] : Appendable | Test.java:192:9:192:11 | out | provenance | |
|
||||
| Test.java:197:16:197:31 | (...)... : Object | Test.java:199:26:199:27 | in : Object | provenance | |
|
||||
| Test.java:197:24:197:31 | source(...) : Object | Test.java:197:16:197:31 | (...)... : Object | provenance | |
|
||||
| Test.java:199:10:199:40 | toJson(...) : String | Test.java:200:9:200:11 | out | provenance | |
|
||||
| Test.java:199:26:199:27 | in : Object | Test.java:199:10:199:40 | toJson(...) : String | provenance | MaD:7 |
|
||||
| Test.java:199:26:199:27 | in : Object | Test.java:199:10:199:40 | toJson(...) : String | provenance | MaD:11 |
|
||||
| Test.java:205:16:205:31 | (...)... : Object | Test.java:207:20:207:21 | in : Object | provenance | |
|
||||
| Test.java:205:24:205:31 | source(...) : Object | Test.java:205:16:205:31 | (...)... : Object | provenance | |
|
||||
| Test.java:207:20:207:21 | in : Object | Test.java:207:36:207:38 | out [post update] : Appendable | provenance | MaD:8 |
|
||||
| Test.java:207:20:207:21 | in : Object | Test.java:207:36:207:38 | out [post update] : Appendable | provenance | MaD:12 |
|
||||
| Test.java:207:36:207:38 | out [post update] : Appendable | Test.java:208:9:208:11 | out | provenance | |
|
||||
| Test.java:213:16:213:31 | (...)... : Object | Test.java:215:20:215:21 | in : Object | provenance | |
|
||||
| Test.java:213:24:213:31 | source(...) : Object | Test.java:213:16:213:31 | (...)... : Object | provenance | |
|
||||
| Test.java:215:20:215:21 | in : Object | Test.java:215:36:215:38 | out [post update] : JsonWriter | provenance | MaD:9 |
|
||||
| Test.java:215:20:215:21 | in : Object | Test.java:215:36:215:38 | out [post update] : JsonWriter | provenance | MaD:13 |
|
||||
| Test.java:215:36:215:38 | out [post update] : JsonWriter | Test.java:216:9:216:11 | out | provenance | |
|
||||
| Test.java:221:16:221:31 | (...)... : Object | Test.java:223:30:223:31 | in : Object | provenance | |
|
||||
| Test.java:221:24:221:31 | source(...) : Object | Test.java:221:16:221:31 | (...)... : Object | provenance | |
|
||||
| Test.java:223:10:223:32 | toJsonTree(...) : JsonElement | Test.java:224:9:224:11 | out | provenance | |
|
||||
| Test.java:223:30:223:31 | in : Object | Test.java:223:10:223:32 | toJsonTree(...) : JsonElement | provenance | MaD:10 |
|
||||
| Test.java:223:30:223:31 | in : Object | Test.java:223:10:223:32 | toJsonTree(...) : JsonElement | provenance | MaD:14 |
|
||||
| Test.java:229:16:229:31 | (...)... : Object | Test.java:231:30:231:31 | in : Object | provenance | |
|
||||
| Test.java:229:24:229:31 | source(...) : Object | Test.java:229:16:229:31 | (...)... : Object | provenance | |
|
||||
| Test.java:231:10:231:38 | toJsonTree(...) : JsonElement | Test.java:232:9:232:11 | out | provenance | |
|
||||
| Test.java:231:30:231:31 | in : Object | Test.java:231:10:231:38 | toJsonTree(...) : JsonElement | provenance | MaD:11 |
|
||||
| Test.java:231:30:231:31 | in : Object | Test.java:231:10:231:38 | toJsonTree(...) : JsonElement | provenance | MaD:15 |
|
||||
| Test.java:237:17:237:33 | (...)... : Boolean | Test.java:238:12:238:13 | in : Boolean | provenance | |
|
||||
| Test.java:237:26:237:33 | source(...) : Object | Test.java:237:17:237:33 | (...)... : Boolean | provenance | |
|
||||
| Test.java:238:4:238:6 | out [post update] : JsonArray [<element>] : Object | Test.java:239:20:239:22 | out : JsonArray [<element>] : Object | provenance | |
|
||||
| Test.java:238:12:238:13 | in : Boolean | Test.java:238:4:238:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:23 |
|
||||
| Test.java:238:12:238:13 | in : Boolean | Test.java:238:4:238:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:16 |
|
||||
| Test.java:239:20:239:22 | out : JsonArray [<element>] : Object | Test.java:22:19:22:32 | it : JsonArray [<element>] : Object | provenance | |
|
||||
| Test.java:239:20:239:22 | out : JsonArray [<element>] : Object | Test.java:239:9:239:23 | getElement(...) | provenance | MaD:44 |
|
||||
| Test.java:244:19:244:37 | (...)... : Number | Test.java:245:12:245:13 | in : Number | provenance | |
|
||||
| Test.java:244:30:244:37 | source(...) : Object | Test.java:244:19:244:37 | (...)... : Number | provenance | |
|
||||
| Test.java:245:4:245:6 | out [post update] : JsonArray [<element>] : Object | Test.java:246:20:246:22 | out : JsonArray [<element>] : Object | provenance | |
|
||||
| Test.java:245:12:245:13 | in : Number | Test.java:245:4:245:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:24 |
|
||||
| Test.java:245:12:245:13 | in : Number | Test.java:245:4:245:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:17 |
|
||||
| Test.java:246:20:246:22 | out : JsonArray [<element>] : Object | Test.java:22:19:22:32 | it : JsonArray [<element>] : Object | provenance | |
|
||||
| Test.java:246:20:246:22 | out : JsonArray [<element>] : Object | Test.java:246:9:246:23 | getElement(...) | provenance | MaD:44 |
|
||||
| Test.java:251:21:251:41 | (...)... : JsonElement | Test.java:252:12:252:13 | in : JsonElement | provenance | |
|
||||
| Test.java:251:34:251:41 | source(...) : Object | Test.java:251:21:251:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:252:4:252:6 | out [post update] : JsonArray [<element>] : JsonElement | Test.java:253:20:253:22 | out : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:252:12:252:13 | in : JsonElement | Test.java:252:4:252:6 | out [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
|
||||
| Test.java:252:12:252:13 | in : JsonElement | Test.java:252:4:252:6 | out [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:18 |
|
||||
| Test.java:253:20:253:22 | out : JsonArray [<element>] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:253:20:253:22 | out : JsonArray [<element>] : JsonElement | Test.java:253:9:253:23 | getElement(...) | provenance | MaD:44 |
|
||||
| Test.java:258:16:258:31 | (...)... : Number | Test.java:259:12:259:13 | in : Number | provenance | |
|
||||
| Test.java:258:24:258:31 | source(...) : Object | Test.java:258:16:258:31 | (...)... : Number | provenance | |
|
||||
| Test.java:259:4:259:6 | out [post update] : JsonArray [<element>] : Object | Test.java:260:20:260:22 | out : JsonArray [<element>] : Object | provenance | |
|
||||
| Test.java:259:12:259:13 | in : Number | Test.java:259:4:259:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:26 |
|
||||
| Test.java:259:12:259:13 | in : Number | Test.java:259:4:259:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:19 |
|
||||
| Test.java:260:20:260:22 | out : JsonArray [<element>] : Object | Test.java:22:19:22:32 | it : JsonArray [<element>] : Object | provenance | |
|
||||
| Test.java:260:20:260:22 | out : JsonArray [<element>] : Object | Test.java:260:9:260:23 | getElement(...) | provenance | MaD:44 |
|
||||
| Test.java:265:16:265:31 | (...)... : String | Test.java:266:12:266:13 | in : String | provenance | |
|
||||
| Test.java:265:24:265:31 | source(...) : Object | Test.java:265:16:265:31 | (...)... : String | provenance | |
|
||||
| Test.java:266:4:266:6 | out [post update] : JsonArray [<element>] : Object | Test.java:267:20:267:22 | out : JsonArray [<element>] : Object | provenance | |
|
||||
| Test.java:266:12:266:13 | in : String | Test.java:266:4:266:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:27 |
|
||||
| Test.java:266:12:266:13 | in : String | Test.java:266:4:266:6 | out [post update] : JsonArray [<element>] : Object | provenance | MaD:20 |
|
||||
| Test.java:267:20:267:22 | out : JsonArray [<element>] : Object | Test.java:22:19:22:32 | it : JsonArray [<element>] : Object | provenance | |
|
||||
| Test.java:267:20:267:22 | out : JsonArray [<element>] : Object | Test.java:267:9:267:23 | getElement(...) | provenance | MaD:44 |
|
||||
| Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | Test.java:273:15:273:16 | in : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | |
|
||||
| Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
|
||||
| Test.java:272:41:272:62 | (...)... : JsonElement | Test.java:272:19:272:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | provenance | MaD:18 |
|
||||
| Test.java:272:55:272:62 | source(...) : Object | Test.java:272:41:272:62 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:273:4:273:6 | out [post update] : JsonArray [<element>] : JsonElement | Test.java:274:20:274:22 | out : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:273:15:273:16 | in : JsonArray [<element>] : JsonElement | Test.java:273:4:273:6 | out [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:28 |
|
||||
| Test.java:273:15:273:16 | in : JsonArray [<element>] : JsonElement | Test.java:273:4:273:6 | out [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:21 |
|
||||
| Test.java:274:20:274:22 | out : JsonArray [<element>] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:274:20:274:22 | out : JsonArray [<element>] : JsonElement | Test.java:274:9:274:23 | getElement(...) | provenance | MaD:44 |
|
||||
| Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | Test.java:280:10:280:11 | in : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | |
|
||||
| Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
|
||||
| Test.java:279:41:279:62 | (...)... : JsonElement | Test.java:279:19:279:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | provenance | MaD:18 |
|
||||
| Test.java:279:55:279:62 | source(...) : Object | Test.java:279:41:279:62 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:280:10:280:11 | in : JsonArray [<element>] : JsonElement | Test.java:280:10:280:20 | asList(...) : List [<element>] : JsonElement | provenance | MaD:29 |
|
||||
| Test.java:280:10:280:11 | in : JsonArray [<element>] : JsonElement | Test.java:280:10:280:20 | asList(...) : List [<element>] : JsonElement | provenance | MaD:22 |
|
||||
| Test.java:280:10:280:20 | asList(...) : List [<element>] : JsonElement | Test.java:281:20:281:22 | out : List [<element>] : JsonElement | provenance | |
|
||||
| Test.java:281:20:281:22 | out : List [<element>] : JsonElement | Test.java:22:19:22:32 | it : List [<element>] : JsonElement | provenance | |
|
||||
| Test.java:281:20:281:22 | out : List [<element>] : JsonElement | Test.java:281:9:281:23 | getElement(...) | provenance | MaD:44 |
|
||||
| Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | Test.java:287:10:287:11 | in : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:286:41:286:62 | (...)... : JsonElement | Test.java:28:34:28:52 | element : JsonElement | provenance | |
|
||||
| Test.java:286:41:286:62 | (...)... : JsonElement | Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | provenance | MaD:25 |
|
||||
| Test.java:286:41:286:62 | (...)... : JsonElement | Test.java:286:19:286:63 | newWithElementDefault(...) : JsonArray [<element>] : JsonElement | provenance | MaD:18 |
|
||||
| Test.java:286:55:286:62 | source(...) : Object | Test.java:286:41:286:62 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:287:10:287:11 | in : JsonArray [<element>] : JsonElement | Test.java:287:10:287:18 | get(...) : JsonElement | provenance | MaD:30 |
|
||||
| Test.java:287:10:287:11 | in : JsonArray [<element>] : JsonElement | Test.java:287:10:287:18 | get(...) : JsonElement | provenance | MaD:23 |
|
||||
| Test.java:287:10:287:18 | get(...) : JsonElement | Test.java:288:9:288:11 | out | provenance | |
|
||||
| Test.java:293:21:293:41 | (...)... : JsonElement | Test.java:294:15:294:16 | in : JsonElement | provenance | |
|
||||
| Test.java:293:34:293:41 | source(...) : Object | Test.java:293:21:293:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:294:4:294:6 | out [post update] : JsonArray [<element>] : JsonElement | Test.java:295:20:295:22 | out : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:294:15:294:16 | in : JsonElement | Test.java:294:4:294:6 | out [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:31 |
|
||||
| Test.java:294:15:294:16 | in : JsonElement | Test.java:294:4:294:6 | out [post update] : JsonArray [<element>] : JsonElement | provenance | MaD:24 |
|
||||
| Test.java:295:20:295:22 | out : JsonArray [<element>] : JsonElement | Test.java:22:19:22:32 | it : JsonArray [<element>] : JsonElement | provenance | |
|
||||
| Test.java:295:20:295:22 | out : JsonArray [<element>] : JsonElement | Test.java:295:9:295:23 | getElement(...) | provenance | MaD:44 |
|
||||
| Test.java:300:19:300:37 | (...)... : JsonArray | Test.java:301:10:301:11 | in : JsonArray | provenance | |
|
||||
| Test.java:300:30:300:37 | source(...) : Object | Test.java:300:19:300:37 | (...)... : JsonArray | provenance | |
|
||||
| Test.java:301:10:301:11 | in : JsonArray | Test.java:301:10:301:23 | getAsByte(...) : Number | provenance | MaD:16 |
|
||||
| Test.java:301:10:301:11 | in : JsonArray | Test.java:301:10:301:23 | getAsByte(...) : Number | provenance | MaD:25 |
|
||||
| Test.java:301:10:301:23 | getAsByte(...) : Number | Test.java:302:9:302:11 | out | provenance | |
|
||||
| Test.java:307:21:307:41 | (...)... : JsonElement | Test.java:308:10:308:11 | in : JsonElement | provenance | |
|
||||
| Test.java:307:34:307:41 | source(...) : Object | Test.java:307:21:307:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:308:10:308:11 | in : JsonElement | Test.java:308:10:308:23 | getAsByte(...) : Number | provenance | MaD:16 |
|
||||
| Test.java:308:10:308:11 | in : JsonElement | Test.java:308:10:308:23 | getAsByte(...) : Number | provenance | MaD:25 |
|
||||
| Test.java:308:10:308:23 | getAsByte(...) : Number | Test.java:309:9:309:11 | out | provenance | |
|
||||
| Test.java:314:23:314:45 | (...)... : JsonPrimitive | Test.java:315:10:315:11 | in : JsonPrimitive | provenance | |
|
||||
| Test.java:314:38:314:45 | source(...) : Object | Test.java:314:23:314:45 | (...)... : JsonPrimitive | provenance | |
|
||||
| Test.java:315:10:315:11 | in : JsonPrimitive | Test.java:315:10:315:23 | getAsByte(...) : Number | provenance | MaD:16 |
|
||||
| Test.java:315:10:315:11 | in : JsonPrimitive | Test.java:315:10:315:23 | getAsByte(...) : Number | provenance | MaD:25 |
|
||||
| Test.java:315:10:315:23 | getAsByte(...) : Number | Test.java:316:9:316:11 | out | provenance | |
|
||||
| Test.java:321:19:321:37 | (...)... : JsonArray | Test.java:322:10:322:11 | in : JsonArray | provenance | |
|
||||
| Test.java:321:30:321:37 | source(...) : Object | Test.java:321:19:321:37 | (...)... : JsonArray | provenance | |
|
||||
| Test.java:322:10:322:11 | in : JsonArray | Test.java:322:10:322:28 | getAsCharacter(...) : Number | provenance | MaD:17 |
|
||||
| Test.java:322:10:322:11 | in : JsonArray | Test.java:322:10:322:28 | getAsCharacter(...) : Number | provenance | MaD:26 |
|
||||
| Test.java:322:10:322:28 | getAsCharacter(...) : Number | Test.java:323:9:323:11 | out | provenance | |
|
||||
| Test.java:328:21:328:41 | (...)... : JsonElement | Test.java:329:10:329:11 | in : JsonElement | provenance | |
|
||||
| Test.java:328:34:328:41 | source(...) : Object | Test.java:328:21:328:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:329:10:329:11 | in : JsonElement | Test.java:329:10:329:28 | getAsCharacter(...) : Number | provenance | MaD:17 |
|
||||
| Test.java:329:10:329:11 | in : JsonElement | Test.java:329:10:329:28 | getAsCharacter(...) : Number | provenance | MaD:26 |
|
||||
| Test.java:329:10:329:28 | getAsCharacter(...) : Number | Test.java:330:9:330:11 | out | provenance | |
|
||||
| Test.java:335:23:335:45 | (...)... : JsonPrimitive | Test.java:336:10:336:11 | in : JsonPrimitive | provenance | |
|
||||
| Test.java:335:38:335:45 | source(...) : Object | Test.java:335:23:335:45 | (...)... : JsonPrimitive | provenance | |
|
||||
| Test.java:336:10:336:11 | in : JsonPrimitive | Test.java:336:10:336:28 | getAsCharacter(...) : Number | provenance | MaD:17 |
|
||||
| Test.java:336:10:336:11 | in : JsonPrimitive | Test.java:336:10:336:28 | getAsCharacter(...) : Number | provenance | MaD:26 |
|
||||
| Test.java:336:10:336:28 | getAsCharacter(...) : Number | Test.java:337:9:337:11 | out | provenance | |
|
||||
| Test.java:342:21:342:41 | (...)... : JsonElement | Test.java:343:10:343:11 | in : JsonElement | provenance | |
|
||||
| Test.java:342:34:342:41 | source(...) : Object | Test.java:342:21:342:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:343:10:343:11 | in : JsonElement | Test.java:343:10:343:28 | getAsJsonArray(...) : JsonArray | provenance | MaD:18 |
|
||||
| Test.java:343:10:343:11 | in : JsonElement | Test.java:343:10:343:28 | getAsJsonArray(...) : JsonArray | provenance | MaD:27 |
|
||||
| Test.java:343:10:343:28 | getAsJsonArray(...) : JsonArray | Test.java:344:9:344:11 | out | provenance | |
|
||||
| Test.java:349:21:349:41 | (...)... : JsonElement | Test.java:350:10:350:11 | in : JsonElement | provenance | |
|
||||
| Test.java:349:34:349:41 | source(...) : Object | Test.java:349:21:349:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:350:10:350:11 | in : JsonElement | Test.java:350:10:350:29 | getAsJsonObject(...) : JsonObject | provenance | MaD:19 |
|
||||
| Test.java:350:10:350:11 | in : JsonElement | Test.java:350:10:350:29 | getAsJsonObject(...) : JsonObject | provenance | MaD:28 |
|
||||
| Test.java:350:10:350:29 | getAsJsonObject(...) : JsonObject | Test.java:351:9:351:11 | out | provenance | |
|
||||
| Test.java:356:21:356:41 | (...)... : JsonElement | Test.java:357:10:357:11 | in : JsonElement | provenance | |
|
||||
| Test.java:356:34:356:41 | source(...) : Object | Test.java:356:21:356:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:357:10:357:11 | in : JsonElement | Test.java:357:10:357:32 | getAsJsonPrimitive(...) : JsonPrimitive | provenance | MaD:20 |
|
||||
| Test.java:357:10:357:11 | in : JsonElement | Test.java:357:10:357:32 | getAsJsonPrimitive(...) : JsonPrimitive | provenance | MaD:29 |
|
||||
| Test.java:357:10:357:32 | getAsJsonPrimitive(...) : JsonPrimitive | Test.java:358:9:358:11 | out | provenance | |
|
||||
| Test.java:363:19:363:37 | (...)... : JsonArray | Test.java:364:10:364:11 | in : JsonArray | provenance | |
|
||||
| Test.java:363:30:363:37 | source(...) : Object | Test.java:363:19:363:37 | (...)... : JsonArray | provenance | |
|
||||
| Test.java:364:10:364:11 | in : JsonArray | Test.java:364:10:364:25 | getAsString(...) : String | provenance | MaD:21 |
|
||||
| Test.java:364:10:364:11 | in : JsonArray | Test.java:364:10:364:25 | getAsString(...) : String | provenance | MaD:30 |
|
||||
| Test.java:364:10:364:25 | getAsString(...) : String | Test.java:365:9:365:11 | out | provenance | |
|
||||
| Test.java:370:21:370:41 | (...)... : JsonElement | Test.java:371:10:371:11 | in : JsonElement | provenance | |
|
||||
| Test.java:370:34:370:41 | source(...) : Object | Test.java:370:21:370:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:371:10:371:11 | in : JsonElement | Test.java:371:10:371:25 | getAsString(...) : String | provenance | MaD:21 |
|
||||
| Test.java:371:10:371:11 | in : JsonElement | Test.java:371:10:371:25 | getAsString(...) : String | provenance | MaD:30 |
|
||||
| Test.java:371:10:371:25 | getAsString(...) : String | Test.java:372:9:372:11 | out | provenance | |
|
||||
| Test.java:377:23:377:45 | (...)... : JsonPrimitive | Test.java:378:10:378:11 | in : JsonPrimitive | provenance | |
|
||||
| Test.java:377:38:377:45 | source(...) : Object | Test.java:377:23:377:45 | (...)... : JsonPrimitive | provenance | |
|
||||
| Test.java:378:10:378:11 | in : JsonPrimitive | Test.java:378:10:378:25 | getAsString(...) : String | provenance | MaD:21 |
|
||||
| Test.java:378:10:378:11 | in : JsonPrimitive | Test.java:378:10:378:25 | getAsString(...) : String | provenance | MaD:30 |
|
||||
| Test.java:378:10:378:25 | getAsString(...) : String | Test.java:379:9:379:11 | out | provenance | |
|
||||
| Test.java:384:21:384:41 | (...)... : JsonElement | Test.java:385:10:385:11 | in : JsonElement | provenance | |
|
||||
| Test.java:384:34:384:41 | source(...) : Object | Test.java:384:21:384:41 | (...)... : JsonElement | provenance | |
|
||||
| Test.java:385:10:385:11 | in : JsonElement | Test.java:385:10:385:22 | toString(...) : String | provenance | MaD:22 |
|
||||
| Test.java:385:10:385:11 | in : JsonElement | Test.java:385:10:385:22 | toString(...) : String | provenance | MaD:31 |
|
||||
| Test.java:385:10:385:22 | toString(...) : String | Test.java:386:9:386:11 | out | provenance | |
|
||||
| Test.java:391:16:391:31 | (...)... : String | Test.java:392:12:392:13 | in : String | provenance | |
|
||||
| Test.java:391:24:391:31 | source(...) : Object | Test.java:391:16:391:31 | (...)... : String | provenance | |
|
||||
@@ -335,7 +335,7 @@ edges
|
||||
| Test.java:420:10:420:11 | in : JsonObject [<map.key>] : String | Test.java:420:10:420:19 | asMap(...) : Map [<map.key>] : String | provenance | MaD:36 |
|
||||
| Test.java:420:10:420:19 | asMap(...) : Map [<map.key>] : String | Test.java:421:19:421:21 | out : Map [<map.key>] : String | provenance | |
|
||||
| Test.java:421:19:421:21 | out : Map [<map.key>] : String | Test.java:21:18:21:29 | map : Map [<map.key>] : String | provenance | |
|
||||
| Test.java:421:19:421:21 | out : Map [<map.key>] : String | Test.java:421:9:421:22 | getMapKey(...) | provenance | MaD:47 |
|
||||
| Test.java:421:19:421:21 | out : Map [<map.key>] : String | Test.java:421:9:421:22 | getMapKey(...) | provenance | MaD:49 |
|
||||
| Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | Test.java:427:10:427:11 | in : JsonObject [<map.value>] : JsonElement | provenance | |
|
||||
| Test.java:426:43:426:64 | (...)... : JsonElement | Test.java:30:36:30:54 | element : JsonElement | provenance | |
|
||||
| Test.java:426:43:426:64 | (...)... : JsonElement | Test.java:426:20:426:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | provenance | MaD:33 |
|
||||
@@ -343,7 +343,7 @@ edges
|
||||
| Test.java:427:10:427:11 | in : JsonObject [<map.value>] : JsonElement | Test.java:427:10:427:19 | asMap(...) : Map [<map.value>] : JsonElement | provenance | MaD:37 |
|
||||
| Test.java:427:10:427:19 | asMap(...) : Map [<map.value>] : JsonElement | Test.java:428:21:428:23 | out : Map [<map.value>] : JsonElement | provenance | |
|
||||
| Test.java:428:21:428:23 | out : Map [<map.value>] : JsonElement | Test.java:23:20:23:31 | map : Map [<map.value>] : JsonElement | provenance | |
|
||||
| Test.java:428:21:428:23 | out : Map [<map.value>] : JsonElement | Test.java:428:9:428:24 | getMapValue(...) | provenance | MaD:46 |
|
||||
| Test.java:428:21:428:23 | out : Map [<map.value>] : JsonElement | Test.java:428:9:428:24 | getMapValue(...) | provenance | MaD:48 |
|
||||
| Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | Test.java:434:10:434:11 | in : JsonObject [<map.key>] : String | provenance | |
|
||||
| Test.java:433:41:433:57 | (...)... : String | Test.java:29:34:29:43 | key : String | provenance | |
|
||||
| Test.java:433:41:433:57 | (...)... : String | Test.java:433:20:433:58 | newWithMapKeyDefault(...) : JsonObject [<map.key>] : String | provenance | MaD:32 |
|
||||
@@ -351,7 +351,7 @@ edges
|
||||
| Test.java:434:10:434:11 | in : JsonObject [<map.key>] : String | Test.java:434:10:434:22 | entrySet(...) : Set [<element>, <map.key>] : String | provenance | MaD:38 |
|
||||
| Test.java:434:10:434:22 | entrySet(...) : Set [<element>, <map.key>] : String | Test.java:435:37:435:39 | out : Set [<element>, <map.key>] : String | provenance | |
|
||||
| Test.java:435:26:435:40 | getElement(...) : Entry [<map.key>] : String | Test.java:25:25:25:48 | container : Entry [<map.key>] : String | provenance | |
|
||||
| Test.java:435:26:435:40 | getElement(...) : Entry [<map.key>] : String | Test.java:435:9:435:41 | getMapKeyDefault(...) | provenance | MaD:48 |
|
||||
| Test.java:435:26:435:40 | getElement(...) : Entry [<map.key>] : String | Test.java:435:9:435:41 | getMapKeyDefault(...) | provenance | MaD:46 |
|
||||
| Test.java:435:37:435:39 | out : Set [<element>, <map.key>] : String | Test.java:22:19:22:32 | it : Set [<element>, <map.key>] : String | provenance | |
|
||||
| Test.java:435:37:435:39 | out : Set [<element>, <map.key>] : String | Test.java:435:26:435:40 | getElement(...) : Entry [<map.key>] : String | provenance | MaD:44 |
|
||||
| Test.java:440:20:440:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | Test.java:441:10:441:11 | in : JsonObject [<map.value>] : JsonElement | provenance | |
|
||||
@@ -361,7 +361,7 @@ edges
|
||||
| Test.java:441:10:441:11 | in : JsonObject [<map.value>] : JsonElement | Test.java:441:10:441:22 | entrySet(...) : Set [<element>, <map.value>] : JsonElement | provenance | MaD:39 |
|
||||
| Test.java:441:10:441:22 | entrySet(...) : Set [<element>, <map.value>] : JsonElement | Test.java:442:39:442:41 | out : Set [<element>, <map.value>] : JsonElement | provenance | |
|
||||
| Test.java:442:28:442:42 | getElement(...) : Entry [<map.value>] : JsonElement | Test.java:27:28:27:51 | container : Entry [<map.value>] : JsonElement | provenance | |
|
||||
| Test.java:442:28:442:42 | getElement(...) : Entry [<map.value>] : JsonElement | Test.java:442:9:442:43 | getMapValueDefault(...) | provenance | MaD:49 |
|
||||
| Test.java:442:28:442:42 | getElement(...) : Entry [<map.value>] : JsonElement | Test.java:442:9:442:43 | getMapValueDefault(...) | provenance | MaD:47 |
|
||||
| Test.java:442:39:442:41 | out : Set [<element>, <map.value>] : JsonElement | Test.java:22:19:22:32 | it : Set [<element>, <map.value>] : JsonElement | provenance | |
|
||||
| Test.java:442:39:442:41 | out : Set [<element>, <map.value>] : JsonElement | Test.java:442:28:442:42 | getElement(...) : Entry [<map.value>] : JsonElement | provenance | MaD:44 |
|
||||
| Test.java:447:20:447:65 | newWithMapValueDefault(...) : JsonObject [<map.value>] : JsonElement | Test.java:448:10:448:11 | in : JsonObject [<map.value>] : JsonElement | provenance | |
|
||||
|
||||
@@ -2,8 +2,8 @@ models
|
||||
| 1 | Summary: com.google.common.cache; Cache; true; asMap; (); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual |
|
||||
| 2 | Summary: com.google.common.cache; Cache; true; asMap; (); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual |
|
||||
| 3 | Summary: com.google.common.cache; Cache; true; get; (Object,Callable); ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 4 | Summary: com.google.common.cache; Cache; true; getAllPresent; (Iterable); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual |
|
||||
| 5 | Summary: com.google.common.cache; Cache; true; getAllPresent; (Iterable); ; Argument[0].Element; ReturnValue.MapKey; value; manual |
|
||||
| 4 | Summary: com.google.common.cache; Cache; true; getAllPresent; (Iterable); ; Argument[0].Element; ReturnValue.MapKey; value; manual |
|
||||
| 5 | Summary: com.google.common.cache; Cache; true; getAllPresent; (Iterable); ; Argument[this].MapKey; ReturnValue.MapKey; value; manual |
|
||||
| 6 | Summary: com.google.common.cache; Cache; true; getIfPresent; (Object); ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 7 | Summary: com.google.common.cache; Cache; true; put; (Object,Object); ; Argument[0]; Argument[this].MapKey; value; manual |
|
||||
| 8 | Summary: com.google.common.cache; Cache; true; put; (Object,Object); ; Argument[1]; Argument[this].MapValue; value; manual |
|
||||
@@ -11,9 +11,9 @@ models
|
||||
| 10 | Summary: com.google.common.cache; Cache; true; putAll; (Map); ; Argument[0].MapValue; Argument[this].MapValue; value; manual |
|
||||
| 11 | Summary: com.google.common.cache; LoadingCache; true; apply; (Object); ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 12 | Summary: com.google.common.cache; LoadingCache; true; get; (Object); ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 13 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual |
|
||||
| 14 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[0].Element; Argument[this].MapKey; value; manual |
|
||||
| 15 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[0].Element; ReturnValue.MapKey; value; manual |
|
||||
| 13 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[0].Element; Argument[this].MapKey; value; manual |
|
||||
| 14 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[0].Element; ReturnValue.MapKey; value; manual |
|
||||
| 15 | Summary: com.google.common.cache; LoadingCache; true; getAll; (Iterable); ; Argument[this].MapValue; ReturnValue.MapValue; value; manual |
|
||||
| 16 | Summary: com.google.common.cache; LoadingCache; true; getUnchecked; (Object); ; Argument[this].MapValue; ReturnValue; value; manual |
|
||||
| 17 | Summary: java.lang; Iterable; true; iterator; (); ; Argument[this].Element; ReturnValue.Element; value; manual |
|
||||
| 18 | Summary: java.util; Collection; true; add; ; ; Argument[0]; Argument[this].Element; value; manual |
|
||||
@@ -103,13 +103,13 @@ edges
|
||||
| Test.java:88:33:88:40 | source(...) : Object | Test.java:20:33:20:41 | element : Object | provenance | |
|
||||
| Test.java:88:33:88:40 | source(...) : Object | Test.java:88:18:88:41 | newWithElement(...) : ArrayList [<element>] : Object | provenance | MaD:18 |
|
||||
| Test.java:90:10:90:35 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | Test.java:91:19:91:21 | out : ImmutableMap [<map.key>] : Object | provenance | |
|
||||
| Test.java:90:33:90:34 | in : ArrayList [<element>] : Object | Test.java:90:10:90:35 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | provenance | MaD:5 |
|
||||
| Test.java:90:33:90:34 | in : ArrayList [<element>] : Object | Test.java:90:10:90:35 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | provenance | MaD:4 |
|
||||
| Test.java:91:19:91:21 | out : ImmutableMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | provenance | |
|
||||
| Test.java:91:19:91:21 | out : ImmutableMap [<map.key>] : Object | Test.java:91:9:91:22 | getMapKey(...) | provenance | MaD:20 |
|
||||
| Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | Test.java:97:10:97:11 | in : LoadingCache [<map.key>] : Object | provenance | |
|
||||
| Test.java:96:34:96:41 | source(...) : Object | Test.java:30:45:30:53 | element : Object | provenance | |
|
||||
| Test.java:96:34:96:41 | source(...) : Object | Test.java:96:15:96:42 | newCacheWithMapKey(...) : LoadingCache [<map.key>] : Object | provenance | MaD:7 |
|
||||
| Test.java:97:10:97:11 | in : LoadingCache [<map.key>] : Object | Test.java:97:10:97:31 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | provenance | MaD:4 |
|
||||
| Test.java:97:10:97:11 | in : LoadingCache [<map.key>] : Object | Test.java:97:10:97:31 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | provenance | MaD:5 |
|
||||
| Test.java:97:10:97:31 | getAllPresent(...) : ImmutableMap [<map.key>] : Object | Test.java:98:19:98:21 | out : ImmutableMap [<map.key>] : Object | provenance | |
|
||||
| Test.java:98:19:98:21 | out : ImmutableMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | provenance | |
|
||||
| Test.java:98:19:98:21 | out : ImmutableMap [<map.key>] : Object | Test.java:98:9:98:22 | getMapKey(...) | provenance | MaD:20 |
|
||||
@@ -157,7 +157,7 @@ edges
|
||||
| Test.java:152:43:152:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | provenance | |
|
||||
| Test.java:152:43:152:50 | source(...) : Object | Test.java:152:28:152:51 | newWithElement(...) : ArrayList [<element>] : Object | provenance | MaD:18 |
|
||||
| Test.java:153:4:153:6 | out [post update] : LoadingCache [<map.key>] : Object | Test.java:154:19:154:21 | out : LoadingCache [<map.key>] : Object | provenance | |
|
||||
| Test.java:153:15:153:16 | in : ArrayList [<element>] : Object | Test.java:153:4:153:6 | out [post update] : LoadingCache [<map.key>] : Object | provenance | MaD:14 |
|
||||
| Test.java:153:15:153:16 | in : ArrayList [<element>] : Object | Test.java:153:4:153:6 | out [post update] : LoadingCache [<map.key>] : Object | provenance | MaD:13 |
|
||||
| Test.java:154:19:154:21 | out : LoadingCache [<map.key>] : Object | Test.java:17:20:17:39 | container : LoadingCache [<map.key>] : Object | provenance | |
|
||||
| Test.java:154:19:154:21 | out : LoadingCache [<map.key>] : Object | Test.java:154:9:154:22 | getMapKey(...) | provenance | MaD:1 |
|
||||
| Test.java:159:18:159:51 | (...)... : ArrayList [<element>] : Object | Test.java:161:26:161:27 | in : ArrayList [<element>] : Object | provenance | |
|
||||
@@ -165,13 +165,13 @@ edges
|
||||
| Test.java:159:43:159:50 | source(...) : Object | Test.java:20:33:20:41 | element : Object | provenance | |
|
||||
| Test.java:159:43:159:50 | source(...) : Object | Test.java:159:28:159:51 | newWithElement(...) : ArrayList [<element>] : Object | provenance | MaD:18 |
|
||||
| Test.java:161:10:161:28 | getAll(...) : ImmutableMap [<map.key>] : Object | Test.java:162:19:162:21 | out : ImmutableMap [<map.key>] : Object | provenance | |
|
||||
| Test.java:161:26:161:27 | in : ArrayList [<element>] : Object | Test.java:161:10:161:28 | getAll(...) : ImmutableMap [<map.key>] : Object | provenance | MaD:15 |
|
||||
| Test.java:161:26:161:27 | in : ArrayList [<element>] : Object | Test.java:161:10:161:28 | getAll(...) : ImmutableMap [<map.key>] : Object | provenance | MaD:14 |
|
||||
| Test.java:162:19:162:21 | out : ImmutableMap [<map.key>] : Object | Test.java:16:20:16:37 | container : ImmutableMap [<map.key>] : Object | provenance | |
|
||||
| Test.java:162:19:162:21 | out : ImmutableMap [<map.key>] : Object | Test.java:162:9:162:22 | getMapKey(...) | provenance | MaD:20 |
|
||||
| Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | Test.java:168:10:168:11 | in : LoadingCache [<map.value>] : Object | provenance | |
|
||||
| Test.java:167:43:167:50 | source(...) : Object | Test.java:40:47:40:55 | element : Object | provenance | |
|
||||
| Test.java:167:43:167:50 | source(...) : Object | Test.java:167:22:167:51 | newCacheWithMapValue(...) : LoadingCache [<map.value>] : Object | provenance | MaD:8 |
|
||||
| Test.java:168:10:168:11 | in : LoadingCache [<map.value>] : Object | Test.java:168:10:168:24 | getAll(...) : ImmutableMap [<map.value>] : Object | provenance | MaD:13 |
|
||||
| Test.java:168:10:168:11 | in : LoadingCache [<map.value>] : Object | Test.java:168:10:168:24 | getAll(...) : ImmutableMap [<map.value>] : Object | provenance | MaD:15 |
|
||||
| Test.java:168:10:168:24 | getAll(...) : ImmutableMap [<map.value>] : Object | Test.java:169:21:169:23 | out : ImmutableMap [<map.value>] : Object | provenance | |
|
||||
| Test.java:169:21:169:23 | out : ImmutableMap [<map.value>] : Object | Test.java:18:22:18:39 | container : ImmutableMap [<map.value>] : Object | provenance | |
|
||||
| Test.java:169:21:169:23 | out : ImmutableMap [<map.value>] : Object | Test.java:169:9:169:24 | getMapValue(...) | provenance | MaD:23 |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,10 @@
|
||||
models
|
||||
| 1 | Summary: com.fasterxml.jackson.core; JsonFactory; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; convertValue; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: com.fasterxml.jackson.databind; ObjectMapper; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 2 | Summary: com.fasterxml.jackson.databind; ObjectMapper; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 3 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; convertValue; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 4 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue.Element; ReturnValue; taint; manual |
|
||||
| 5 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue; ReturnValue; taint; manual |
|
||||
| 6 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0].MapValue.Element; ReturnValue; taint; manual |
|
||||
| 6 | Summary: com.fasterxml.jackson.databind; ObjectMapper; true; valueToTree; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 7 | Summary: com.fasterxml.jackson.databind; ObjectReader; false; createParser; ; ; Argument[0]; ReturnValue; taint; manual |
|
||||
| 8 | Summary: java.util; Map; false; of; ; ; Argument[1]; ReturnValue.MapValue; value; manual |
|
||||
edges
|
||||
@@ -53,55 +53,55 @@ edges
|
||||
| Test.java:115:16:115:32 | (...)... : char[] | Test.java:117:32:117:33 | in : char[] | provenance | |
|
||||
| Test.java:115:25:115:32 | source(...) : Object | Test.java:115:16:115:32 | (...)... : char[] | provenance | |
|
||||
| Test.java:117:10:117:40 | createParser(...) : JsonParser | Test.java:118:9:118:11 | out | provenance | |
|
||||
| Test.java:117:32:117:33 | in : char[] | Test.java:117:10:117:40 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:117:32:117:33 | in : char[] | Test.java:117:10:117:40 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:123:16:123:32 | (...)... : char[] | Test.java:125:32:125:33 | in : char[] | provenance | |
|
||||
| Test.java:123:25:123:32 | source(...) : Object | Test.java:123:16:123:32 | (...)... : char[] | provenance | |
|
||||
| Test.java:125:10:125:34 | createParser(...) : JsonParser | Test.java:126:9:126:11 | out | provenance | |
|
||||
| Test.java:125:32:125:33 | in : char[] | Test.java:125:10:125:34 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:125:32:125:33 | in : char[] | Test.java:125:10:125:34 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:131:16:131:32 | (...)... : byte[] | Test.java:133:32:133:33 | in : byte[] | provenance | |
|
||||
| Test.java:131:25:131:32 | source(...) : Object | Test.java:131:16:131:32 | (...)... : byte[] | provenance | |
|
||||
| Test.java:133:10:133:40 | createParser(...) : JsonParser | Test.java:134:9:134:11 | out | provenance | |
|
||||
| Test.java:133:32:133:33 | in : byte[] | Test.java:133:10:133:40 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:133:32:133:33 | in : byte[] | Test.java:133:10:133:40 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:139:16:139:32 | (...)... : byte[] | Test.java:141:32:141:33 | in : byte[] | provenance | |
|
||||
| Test.java:139:25:139:32 | source(...) : Object | Test.java:139:16:139:32 | (...)... : byte[] | provenance | |
|
||||
| Test.java:141:10:141:34 | createParser(...) : JsonParser | Test.java:142:9:142:11 | out | provenance | |
|
||||
| Test.java:141:32:141:33 | in : byte[] | Test.java:141:10:141:34 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:141:32:141:33 | in : byte[] | Test.java:141:10:141:34 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:147:13:147:26 | (...)... : URL | Test.java:149:32:149:33 | in : URL | provenance | |
|
||||
| Test.java:147:19:147:26 | source(...) : Object | Test.java:147:13:147:26 | (...)... : URL | provenance | |
|
||||
| Test.java:149:10:149:34 | createParser(...) : JsonParser | Test.java:150:9:150:11 | out | provenance | |
|
||||
| Test.java:149:32:149:33 | in : URL | Test.java:149:10:149:34 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:149:32:149:33 | in : URL | Test.java:149:10:149:34 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:155:16:155:32 | (...)... : String | Test.java:157:32:157:33 | in : String | provenance | |
|
||||
| Test.java:155:25:155:32 | source(...) : Object | Test.java:155:16:155:32 | (...)... : String | provenance | |
|
||||
| Test.java:157:10:157:34 | createParser(...) : JsonParser | Test.java:158:9:158:11 | out | provenance | |
|
||||
| Test.java:157:32:157:33 | in : String | Test.java:157:10:157:34 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:157:32:157:33 | in : String | Test.java:157:10:157:34 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:163:16:163:32 | (...)... : Reader | Test.java:165:32:165:33 | in : Reader | provenance | |
|
||||
| Test.java:163:25:163:32 | source(...) : Object | Test.java:163:16:163:32 | (...)... : Reader | provenance | |
|
||||
| Test.java:165:10:165:34 | createParser(...) : JsonParser | Test.java:166:9:166:11 | out | provenance | |
|
||||
| Test.java:165:32:165:33 | in : Reader | Test.java:165:10:165:34 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:165:32:165:33 | in : Reader | Test.java:165:10:165:34 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:171:21:171:42 | (...)... : InputStream | Test.java:173:32:173:33 | in : InputStream | provenance | |
|
||||
| Test.java:171:35:171:42 | source(...) : Object | Test.java:171:21:171:42 | (...)... : InputStream | provenance | |
|
||||
| Test.java:173:10:173:34 | createParser(...) : JsonParser | Test.java:174:9:174:11 | out | provenance | |
|
||||
| Test.java:173:32:173:33 | in : InputStream | Test.java:173:10:173:34 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:173:32:173:33 | in : InputStream | Test.java:173:10:173:34 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:179:14:179:28 | (...)... : File | Test.java:181:32:181:33 | in : File | provenance | |
|
||||
| Test.java:179:21:179:28 | source(...) : Object | Test.java:179:14:179:28 | (...)... : File | provenance | |
|
||||
| Test.java:181:10:181:34 | createParser(...) : JsonParser | Test.java:182:9:182:11 | out | provenance | |
|
||||
| Test.java:181:32:181:33 | in : File | Test.java:181:10:181:34 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:181:32:181:33 | in : File | Test.java:181:10:181:34 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:187:19:187:38 | (...)... : DataInput | Test.java:189:32:189:33 | in : DataInput | provenance | |
|
||||
| Test.java:187:31:187:38 | source(...) : Object | Test.java:187:19:187:38 | (...)... : DataInput | provenance | |
|
||||
| Test.java:189:10:189:34 | createParser(...) : JsonParser | Test.java:190:9:190:11 | out | provenance | |
|
||||
| Test.java:189:32:189:33 | in : DataInput | Test.java:189:10:189:34 | createParser(...) : JsonParser | provenance | MaD:3 |
|
||||
| Test.java:189:32:189:33 | in : DataInput | Test.java:189:10:189:34 | createParser(...) : JsonParser | provenance | MaD:2 |
|
||||
| Test.java:195:16:195:32 | (...)... : Object | Test.java:197:32:197:33 | in : Object | provenance | |
|
||||
| Test.java:195:25:195:32 | source(...) : Object | Test.java:195:16:195:32 | (...)... : Object | provenance | |
|
||||
| Test.java:197:10:197:56 | convertValue(...) : Object | Test.java:198:9:198:11 | out | provenance | |
|
||||
| Test.java:197:32:197:33 | in : Object | Test.java:197:10:197:56 | convertValue(...) : Object | provenance | MaD:2 |
|
||||
| Test.java:197:32:197:33 | in : Object | Test.java:197:10:197:56 | convertValue(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:203:16:203:32 | (...)... : Object | Test.java:205:32:205:33 | in : Object | provenance | |
|
||||
| Test.java:203:25:203:32 | source(...) : Object | Test.java:203:16:203:32 | (...)... : Object | provenance | |
|
||||
| Test.java:205:10:205:51 | convertValue(...) : Object | Test.java:206:9:206:11 | out | provenance | |
|
||||
| Test.java:205:32:205:33 | in : Object | Test.java:205:10:205:51 | convertValue(...) : Object | provenance | MaD:2 |
|
||||
| Test.java:205:32:205:33 | in : Object | Test.java:205:10:205:51 | convertValue(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:211:16:211:32 | (...)... : Object | Test.java:213:32:213:33 | in : Object | provenance | |
|
||||
| Test.java:211:25:211:32 | source(...) : Object | Test.java:211:16:211:32 | (...)... : Object | provenance | |
|
||||
| Test.java:213:10:213:48 | convertValue(...) : Object | Test.java:214:9:214:11 | out | provenance | |
|
||||
| Test.java:213:32:213:33 | in : Object | Test.java:213:10:213:48 | convertValue(...) : Object | provenance | MaD:2 |
|
||||
| Test.java:213:32:213:33 | in : Object | Test.java:213:10:213:48 | convertValue(...) : Object | provenance | MaD:3 |
|
||||
| Test.java:219:16:219:32 | (...)... : Object | Test.java:221:31:221:32 | in : Object | provenance | |
|
||||
| Test.java:219:25:219:32 | source(...) : Object | Test.java:219:16:219:32 | (...)... : Object | provenance | |
|
||||
| Test.java:221:10:221:33 | valueToTree(...) : JsonNode | Test.java:222:9:222:11 | out | provenance | |
|
||||
@@ -113,8 +113,8 @@ edges
|
||||
| Test.java:228:41:228:48 | source(...) : Object | Test.java:20:25:20:38 | element : Object | provenance | |
|
||||
| Test.java:228:41:228:48 | source(...) : Object | Test.java:228:25:228:49 | newWithMapValue(...) : Map [<map.value>] : Object | provenance | MaD:8 |
|
||||
| Test.java:230:10:230:33 | valueToTree(...) : JsonNode | Test.java:231:9:231:11 | out | provenance | |
|
||||
| Test.java:230:31:230:32 | in : Map [<map.value>] : Object | Test.java:230:10:230:33 | valueToTree(...) : JsonNode | provenance | MaD:4 |
|
||||
| Test.java:230:31:230:32 | in : Map [<map.value>] : Object | Test.java:230:10:230:33 | valueToTree(...) : JsonNode | provenance | MaD:5 |
|
||||
| Test.java:230:31:230:32 | in : Map [<map.value>] : Object | Test.java:230:10:230:33 | valueToTree(...) : JsonNode | provenance | MaD:6 |
|
||||
| Test.java:236:16:236:32 | (...)... : char[] | Test.java:238:32:238:33 | in : char[] | provenance | |
|
||||
| Test.java:236:25:236:32 | source(...) : Object | Test.java:236:16:236:32 | (...)... : char[] | provenance | |
|
||||
| Test.java:238:10:238:40 | createParser(...) : JsonParser | Test.java:239:9:239:11 | out | provenance | |
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user