Merge pull request #4406 from geoffw0/set

C++: Models for std::set and std::unordered_set
This commit is contained in:
Jonas Jensen
2020-10-06 15:43:12 +02:00
committed by GitHub
9 changed files with 1544 additions and 0 deletions

View File

@@ -17,6 +17,7 @@ private import implementations.Strftime
private import implementations.StdContainer
private import implementations.StdPair
private import implementations.StdMap
private import implementations.StdSet
private import implementations.StdString
private import implementations.Swap
private import implementations.GetDelim

View File

@@ -5,6 +5,33 @@
import semmle.code.cpp.models.interfaces.Taint
import semmle.code.cpp.models.implementations.Iterator
/**
* Additional model for map constructors using iterator inputs.
*/
class StdMapConstructor extends Constructor, TaintFunction {
StdMapConstructor() {
this.hasQualifiedName("std", "map", "map") or
this.hasQualifiedName("std", "unordered_map", "unordered_map")
}
/**
* Gets the index of a parameter to this function that is an iterator.
*/
int getAnIteratorParameterIndex() {
getParameter(result).getUnspecifiedType() instanceof Iterator
}
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
// taint flow from any parameter of an iterator type to the qualifier
input.isParameterDeref(getAnIteratorParameterIndex()) and
(
output.isReturnValue() // TODO: this is only needed for AST data flow, which treats constructors as returning the new object
or
output.isQualifierObject()
)
}
}
/**
* The standard map `insert` and `insert_or_assign` functions.
*/

View File

@@ -0,0 +1,92 @@
/**
* Provides models for C++ containers `std::set` and `std::unordered_set`.
*/
import semmle.code.cpp.models.interfaces.Taint
import semmle.code.cpp.models.implementations.Iterator
/**
* Additional model for set constructors using iterator inputs.
*/
class StdSetConstructor extends Constructor, TaintFunction {
StdSetConstructor() {
this.hasQualifiedName("std", "set", "set") or
this.hasQualifiedName("std", "unordered_set", "unordered_set")
}
/**
* Gets the index of a parameter to this function that is an iterator.
*/
int getAnIteratorParameterIndex() {
getParameter(result).getUnspecifiedType() instanceof Iterator
}
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
// taint flow from any parameter of an iterator type to the qualifier
input.isParameterDeref(getAnIteratorParameterIndex()) and
(
output.isReturnValue() // TODO: this is only needed for AST data flow, which treats constructors as returning the new object
or
output.isQualifierObject()
)
}
}
/**
* The standard set `insert` and `insert_or_assign` functions.
*/
class StdSetInsert extends TaintFunction {
StdSetInsert() { this.hasQualifiedName("std", ["set", "unordered_set"], "insert") }
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
// flow from last parameter to qualifier and return value
// (where the return value is a pair, this should really flow just to the first part of it)
input.isParameterDeref(getNumberOfParameters() - 1) and
(
output.isQualifierObject() or
output.isReturnValue()
)
}
}
/**
* The standard set `swap` functions.
*/
class StdSetSwap extends TaintFunction {
StdSetSwap() { this.hasQualifiedName("std", ["set", "unordered_set"], "swap") }
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
// container1.swap(container2)
input.isQualifierObject() and
output.isParameterDeref(0)
or
input.isParameterDeref(0) and
output.isQualifierObject()
}
}
/**
* The standard set `find` function.
*/
class StdSetFind extends TaintFunction {
StdSetFind() { this.hasQualifiedName("std", ["set", "unordered_set"], "find") }
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
input.isQualifierObject() and
output.isReturnValue()
}
}
/**
* The standard set `erase` function.
*/
class StdSetErase extends TaintFunction {
StdSetErase() { this.hasQualifiedName("std", ["set", "unordered_set"], "erase") }
override predicate hasTaintFlow(FunctionInput input, FunctionOutput output) {
// flow from qualifier to iterator return value
getType().getUnderlyingType() instanceof Iterator and
input.isQualifierObject() and
output.isReturnValue()
}
}

View File

@@ -1844,6 +1844,943 @@
| movableclass.cpp:65:13:65:18 | call to source | movableclass.cpp:65:13:65:20 | call to MyMovableClass | TAINT |
| movableclass.cpp:65:13:65:20 | call to MyMovableClass | movableclass.cpp:65:8:65:9 | ref arg s3 | TAINT |
| movableclass.cpp:65:13:65:20 | call to MyMovableClass | movableclass.cpp:65:11:65:11 | call to operator= | TAINT |
| set.cpp:17:19:17:20 | call to set | set.cpp:19:7:19:8 | s1 | |
| set.cpp:17:19:17:20 | call to set | set.cpp:23:12:23:13 | s1 | |
| set.cpp:17:19:17:20 | call to set | set.cpp:23:24:23:25 | s1 | |
| set.cpp:17:19:17:20 | call to set | set.cpp:25:7:25:8 | s1 | |
| set.cpp:17:19:17:20 | call to set | set.cpp:31:7:31:8 | s1 | |
| set.cpp:17:19:17:20 | call to set | set.cpp:55:12:55:13 | s1 | |
| set.cpp:17:19:17:20 | call to set | set.cpp:55:30:55:31 | s1 | |
| set.cpp:17:19:17:20 | call to set | set.cpp:126:1:126:1 | s1 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:20:7:20:8 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:24:12:24:13 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:24:24:24:25 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:26:7:26:8 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:32:7:32:8 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:39:22:39:23 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:40:24:40:25 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:41:22:41:23 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:41:34:41:35 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:43:8:43:9 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:59:12:59:13 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:59:30:59:31 | s2 | |
| set.cpp:17:23:17:24 | call to set | set.cpp:126:1:126:1 | s2 | |
| set.cpp:17:27:17:28 | call to set | set.cpp:21:7:21:8 | s3 | |
| set.cpp:17:27:17:28 | call to set | set.cpp:21:17:21:18 | s3 | |
| set.cpp:17:27:17:28 | call to set | set.cpp:27:7:27:8 | s3 | |
| set.cpp:17:27:17:28 | call to set | set.cpp:33:7:33:8 | s3 | |
| set.cpp:17:27:17:28 | call to set | set.cpp:126:1:126:1 | s3 | |
| set.cpp:17:31:17:32 | call to set | set.cpp:22:7:22:8 | s4 | |
| set.cpp:17:31:17:32 | call to set | set.cpp:22:17:22:18 | s4 | |
| set.cpp:17:31:17:32 | call to set | set.cpp:28:7:28:8 | s4 | |
| set.cpp:17:31:17:32 | call to set | set.cpp:34:7:34:8 | s4 | |
| set.cpp:17:31:17:32 | call to set | set.cpp:126:1:126:1 | s4 | |
| set.cpp:17:35:17:36 | call to set | set.cpp:23:2:23:3 | s5 | |
| set.cpp:17:35:17:36 | call to set | set.cpp:29:7:29:8 | s5 | |
| set.cpp:17:35:17:36 | call to set | set.cpp:35:7:35:8 | s5 | |
| set.cpp:17:35:17:36 | call to set | set.cpp:126:1:126:1 | s5 | |
| set.cpp:17:39:17:40 | call to set | set.cpp:24:2:24:3 | s6 | |
| set.cpp:17:39:17:40 | call to set | set.cpp:30:7:30:8 | s6 | |
| set.cpp:17:39:17:40 | call to set | set.cpp:36:7:36:8 | s6 | |
| set.cpp:17:39:17:40 | call to set | set.cpp:126:1:126:1 | s6 | |
| set.cpp:19:7:19:8 | ref arg s1 | set.cpp:23:12:23:13 | s1 | |
| set.cpp:19:7:19:8 | ref arg s1 | set.cpp:23:24:23:25 | s1 | |
| set.cpp:19:7:19:8 | ref arg s1 | set.cpp:25:7:25:8 | s1 | |
| set.cpp:19:7:19:8 | ref arg s1 | set.cpp:31:7:31:8 | s1 | |
| set.cpp:19:7:19:8 | ref arg s1 | set.cpp:55:12:55:13 | s1 | |
| set.cpp:19:7:19:8 | ref arg s1 | set.cpp:55:30:55:31 | s1 | |
| set.cpp:19:7:19:8 | ref arg s1 | set.cpp:126:1:126:1 | s1 | |
| set.cpp:19:17:19:21 | abc | set.cpp:19:7:19:8 | ref arg s1 | TAINT |
| set.cpp:19:17:19:21 | abc | set.cpp:19:10:19:15 | call to insert | TAINT |
| set.cpp:19:24:19:28 | first | set.cpp:19:7:19:28 | call to iterator | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:24:12:24:13 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:24:24:24:25 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:26:7:26:8 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:32:7:32:8 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:39:22:39:23 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:40:24:40:25 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:41:22:41:23 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:41:34:41:35 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:43:8:43:9 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:59:12:59:13 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:59:30:59:31 | s2 | |
| set.cpp:20:7:20:8 | ref arg s2 | set.cpp:126:1:126:1 | s2 | |
| set.cpp:20:17:20:22 | call to source | set.cpp:20:7:20:8 | ref arg s2 | TAINT |
| set.cpp:20:17:20:22 | call to source | set.cpp:20:10:20:15 | call to insert | TAINT |
| set.cpp:20:27:20:31 | first | set.cpp:20:7:20:31 | call to iterator | |
| set.cpp:21:7:21:8 | ref arg s3 | set.cpp:27:7:27:8 | s3 | |
| set.cpp:21:7:21:8 | ref arg s3 | set.cpp:33:7:33:8 | s3 | |
| set.cpp:21:7:21:8 | ref arg s3 | set.cpp:126:1:126:1 | s3 | |
| set.cpp:21:17:21:18 | ref arg s3 | set.cpp:21:7:21:8 | s3 | |
| set.cpp:21:17:21:18 | ref arg s3 | set.cpp:27:7:27:8 | s3 | |
| set.cpp:21:17:21:18 | ref arg s3 | set.cpp:33:7:33:8 | s3 | |
| set.cpp:21:17:21:18 | ref arg s3 | set.cpp:126:1:126:1 | s3 | |
| set.cpp:21:17:21:18 | s3 | set.cpp:21:20:21:24 | call to begin | TAINT |
| set.cpp:21:20:21:24 | call to begin | set.cpp:21:17:21:26 | call to iterator | TAINT |
| set.cpp:21:29:21:33 | abc | set.cpp:21:7:21:8 | ref arg s3 | TAINT |
| set.cpp:21:29:21:33 | abc | set.cpp:21:10:21:15 | call to insert | TAINT |
| set.cpp:22:7:22:8 | ref arg s4 | set.cpp:28:7:28:8 | s4 | |
| set.cpp:22:7:22:8 | ref arg s4 | set.cpp:34:7:34:8 | s4 | |
| set.cpp:22:7:22:8 | ref arg s4 | set.cpp:126:1:126:1 | s4 | |
| set.cpp:22:17:22:18 | ref arg s4 | set.cpp:22:7:22:8 | s4 | |
| set.cpp:22:17:22:18 | ref arg s4 | set.cpp:28:7:28:8 | s4 | |
| set.cpp:22:17:22:18 | ref arg s4 | set.cpp:34:7:34:8 | s4 | |
| set.cpp:22:17:22:18 | ref arg s4 | set.cpp:126:1:126:1 | s4 | |
| set.cpp:22:17:22:18 | s4 | set.cpp:22:20:22:24 | call to begin | TAINT |
| set.cpp:22:20:22:24 | call to begin | set.cpp:22:17:22:26 | call to iterator | TAINT |
| set.cpp:22:29:22:34 | call to source | set.cpp:22:7:22:8 | ref arg s4 | TAINT |
| set.cpp:22:29:22:34 | call to source | set.cpp:22:10:22:15 | call to insert | TAINT |
| set.cpp:23:2:23:3 | ref arg s5 | set.cpp:29:7:29:8 | s5 | |
| set.cpp:23:2:23:3 | ref arg s5 | set.cpp:35:7:35:8 | s5 | |
| set.cpp:23:2:23:3 | ref arg s5 | set.cpp:126:1:126:1 | s5 | |
| set.cpp:23:12:23:13 | ref arg s1 | set.cpp:23:24:23:25 | s1 | |
| set.cpp:23:12:23:13 | ref arg s1 | set.cpp:25:7:25:8 | s1 | |
| set.cpp:23:12:23:13 | ref arg s1 | set.cpp:31:7:31:8 | s1 | |
| set.cpp:23:12:23:13 | ref arg s1 | set.cpp:55:12:55:13 | s1 | |
| set.cpp:23:12:23:13 | ref arg s1 | set.cpp:55:30:55:31 | s1 | |
| set.cpp:23:12:23:13 | ref arg s1 | set.cpp:126:1:126:1 | s1 | |
| set.cpp:23:12:23:13 | s1 | set.cpp:23:15:23:19 | call to begin | TAINT |
| set.cpp:23:24:23:25 | ref arg s1 | set.cpp:25:7:25:8 | s1 | |
| set.cpp:23:24:23:25 | ref arg s1 | set.cpp:31:7:31:8 | s1 | |
| set.cpp:23:24:23:25 | ref arg s1 | set.cpp:55:12:55:13 | s1 | |
| set.cpp:23:24:23:25 | ref arg s1 | set.cpp:55:30:55:31 | s1 | |
| set.cpp:23:24:23:25 | ref arg s1 | set.cpp:126:1:126:1 | s1 | |
| set.cpp:23:24:23:25 | s1 | set.cpp:23:27:23:29 | call to end | TAINT |
| set.cpp:23:27:23:29 | call to end | set.cpp:23:2:23:3 | ref arg s5 | TAINT |
| set.cpp:23:27:23:29 | call to end | set.cpp:23:5:23:10 | call to insert | TAINT |
| set.cpp:24:2:24:3 | ref arg s6 | set.cpp:30:7:30:8 | s6 | |
| set.cpp:24:2:24:3 | ref arg s6 | set.cpp:36:7:36:8 | s6 | |
| set.cpp:24:2:24:3 | ref arg s6 | set.cpp:126:1:126:1 | s6 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:24:24:24:25 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:26:7:26:8 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:32:7:32:8 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:39:22:39:23 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:40:24:40:25 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:41:22:41:23 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:41:34:41:35 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:43:8:43:9 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:59:12:59:13 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:59:30:59:31 | s2 | |
| set.cpp:24:12:24:13 | ref arg s2 | set.cpp:126:1:126:1 | s2 | |
| set.cpp:24:12:24:13 | s2 | set.cpp:24:15:24:19 | call to begin | TAINT |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:26:7:26:8 | s2 | |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:32:7:32:8 | s2 | |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:39:22:39:23 | s2 | |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:40:24:40:25 | s2 | |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:41:22:41:23 | s2 | |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:41:34:41:35 | s2 | |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:43:8:43:9 | s2 | |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:59:12:59:13 | s2 | |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:59:30:59:31 | s2 | |
| set.cpp:24:24:24:25 | ref arg s2 | set.cpp:126:1:126:1 | s2 | |
| set.cpp:24:24:24:25 | s2 | set.cpp:24:27:24:29 | call to end | TAINT |
| set.cpp:24:27:24:29 | call to end | set.cpp:24:2:24:3 | ref arg s6 | TAINT |
| set.cpp:24:27:24:29 | call to end | set.cpp:24:5:24:10 | call to insert | TAINT |
| set.cpp:25:7:25:8 | s1 | set.cpp:25:7:25:8 | call to set | |
| set.cpp:26:7:26:8 | s2 | set.cpp:26:7:26:8 | call to set | |
| set.cpp:27:7:27:8 | s3 | set.cpp:27:7:27:8 | call to set | |
| set.cpp:28:7:28:8 | s4 | set.cpp:28:7:28:8 | call to set | |
| set.cpp:29:7:29:8 | s5 | set.cpp:29:7:29:8 | call to set | |
| set.cpp:30:7:30:8 | s6 | set.cpp:30:7:30:8 | call to set | |
| set.cpp:31:7:31:8 | ref arg s1 | set.cpp:55:12:55:13 | s1 | |
| set.cpp:31:7:31:8 | ref arg s1 | set.cpp:55:30:55:31 | s1 | |
| set.cpp:31:7:31:8 | ref arg s1 | set.cpp:126:1:126:1 | s1 | |
| set.cpp:31:7:31:8 | s1 | set.cpp:31:10:31:13 | call to find | TAINT |
| set.cpp:32:7:32:8 | ref arg s2 | set.cpp:39:22:39:23 | s2 | |
| set.cpp:32:7:32:8 | ref arg s2 | set.cpp:40:24:40:25 | s2 | |
| set.cpp:32:7:32:8 | ref arg s2 | set.cpp:41:22:41:23 | s2 | |
| set.cpp:32:7:32:8 | ref arg s2 | set.cpp:41:34:41:35 | s2 | |
| set.cpp:32:7:32:8 | ref arg s2 | set.cpp:43:8:43:9 | s2 | |
| set.cpp:32:7:32:8 | ref arg s2 | set.cpp:59:12:59:13 | s2 | |
| set.cpp:32:7:32:8 | ref arg s2 | set.cpp:59:30:59:31 | s2 | |
| set.cpp:32:7:32:8 | ref arg s2 | set.cpp:126:1:126:1 | s2 | |
| set.cpp:32:7:32:8 | s2 | set.cpp:32:10:32:13 | call to find | TAINT |
| set.cpp:33:7:33:8 | ref arg s3 | set.cpp:126:1:126:1 | s3 | |
| set.cpp:33:7:33:8 | s3 | set.cpp:33:10:33:13 | call to find | TAINT |
| set.cpp:34:7:34:8 | ref arg s4 | set.cpp:126:1:126:1 | s4 | |
| set.cpp:34:7:34:8 | s4 | set.cpp:34:10:34:13 | call to find | TAINT |
| set.cpp:35:7:35:8 | ref arg s5 | set.cpp:126:1:126:1 | s5 | |
| set.cpp:35:7:35:8 | s5 | set.cpp:35:10:35:13 | call to find | TAINT |
| set.cpp:36:7:36:8 | ref arg s6 | set.cpp:126:1:126:1 | s6 | |
| set.cpp:36:7:36:8 | s6 | set.cpp:36:10:36:13 | call to find | TAINT |
| set.cpp:39:22:39:23 | s2 | set.cpp:39:22:39:24 | call to set | |
| set.cpp:39:22:39:24 | call to set | set.cpp:44:7:44:8 | s7 | |
| set.cpp:39:22:39:24 | call to set | set.cpp:48:7:48:8 | s7 | |
| set.cpp:39:22:39:24 | call to set | set.cpp:126:1:126:1 | s7 | |
| set.cpp:40:23:40:25 | call to set | set.cpp:45:7:45:8 | s8 | |
| set.cpp:40:23:40:25 | call to set | set.cpp:49:7:49:8 | s8 | |
| set.cpp:40:23:40:25 | call to set | set.cpp:126:1:126:1 | s8 | |
| set.cpp:40:24:40:25 | s2 | set.cpp:40:23:40:25 | call to set | |
| set.cpp:41:22:41:23 | ref arg s2 | set.cpp:41:34:41:35 | s2 | |
| set.cpp:41:22:41:23 | ref arg s2 | set.cpp:43:8:43:9 | s2 | |
| set.cpp:41:22:41:23 | ref arg s2 | set.cpp:59:12:59:13 | s2 | |
| set.cpp:41:22:41:23 | ref arg s2 | set.cpp:59:30:59:31 | s2 | |
| set.cpp:41:22:41:23 | ref arg s2 | set.cpp:126:1:126:1 | s2 | |
| set.cpp:41:22:41:23 | s2 | set.cpp:41:25:41:29 | call to begin | TAINT |
| set.cpp:41:22:41:42 | call to set | set.cpp:46:7:46:8 | s9 | |
| set.cpp:41:22:41:42 | call to set | set.cpp:50:7:50:8 | s9 | |
| set.cpp:41:22:41:42 | call to set | set.cpp:126:1:126:1 | s9 | |
| set.cpp:41:25:41:29 | call to begin | set.cpp:41:22:41:42 | call to set | TAINT |
| set.cpp:41:34:41:35 | ref arg s2 | set.cpp:43:8:43:9 | s2 | |
| set.cpp:41:34:41:35 | ref arg s2 | set.cpp:59:12:59:13 | s2 | |
| set.cpp:41:34:41:35 | ref arg s2 | set.cpp:59:30:59:31 | s2 | |
| set.cpp:41:34:41:35 | ref arg s2 | set.cpp:126:1:126:1 | s2 | |
| set.cpp:41:34:41:35 | s2 | set.cpp:41:37:41:39 | call to end | TAINT |
| set.cpp:41:37:41:39 | call to end | set.cpp:41:22:41:42 | call to set | TAINT |
| set.cpp:42:19:42:21 | call to set | set.cpp:43:2:43:4 | s10 | |
| set.cpp:42:19:42:21 | call to set | set.cpp:47:7:47:9 | s10 | |
| set.cpp:42:19:42:21 | call to set | set.cpp:51:7:51:9 | s10 | |
| set.cpp:42:19:42:21 | call to set | set.cpp:126:1:126:1 | s10 | |
| set.cpp:43:2:43:4 | ref arg s10 | set.cpp:47:7:47:9 | s10 | |
| set.cpp:43:2:43:4 | ref arg s10 | set.cpp:51:7:51:9 | s10 | |
| set.cpp:43:2:43:4 | ref arg s10 | set.cpp:126:1:126:1 | s10 | |
| set.cpp:43:8:43:9 | s2 | set.cpp:43:2:43:4 | ref arg s10 | TAINT |
| set.cpp:43:8:43:9 | s2 | set.cpp:43:6:43:6 | call to operator= | TAINT |
| set.cpp:44:7:44:8 | s7 | set.cpp:44:7:44:8 | call to set | |
| set.cpp:45:7:45:8 | s8 | set.cpp:45:7:45:8 | call to set | |
| set.cpp:46:7:46:8 | s9 | set.cpp:46:7:46:8 | call to set | |
| set.cpp:47:7:47:9 | s10 | set.cpp:47:7:47:9 | call to set | |
| set.cpp:48:7:48:8 | ref arg s7 | set.cpp:126:1:126:1 | s7 | |
| set.cpp:48:7:48:8 | s7 | set.cpp:48:10:48:13 | call to find | TAINT |
| set.cpp:49:7:49:8 | ref arg s8 | set.cpp:126:1:126:1 | s8 | |
| set.cpp:49:7:49:8 | s8 | set.cpp:49:10:49:13 | call to find | TAINT |
| set.cpp:50:7:50:8 | ref arg s9 | set.cpp:126:1:126:1 | s9 | |
| set.cpp:50:7:50:8 | s9 | set.cpp:50:10:50:13 | call to find | TAINT |
| set.cpp:51:7:51:9 | ref arg s10 | set.cpp:126:1:126:1 | s10 | |
| set.cpp:51:7:51:9 | s10 | set.cpp:51:11:51:14 | call to find | TAINT |
| set.cpp:55:12:55:13 | ref arg s1 | set.cpp:55:30:55:31 | s1 | |
| set.cpp:55:12:55:13 | ref arg s1 | set.cpp:126:1:126:1 | s1 | |
| set.cpp:55:12:55:13 | s1 | set.cpp:55:15:55:19 | call to begin | TAINT |
| set.cpp:55:15:55:19 | call to begin | set.cpp:55:7:55:21 | ... = ... | |
| set.cpp:55:15:55:19 | call to begin | set.cpp:55:24:55:25 | i1 | |
| set.cpp:55:15:55:19 | call to begin | set.cpp:55:40:55:41 | i1 | |
| set.cpp:55:15:55:19 | call to begin | set.cpp:57:9:57:10 | i1 | |
| set.cpp:55:30:55:31 | ref arg s1 | set.cpp:55:30:55:31 | s1 | |
| set.cpp:55:30:55:31 | ref arg s1 | set.cpp:126:1:126:1 | s1 | |
| set.cpp:55:30:55:31 | s1 | set.cpp:55:33:55:35 | call to end | TAINT |
| set.cpp:55:40:55:41 | i1 | set.cpp:55:42:55:42 | call to operator++ | |
| set.cpp:55:40:55:41 | ref arg i1 | set.cpp:55:24:55:25 | i1 | |
| set.cpp:55:40:55:41 | ref arg i1 | set.cpp:55:40:55:41 | i1 | |
| set.cpp:55:40:55:41 | ref arg i1 | set.cpp:57:9:57:10 | i1 | |
| set.cpp:57:9:57:10 | i1 | set.cpp:57:8:57:8 | call to operator* | TAINT |
| set.cpp:59:12:59:13 | ref arg s2 | set.cpp:59:30:59:31 | s2 | |
| set.cpp:59:12:59:13 | ref arg s2 | set.cpp:126:1:126:1 | s2 | |
| set.cpp:59:12:59:13 | s2 | set.cpp:59:15:59:19 | call to begin | TAINT |
| set.cpp:59:15:59:19 | call to begin | set.cpp:59:7:59:21 | ... = ... | |
| set.cpp:59:15:59:19 | call to begin | set.cpp:59:24:59:25 | i2 | |
| set.cpp:59:15:59:19 | call to begin | set.cpp:59:40:59:41 | i2 | |
| set.cpp:59:15:59:19 | call to begin | set.cpp:61:9:61:10 | i2 | |
| set.cpp:59:30:59:31 | ref arg s2 | set.cpp:59:30:59:31 | s2 | |
| set.cpp:59:30:59:31 | ref arg s2 | set.cpp:126:1:126:1 | s2 | |
| set.cpp:59:30:59:31 | s2 | set.cpp:59:33:59:35 | call to end | TAINT |
| set.cpp:59:40:59:41 | i2 | set.cpp:59:42:59:42 | call to operator++ | |
| set.cpp:59:40:59:41 | ref arg i2 | set.cpp:59:24:59:25 | i2 | |
| set.cpp:59:40:59:41 | ref arg i2 | set.cpp:59:40:59:41 | i2 | |
| set.cpp:59:40:59:41 | ref arg i2 | set.cpp:61:9:61:10 | i2 | |
| set.cpp:61:9:61:10 | i2 | set.cpp:61:8:61:8 | call to operator* | TAINT |
| set.cpp:65:19:65:21 | call to set | set.cpp:66:2:66:4 | s11 | |
| set.cpp:65:19:65:21 | call to set | set.cpp:67:2:67:4 | s11 | |
| set.cpp:65:19:65:21 | call to set | set.cpp:68:2:68:4 | s11 | |
| set.cpp:65:19:65:21 | call to set | set.cpp:69:7:69:9 | s11 | |
| set.cpp:65:19:65:21 | call to set | set.cpp:70:7:70:9 | s11 | |
| set.cpp:65:19:65:21 | call to set | set.cpp:71:7:71:9 | s11 | |
| set.cpp:65:19:65:21 | call to set | set.cpp:72:7:72:9 | s11 | |
| set.cpp:65:19:65:21 | call to set | set.cpp:126:1:126:1 | s11 | |
| set.cpp:66:2:66:4 | ref arg s11 | set.cpp:67:2:67:4 | s11 | |
| set.cpp:66:2:66:4 | ref arg s11 | set.cpp:68:2:68:4 | s11 | |
| set.cpp:66:2:66:4 | ref arg s11 | set.cpp:69:7:69:9 | s11 | |
| set.cpp:66:2:66:4 | ref arg s11 | set.cpp:70:7:70:9 | s11 | |
| set.cpp:66:2:66:4 | ref arg s11 | set.cpp:71:7:71:9 | s11 | |
| set.cpp:66:2:66:4 | ref arg s11 | set.cpp:72:7:72:9 | s11 | |
| set.cpp:66:2:66:4 | ref arg s11 | set.cpp:126:1:126:1 | s11 | |
| set.cpp:66:13:66:15 | a | set.cpp:66:2:66:4 | ref arg s11 | TAINT |
| set.cpp:66:13:66:15 | a | set.cpp:66:6:66:11 | call to insert | TAINT |
| set.cpp:67:2:67:4 | ref arg s11 | set.cpp:68:2:68:4 | s11 | |
| set.cpp:67:2:67:4 | ref arg s11 | set.cpp:69:7:69:9 | s11 | |
| set.cpp:67:2:67:4 | ref arg s11 | set.cpp:70:7:70:9 | s11 | |
| set.cpp:67:2:67:4 | ref arg s11 | set.cpp:71:7:71:9 | s11 | |
| set.cpp:67:2:67:4 | ref arg s11 | set.cpp:72:7:72:9 | s11 | |
| set.cpp:67:2:67:4 | ref arg s11 | set.cpp:126:1:126:1 | s11 | |
| set.cpp:67:13:67:18 | call to source | set.cpp:67:2:67:4 | ref arg s11 | TAINT |
| set.cpp:67:13:67:18 | call to source | set.cpp:67:6:67:11 | call to insert | TAINT |
| set.cpp:68:2:68:4 | ref arg s11 | set.cpp:69:7:69:9 | s11 | |
| set.cpp:68:2:68:4 | ref arg s11 | set.cpp:70:7:70:9 | s11 | |
| set.cpp:68:2:68:4 | ref arg s11 | set.cpp:71:7:71:9 | s11 | |
| set.cpp:68:2:68:4 | ref arg s11 | set.cpp:72:7:72:9 | s11 | |
| set.cpp:68:2:68:4 | ref arg s11 | set.cpp:126:1:126:1 | s11 | |
| set.cpp:68:13:68:15 | c | set.cpp:68:2:68:4 | ref arg s11 | TAINT |
| set.cpp:68:13:68:15 | c | set.cpp:68:6:68:11 | call to insert | TAINT |
| set.cpp:69:7:69:9 | ref arg s11 | set.cpp:70:7:70:9 | s11 | |
| set.cpp:69:7:69:9 | ref arg s11 | set.cpp:71:7:71:9 | s11 | |
| set.cpp:69:7:69:9 | ref arg s11 | set.cpp:72:7:72:9 | s11 | |
| set.cpp:69:7:69:9 | ref arg s11 | set.cpp:126:1:126:1 | s11 | |
| set.cpp:70:7:70:9 | ref arg s11 | set.cpp:71:7:71:9 | s11 | |
| set.cpp:70:7:70:9 | ref arg s11 | set.cpp:72:7:72:9 | s11 | |
| set.cpp:70:7:70:9 | ref arg s11 | set.cpp:126:1:126:1 | s11 | |
| set.cpp:71:7:71:9 | ref arg s11 | set.cpp:72:7:72:9 | s11 | |
| set.cpp:71:7:71:9 | ref arg s11 | set.cpp:126:1:126:1 | s11 | |
| set.cpp:71:28:71:32 | first | set.cpp:71:7:71:32 | call to iterator | |
| set.cpp:72:7:72:9 | ref arg s11 | set.cpp:126:1:126:1 | s11 | |
| set.cpp:72:28:72:33 | second | set.cpp:72:7:72:33 | call to iterator | |
| set.cpp:75:19:75:21 | call to set | set.cpp:76:2:76:4 | s12 | |
| set.cpp:75:19:75:21 | call to set | set.cpp:78:7:78:9 | s12 | |
| set.cpp:75:19:75:21 | call to set | set.cpp:82:2:82:4 | s12 | |
| set.cpp:75:19:75:21 | call to set | set.cpp:84:7:84:9 | s12 | |
| set.cpp:75:19:75:21 | call to set | set.cpp:126:1:126:1 | s12 | |
| set.cpp:75:24:75:26 | call to set | set.cpp:79:7:79:9 | s13 | |
| set.cpp:75:24:75:26 | call to set | set.cpp:82:11:82:13 | s13 | |
| set.cpp:75:24:75:26 | call to set | set.cpp:85:7:85:9 | s13 | |
| set.cpp:75:24:75:26 | call to set | set.cpp:126:1:126:1 | s13 | |
| set.cpp:75:29:75:31 | call to set | set.cpp:80:7:80:9 | s14 | |
| set.cpp:75:29:75:31 | call to set | set.cpp:83:2:83:4 | s14 | |
| set.cpp:75:29:75:31 | call to set | set.cpp:86:7:86:9 | s14 | |
| set.cpp:75:29:75:31 | call to set | set.cpp:126:1:126:1 | s14 | |
| set.cpp:75:34:75:36 | call to set | set.cpp:77:2:77:4 | s15 | |
| set.cpp:75:34:75:36 | call to set | set.cpp:81:7:81:9 | s15 | |
| set.cpp:75:34:75:36 | call to set | set.cpp:83:11:83:13 | s15 | |
| set.cpp:75:34:75:36 | call to set | set.cpp:87:7:87:9 | s15 | |
| set.cpp:75:34:75:36 | call to set | set.cpp:126:1:126:1 | s15 | |
| set.cpp:76:2:76:4 | ref arg s12 | set.cpp:78:7:78:9 | s12 | |
| set.cpp:76:2:76:4 | ref arg s12 | set.cpp:82:2:82:4 | s12 | |
| set.cpp:76:2:76:4 | ref arg s12 | set.cpp:84:7:84:9 | s12 | |
| set.cpp:76:2:76:4 | ref arg s12 | set.cpp:126:1:126:1 | s12 | |
| set.cpp:76:13:76:18 | call to source | set.cpp:76:2:76:4 | ref arg s12 | TAINT |
| set.cpp:76:13:76:18 | call to source | set.cpp:76:6:76:11 | call to insert | TAINT |
| set.cpp:77:2:77:4 | ref arg s15 | set.cpp:81:7:81:9 | s15 | |
| set.cpp:77:2:77:4 | ref arg s15 | set.cpp:83:11:83:13 | s15 | |
| set.cpp:77:2:77:4 | ref arg s15 | set.cpp:87:7:87:9 | s15 | |
| set.cpp:77:2:77:4 | ref arg s15 | set.cpp:126:1:126:1 | s15 | |
| set.cpp:77:13:77:18 | call to source | set.cpp:77:2:77:4 | ref arg s15 | TAINT |
| set.cpp:77:13:77:18 | call to source | set.cpp:77:6:77:11 | call to insert | TAINT |
| set.cpp:78:7:78:9 | s12 | set.cpp:78:7:78:9 | call to set | |
| set.cpp:79:7:79:9 | s13 | set.cpp:79:7:79:9 | call to set | |
| set.cpp:80:7:80:9 | s14 | set.cpp:80:7:80:9 | call to set | |
| set.cpp:81:7:81:9 | s15 | set.cpp:81:7:81:9 | call to set | |
| set.cpp:82:2:82:4 | ref arg s12 | set.cpp:84:7:84:9 | s12 | |
| set.cpp:82:2:82:4 | ref arg s12 | set.cpp:126:1:126:1 | s12 | |
| set.cpp:82:2:82:4 | s12 | set.cpp:82:11:82:13 | ref arg s13 | TAINT |
| set.cpp:82:11:82:13 | ref arg s13 | set.cpp:85:7:85:9 | s13 | |
| set.cpp:82:11:82:13 | ref arg s13 | set.cpp:126:1:126:1 | s13 | |
| set.cpp:82:11:82:13 | s13 | set.cpp:82:2:82:4 | ref arg s12 | TAINT |
| set.cpp:83:2:83:4 | ref arg s14 | set.cpp:86:7:86:9 | s14 | |
| set.cpp:83:2:83:4 | ref arg s14 | set.cpp:126:1:126:1 | s14 | |
| set.cpp:83:2:83:4 | s14 | set.cpp:83:11:83:13 | ref arg s15 | TAINT |
| set.cpp:83:11:83:13 | ref arg s15 | set.cpp:87:7:87:9 | s15 | |
| set.cpp:83:11:83:13 | ref arg s15 | set.cpp:126:1:126:1 | s15 | |
| set.cpp:83:11:83:13 | s15 | set.cpp:83:2:83:4 | ref arg s14 | TAINT |
| set.cpp:84:7:84:9 | s12 | set.cpp:84:7:84:9 | call to set | |
| set.cpp:85:7:85:9 | s13 | set.cpp:85:7:85:9 | call to set | |
| set.cpp:86:7:86:9 | s14 | set.cpp:86:7:86:9 | call to set | |
| set.cpp:87:7:87:9 | s15 | set.cpp:87:7:87:9 | call to set | |
| set.cpp:90:19:90:21 | call to set | set.cpp:91:2:91:4 | s16 | |
| set.cpp:90:19:90:21 | call to set | set.cpp:95:7:95:9 | s16 | |
| set.cpp:90:19:90:21 | call to set | set.cpp:99:2:99:4 | s16 | |
| set.cpp:90:19:90:21 | call to set | set.cpp:101:7:101:9 | s16 | |
| set.cpp:90:19:90:21 | call to set | set.cpp:126:1:126:1 | s16 | |
| set.cpp:90:24:90:26 | call to set | set.cpp:92:2:92:4 | s17 | |
| set.cpp:90:24:90:26 | call to set | set.cpp:96:7:96:9 | s17 | |
| set.cpp:90:24:90:26 | call to set | set.cpp:99:12:99:14 | s17 | |
| set.cpp:90:24:90:26 | call to set | set.cpp:102:7:102:9 | s17 | |
| set.cpp:90:24:90:26 | call to set | set.cpp:126:1:126:1 | s17 | |
| set.cpp:90:29:90:31 | call to set | set.cpp:93:2:93:4 | s18 | |
| set.cpp:90:29:90:31 | call to set | set.cpp:97:7:97:9 | s18 | |
| set.cpp:90:29:90:31 | call to set | set.cpp:100:2:100:4 | s18 | |
| set.cpp:90:29:90:31 | call to set | set.cpp:103:7:103:9 | s18 | |
| set.cpp:90:29:90:31 | call to set | set.cpp:126:1:126:1 | s18 | |
| set.cpp:90:34:90:36 | call to set | set.cpp:94:2:94:4 | s19 | |
| set.cpp:90:34:90:36 | call to set | set.cpp:98:7:98:9 | s19 | |
| set.cpp:90:34:90:36 | call to set | set.cpp:100:12:100:14 | s19 | |
| set.cpp:90:34:90:36 | call to set | set.cpp:104:7:104:9 | s19 | |
| set.cpp:90:34:90:36 | call to set | set.cpp:126:1:126:1 | s19 | |
| set.cpp:91:2:91:4 | ref arg s16 | set.cpp:95:7:95:9 | s16 | |
| set.cpp:91:2:91:4 | ref arg s16 | set.cpp:99:2:99:4 | s16 | |
| set.cpp:91:2:91:4 | ref arg s16 | set.cpp:101:7:101:9 | s16 | |
| set.cpp:91:2:91:4 | ref arg s16 | set.cpp:126:1:126:1 | s16 | |
| set.cpp:91:13:91:18 | call to source | set.cpp:91:2:91:4 | ref arg s16 | TAINT |
| set.cpp:91:13:91:18 | call to source | set.cpp:91:6:91:11 | call to insert | TAINT |
| set.cpp:92:2:92:4 | ref arg s17 | set.cpp:96:7:96:9 | s17 | |
| set.cpp:92:2:92:4 | ref arg s17 | set.cpp:99:12:99:14 | s17 | |
| set.cpp:92:2:92:4 | ref arg s17 | set.cpp:102:7:102:9 | s17 | |
| set.cpp:92:2:92:4 | ref arg s17 | set.cpp:126:1:126:1 | s17 | |
| set.cpp:92:13:92:17 | abc | set.cpp:92:2:92:4 | ref arg s17 | TAINT |
| set.cpp:92:13:92:17 | abc | set.cpp:92:6:92:11 | call to insert | TAINT |
| set.cpp:93:2:93:4 | ref arg s18 | set.cpp:97:7:97:9 | s18 | |
| set.cpp:93:2:93:4 | ref arg s18 | set.cpp:100:2:100:4 | s18 | |
| set.cpp:93:2:93:4 | ref arg s18 | set.cpp:103:7:103:9 | s18 | |
| set.cpp:93:2:93:4 | ref arg s18 | set.cpp:126:1:126:1 | s18 | |
| set.cpp:93:13:93:17 | def | set.cpp:93:2:93:4 | ref arg s18 | TAINT |
| set.cpp:93:13:93:17 | def | set.cpp:93:6:93:11 | call to insert | TAINT |
| set.cpp:94:2:94:4 | ref arg s19 | set.cpp:98:7:98:9 | s19 | |
| set.cpp:94:2:94:4 | ref arg s19 | set.cpp:100:12:100:14 | s19 | |
| set.cpp:94:2:94:4 | ref arg s19 | set.cpp:104:7:104:9 | s19 | |
| set.cpp:94:2:94:4 | ref arg s19 | set.cpp:126:1:126:1 | s19 | |
| set.cpp:94:13:94:18 | call to source | set.cpp:94:2:94:4 | ref arg s19 | TAINT |
| set.cpp:94:13:94:18 | call to source | set.cpp:94:6:94:11 | call to insert | TAINT |
| set.cpp:95:7:95:9 | s16 | set.cpp:95:7:95:9 | call to set | |
| set.cpp:96:7:96:9 | s17 | set.cpp:96:7:96:9 | call to set | |
| set.cpp:97:7:97:9 | s18 | set.cpp:97:7:97:9 | call to set | |
| set.cpp:98:7:98:9 | s19 | set.cpp:98:7:98:9 | call to set | |
| set.cpp:99:2:99:4 | ref arg s16 | set.cpp:101:7:101:9 | s16 | |
| set.cpp:99:2:99:4 | ref arg s16 | set.cpp:126:1:126:1 | s16 | |
| set.cpp:99:12:99:14 | ref arg s17 | set.cpp:102:7:102:9 | s17 | |
| set.cpp:99:12:99:14 | ref arg s17 | set.cpp:126:1:126:1 | s17 | |
| set.cpp:100:2:100:4 | ref arg s18 | set.cpp:103:7:103:9 | s18 | |
| set.cpp:100:2:100:4 | ref arg s18 | set.cpp:126:1:126:1 | s18 | |
| set.cpp:100:12:100:14 | ref arg s19 | set.cpp:104:7:104:9 | s19 | |
| set.cpp:100:12:100:14 | ref arg s19 | set.cpp:126:1:126:1 | s19 | |
| set.cpp:101:7:101:9 | s16 | set.cpp:101:7:101:9 | call to set | |
| set.cpp:102:7:102:9 | s17 | set.cpp:102:7:102:9 | call to set | |
| set.cpp:103:7:103:9 | s18 | set.cpp:103:7:103:9 | call to set | |
| set.cpp:104:7:104:9 | s19 | set.cpp:104:7:104:9 | call to set | |
| set.cpp:107:19:107:21 | call to set | set.cpp:108:2:108:4 | s20 | |
| set.cpp:107:19:107:21 | call to set | set.cpp:109:2:109:4 | s20 | |
| set.cpp:107:19:107:21 | call to set | set.cpp:110:7:110:9 | s20 | |
| set.cpp:107:19:107:21 | call to set | set.cpp:111:7:111:9 | s20 | |
| set.cpp:107:19:107:21 | call to set | set.cpp:111:17:111:19 | s20 | |
| set.cpp:107:19:107:21 | call to set | set.cpp:112:7:112:9 | s20 | |
| set.cpp:107:19:107:21 | call to set | set.cpp:113:2:113:4 | s20 | |
| set.cpp:107:19:107:21 | call to set | set.cpp:114:7:114:9 | s20 | |
| set.cpp:107:19:107:21 | call to set | set.cpp:126:1:126:1 | s20 | |
| set.cpp:108:2:108:4 | ref arg s20 | set.cpp:109:2:109:4 | s20 | |
| set.cpp:108:2:108:4 | ref arg s20 | set.cpp:110:7:110:9 | s20 | |
| set.cpp:108:2:108:4 | ref arg s20 | set.cpp:111:7:111:9 | s20 | |
| set.cpp:108:2:108:4 | ref arg s20 | set.cpp:111:17:111:19 | s20 | |
| set.cpp:108:2:108:4 | ref arg s20 | set.cpp:112:7:112:9 | s20 | |
| set.cpp:108:2:108:4 | ref arg s20 | set.cpp:113:2:113:4 | s20 | |
| set.cpp:108:2:108:4 | ref arg s20 | set.cpp:114:7:114:9 | s20 | |
| set.cpp:108:2:108:4 | ref arg s20 | set.cpp:126:1:126:1 | s20 | |
| set.cpp:108:13:108:18 | call to source | set.cpp:108:2:108:4 | ref arg s20 | TAINT |
| set.cpp:108:13:108:18 | call to source | set.cpp:108:6:108:11 | call to insert | TAINT |
| set.cpp:109:2:109:4 | ref arg s20 | set.cpp:110:7:110:9 | s20 | |
| set.cpp:109:2:109:4 | ref arg s20 | set.cpp:111:7:111:9 | s20 | |
| set.cpp:109:2:109:4 | ref arg s20 | set.cpp:111:17:111:19 | s20 | |
| set.cpp:109:2:109:4 | ref arg s20 | set.cpp:112:7:112:9 | s20 | |
| set.cpp:109:2:109:4 | ref arg s20 | set.cpp:113:2:113:4 | s20 | |
| set.cpp:109:2:109:4 | ref arg s20 | set.cpp:114:7:114:9 | s20 | |
| set.cpp:109:2:109:4 | ref arg s20 | set.cpp:126:1:126:1 | s20 | |
| set.cpp:109:13:109:18 | call to source | set.cpp:109:2:109:4 | ref arg s20 | TAINT |
| set.cpp:109:13:109:18 | call to source | set.cpp:109:6:109:11 | call to insert | TAINT |
| set.cpp:110:7:110:9 | s20 | set.cpp:110:7:110:9 | call to set | |
| set.cpp:111:7:111:9 | ref arg s20 | set.cpp:112:7:112:9 | s20 | |
| set.cpp:111:7:111:9 | ref arg s20 | set.cpp:113:2:113:4 | s20 | |
| set.cpp:111:7:111:9 | ref arg s20 | set.cpp:114:7:114:9 | s20 | |
| set.cpp:111:7:111:9 | ref arg s20 | set.cpp:126:1:126:1 | s20 | |
| set.cpp:111:7:111:9 | s20 | set.cpp:111:11:111:15 | call to erase | TAINT |
| set.cpp:111:17:111:19 | ref arg s20 | set.cpp:111:7:111:9 | s20 | |
| set.cpp:111:17:111:19 | ref arg s20 | set.cpp:112:7:112:9 | s20 | |
| set.cpp:111:17:111:19 | ref arg s20 | set.cpp:113:2:113:4 | s20 | |
| set.cpp:111:17:111:19 | ref arg s20 | set.cpp:114:7:114:9 | s20 | |
| set.cpp:111:17:111:19 | ref arg s20 | set.cpp:126:1:126:1 | s20 | |
| set.cpp:111:17:111:19 | s20 | set.cpp:111:21:111:25 | call to begin | TAINT |
| set.cpp:112:7:112:9 | s20 | set.cpp:112:7:112:9 | call to set | |
| set.cpp:113:2:113:4 | ref arg s20 | set.cpp:114:7:114:9 | s20 | |
| set.cpp:113:2:113:4 | ref arg s20 | set.cpp:126:1:126:1 | s20 | |
| set.cpp:114:7:114:9 | s20 | set.cpp:114:7:114:9 | call to set | |
| set.cpp:117:19:117:21 | call to set | set.cpp:118:7:118:9 | s21 | |
| set.cpp:117:19:117:21 | call to set | set.cpp:119:7:119:9 | s21 | |
| set.cpp:117:19:117:21 | call to set | set.cpp:120:7:120:9 | s21 | |
| set.cpp:117:19:117:21 | call to set | set.cpp:121:7:121:9 | s21 | |
| set.cpp:117:19:117:21 | call to set | set.cpp:126:1:126:1 | s21 | |
| set.cpp:117:24:117:26 | call to set | set.cpp:122:7:122:9 | s22 | |
| set.cpp:117:24:117:26 | call to set | set.cpp:122:24:122:26 | s22 | |
| set.cpp:117:24:117:26 | call to set | set.cpp:123:7:123:9 | s22 | |
| set.cpp:117:24:117:26 | call to set | set.cpp:124:7:124:9 | s22 | |
| set.cpp:117:24:117:26 | call to set | set.cpp:124:24:124:26 | s22 | |
| set.cpp:117:24:117:26 | call to set | set.cpp:125:7:125:9 | s22 | |
| set.cpp:117:24:117:26 | call to set | set.cpp:126:1:126:1 | s22 | |
| set.cpp:118:7:118:9 | ref arg s21 | set.cpp:119:7:119:9 | s21 | |
| set.cpp:118:7:118:9 | ref arg s21 | set.cpp:120:7:120:9 | s21 | |
| set.cpp:118:7:118:9 | ref arg s21 | set.cpp:121:7:121:9 | s21 | |
| set.cpp:118:7:118:9 | ref arg s21 | set.cpp:126:1:126:1 | s21 | |
| set.cpp:118:26:118:30 | first | set.cpp:118:7:118:30 | call to iterator | |
| set.cpp:119:7:119:9 | s21 | set.cpp:119:7:119:9 | call to set | |
| set.cpp:120:7:120:9 | ref arg s21 | set.cpp:121:7:121:9 | s21 | |
| set.cpp:120:7:120:9 | ref arg s21 | set.cpp:126:1:126:1 | s21 | |
| set.cpp:120:29:120:33 | first | set.cpp:120:7:120:33 | call to iterator | |
| set.cpp:121:7:121:9 | s21 | set.cpp:121:7:121:9 | call to set | |
| set.cpp:122:7:122:9 | ref arg s22 | set.cpp:123:7:123:9 | s22 | |
| set.cpp:122:7:122:9 | ref arg s22 | set.cpp:124:7:124:9 | s22 | |
| set.cpp:122:7:122:9 | ref arg s22 | set.cpp:124:24:124:26 | s22 | |
| set.cpp:122:7:122:9 | ref arg s22 | set.cpp:125:7:125:9 | s22 | |
| set.cpp:122:7:122:9 | ref arg s22 | set.cpp:126:1:126:1 | s22 | |
| set.cpp:122:24:122:26 | ref arg s22 | set.cpp:122:7:122:9 | s22 | |
| set.cpp:122:24:122:26 | ref arg s22 | set.cpp:123:7:123:9 | s22 | |
| set.cpp:122:24:122:26 | ref arg s22 | set.cpp:124:7:124:9 | s22 | |
| set.cpp:122:24:122:26 | ref arg s22 | set.cpp:124:24:124:26 | s22 | |
| set.cpp:122:24:122:26 | ref arg s22 | set.cpp:125:7:125:9 | s22 | |
| set.cpp:122:24:122:26 | ref arg s22 | set.cpp:126:1:126:1 | s22 | |
| set.cpp:122:24:122:26 | s22 | set.cpp:122:28:122:32 | call to begin | TAINT |
| set.cpp:122:28:122:32 | call to begin | set.cpp:122:24:122:34 | call to iterator | TAINT |
| set.cpp:123:7:123:9 | s22 | set.cpp:123:7:123:9 | call to set | |
| set.cpp:124:7:124:9 | ref arg s22 | set.cpp:125:7:125:9 | s22 | |
| set.cpp:124:7:124:9 | ref arg s22 | set.cpp:126:1:126:1 | s22 | |
| set.cpp:124:24:124:26 | ref arg s22 | set.cpp:124:7:124:9 | s22 | |
| set.cpp:124:24:124:26 | ref arg s22 | set.cpp:125:7:125:9 | s22 | |
| set.cpp:124:24:124:26 | ref arg s22 | set.cpp:126:1:126:1 | s22 | |
| set.cpp:124:24:124:26 | s22 | set.cpp:124:28:124:32 | call to begin | TAINT |
| set.cpp:124:28:124:32 | call to begin | set.cpp:124:24:124:34 | call to iterator | TAINT |
| set.cpp:125:7:125:9 | s22 | set.cpp:125:7:125:9 | call to set | |
| set.cpp:131:29:131:30 | call to unordered_set | set.cpp:133:7:133:8 | s1 | |
| set.cpp:131:29:131:30 | call to unordered_set | set.cpp:137:12:137:13 | s1 | |
| set.cpp:131:29:131:30 | call to unordered_set | set.cpp:137:24:137:25 | s1 | |
| set.cpp:131:29:131:30 | call to unordered_set | set.cpp:139:7:139:8 | s1 | |
| set.cpp:131:29:131:30 | call to unordered_set | set.cpp:145:7:145:8 | s1 | |
| set.cpp:131:29:131:30 | call to unordered_set | set.cpp:169:12:169:13 | s1 | |
| set.cpp:131:29:131:30 | call to unordered_set | set.cpp:169:30:169:31 | s1 | |
| set.cpp:131:29:131:30 | call to unordered_set | set.cpp:238:1:238:1 | s1 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:134:7:134:8 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:138:12:138:13 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:138:24:138:25 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:140:7:140:8 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:146:7:146:8 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:153:32:153:33 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:154:34:154:35 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:155:32:155:33 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:155:44:155:45 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:157:8:157:9 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:173:12:173:13 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:173:30:173:31 | s2 | |
| set.cpp:131:33:131:34 | call to unordered_set | set.cpp:238:1:238:1 | s2 | |
| set.cpp:131:37:131:38 | call to unordered_set | set.cpp:135:7:135:8 | s3 | |
| set.cpp:131:37:131:38 | call to unordered_set | set.cpp:135:17:135:18 | s3 | |
| set.cpp:131:37:131:38 | call to unordered_set | set.cpp:141:7:141:8 | s3 | |
| set.cpp:131:37:131:38 | call to unordered_set | set.cpp:147:7:147:8 | s3 | |
| set.cpp:131:37:131:38 | call to unordered_set | set.cpp:238:1:238:1 | s3 | |
| set.cpp:131:41:131:42 | call to unordered_set | set.cpp:136:7:136:8 | s4 | |
| set.cpp:131:41:131:42 | call to unordered_set | set.cpp:136:17:136:18 | s4 | |
| set.cpp:131:41:131:42 | call to unordered_set | set.cpp:142:7:142:8 | s4 | |
| set.cpp:131:41:131:42 | call to unordered_set | set.cpp:148:7:148:8 | s4 | |
| set.cpp:131:41:131:42 | call to unordered_set | set.cpp:238:1:238:1 | s4 | |
| set.cpp:131:45:131:46 | call to unordered_set | set.cpp:137:2:137:3 | s5 | |
| set.cpp:131:45:131:46 | call to unordered_set | set.cpp:143:7:143:8 | s5 | |
| set.cpp:131:45:131:46 | call to unordered_set | set.cpp:149:7:149:8 | s5 | |
| set.cpp:131:45:131:46 | call to unordered_set | set.cpp:238:1:238:1 | s5 | |
| set.cpp:131:49:131:50 | call to unordered_set | set.cpp:138:2:138:3 | s6 | |
| set.cpp:131:49:131:50 | call to unordered_set | set.cpp:144:7:144:8 | s6 | |
| set.cpp:131:49:131:50 | call to unordered_set | set.cpp:150:7:150:8 | s6 | |
| set.cpp:131:49:131:50 | call to unordered_set | set.cpp:238:1:238:1 | s6 | |
| set.cpp:133:7:133:8 | ref arg s1 | set.cpp:137:12:137:13 | s1 | |
| set.cpp:133:7:133:8 | ref arg s1 | set.cpp:137:24:137:25 | s1 | |
| set.cpp:133:7:133:8 | ref arg s1 | set.cpp:139:7:139:8 | s1 | |
| set.cpp:133:7:133:8 | ref arg s1 | set.cpp:145:7:145:8 | s1 | |
| set.cpp:133:7:133:8 | ref arg s1 | set.cpp:169:12:169:13 | s1 | |
| set.cpp:133:7:133:8 | ref arg s1 | set.cpp:169:30:169:31 | s1 | |
| set.cpp:133:7:133:8 | ref arg s1 | set.cpp:238:1:238:1 | s1 | |
| set.cpp:133:17:133:21 | abc | set.cpp:133:7:133:8 | ref arg s1 | TAINT |
| set.cpp:133:17:133:21 | abc | set.cpp:133:10:133:15 | call to insert | TAINT |
| set.cpp:133:24:133:28 | first | set.cpp:133:7:133:28 | call to iterator | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:138:12:138:13 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:138:24:138:25 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:140:7:140:8 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:146:7:146:8 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:153:32:153:33 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:154:34:154:35 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:155:32:155:33 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:155:44:155:45 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:157:8:157:9 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:173:12:173:13 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:173:30:173:31 | s2 | |
| set.cpp:134:7:134:8 | ref arg s2 | set.cpp:238:1:238:1 | s2 | |
| set.cpp:134:17:134:22 | call to source | set.cpp:134:7:134:8 | ref arg s2 | TAINT |
| set.cpp:134:17:134:22 | call to source | set.cpp:134:10:134:15 | call to insert | TAINT |
| set.cpp:134:27:134:31 | first | set.cpp:134:7:134:31 | call to iterator | |
| set.cpp:135:7:135:8 | ref arg s3 | set.cpp:141:7:141:8 | s3 | |
| set.cpp:135:7:135:8 | ref arg s3 | set.cpp:147:7:147:8 | s3 | |
| set.cpp:135:7:135:8 | ref arg s3 | set.cpp:238:1:238:1 | s3 | |
| set.cpp:135:17:135:18 | ref arg s3 | set.cpp:135:7:135:8 | s3 | |
| set.cpp:135:17:135:18 | ref arg s3 | set.cpp:141:7:141:8 | s3 | |
| set.cpp:135:17:135:18 | ref arg s3 | set.cpp:147:7:147:8 | s3 | |
| set.cpp:135:17:135:18 | ref arg s3 | set.cpp:238:1:238:1 | s3 | |
| set.cpp:135:17:135:18 | s3 | set.cpp:135:20:135:24 | call to begin | TAINT |
| set.cpp:135:20:135:24 | call to begin | set.cpp:135:17:135:26 | call to iterator | TAINT |
| set.cpp:135:29:135:33 | abc | set.cpp:135:7:135:8 | ref arg s3 | TAINT |
| set.cpp:135:29:135:33 | abc | set.cpp:135:10:135:15 | call to insert | TAINT |
| set.cpp:136:7:136:8 | ref arg s4 | set.cpp:142:7:142:8 | s4 | |
| set.cpp:136:7:136:8 | ref arg s4 | set.cpp:148:7:148:8 | s4 | |
| set.cpp:136:7:136:8 | ref arg s4 | set.cpp:238:1:238:1 | s4 | |
| set.cpp:136:17:136:18 | ref arg s4 | set.cpp:136:7:136:8 | s4 | |
| set.cpp:136:17:136:18 | ref arg s4 | set.cpp:142:7:142:8 | s4 | |
| set.cpp:136:17:136:18 | ref arg s4 | set.cpp:148:7:148:8 | s4 | |
| set.cpp:136:17:136:18 | ref arg s4 | set.cpp:238:1:238:1 | s4 | |
| set.cpp:136:17:136:18 | s4 | set.cpp:136:20:136:24 | call to begin | TAINT |
| set.cpp:136:20:136:24 | call to begin | set.cpp:136:17:136:26 | call to iterator | TAINT |
| set.cpp:136:29:136:34 | call to source | set.cpp:136:7:136:8 | ref arg s4 | TAINT |
| set.cpp:136:29:136:34 | call to source | set.cpp:136:10:136:15 | call to insert | TAINT |
| set.cpp:137:2:137:3 | ref arg s5 | set.cpp:143:7:143:8 | s5 | |
| set.cpp:137:2:137:3 | ref arg s5 | set.cpp:149:7:149:8 | s5 | |
| set.cpp:137:2:137:3 | ref arg s5 | set.cpp:238:1:238:1 | s5 | |
| set.cpp:137:12:137:13 | ref arg s1 | set.cpp:137:24:137:25 | s1 | |
| set.cpp:137:12:137:13 | ref arg s1 | set.cpp:139:7:139:8 | s1 | |
| set.cpp:137:12:137:13 | ref arg s1 | set.cpp:145:7:145:8 | s1 | |
| set.cpp:137:12:137:13 | ref arg s1 | set.cpp:169:12:169:13 | s1 | |
| set.cpp:137:12:137:13 | ref arg s1 | set.cpp:169:30:169:31 | s1 | |
| set.cpp:137:12:137:13 | ref arg s1 | set.cpp:238:1:238:1 | s1 | |
| set.cpp:137:12:137:13 | s1 | set.cpp:137:15:137:19 | call to begin | TAINT |
| set.cpp:137:24:137:25 | ref arg s1 | set.cpp:139:7:139:8 | s1 | |
| set.cpp:137:24:137:25 | ref arg s1 | set.cpp:145:7:145:8 | s1 | |
| set.cpp:137:24:137:25 | ref arg s1 | set.cpp:169:12:169:13 | s1 | |
| set.cpp:137:24:137:25 | ref arg s1 | set.cpp:169:30:169:31 | s1 | |
| set.cpp:137:24:137:25 | ref arg s1 | set.cpp:238:1:238:1 | s1 | |
| set.cpp:137:24:137:25 | s1 | set.cpp:137:27:137:29 | call to end | TAINT |
| set.cpp:137:27:137:29 | call to end | set.cpp:137:2:137:3 | ref arg s5 | TAINT |
| set.cpp:137:27:137:29 | call to end | set.cpp:137:5:137:10 | call to insert | TAINT |
| set.cpp:138:2:138:3 | ref arg s6 | set.cpp:144:7:144:8 | s6 | |
| set.cpp:138:2:138:3 | ref arg s6 | set.cpp:150:7:150:8 | s6 | |
| set.cpp:138:2:138:3 | ref arg s6 | set.cpp:238:1:238:1 | s6 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:138:24:138:25 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:140:7:140:8 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:146:7:146:8 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:153:32:153:33 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:154:34:154:35 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:155:32:155:33 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:155:44:155:45 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:157:8:157:9 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:173:12:173:13 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:173:30:173:31 | s2 | |
| set.cpp:138:12:138:13 | ref arg s2 | set.cpp:238:1:238:1 | s2 | |
| set.cpp:138:12:138:13 | s2 | set.cpp:138:15:138:19 | call to begin | TAINT |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:140:7:140:8 | s2 | |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:146:7:146:8 | s2 | |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:153:32:153:33 | s2 | |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:154:34:154:35 | s2 | |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:155:32:155:33 | s2 | |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:155:44:155:45 | s2 | |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:157:8:157:9 | s2 | |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:173:12:173:13 | s2 | |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:173:30:173:31 | s2 | |
| set.cpp:138:24:138:25 | ref arg s2 | set.cpp:238:1:238:1 | s2 | |
| set.cpp:138:24:138:25 | s2 | set.cpp:138:27:138:29 | call to end | TAINT |
| set.cpp:138:27:138:29 | call to end | set.cpp:138:2:138:3 | ref arg s6 | TAINT |
| set.cpp:138:27:138:29 | call to end | set.cpp:138:5:138:10 | call to insert | TAINT |
| set.cpp:139:7:139:8 | s1 | set.cpp:139:7:139:8 | call to unordered_set | |
| set.cpp:140:7:140:8 | s2 | set.cpp:140:7:140:8 | call to unordered_set | |
| set.cpp:141:7:141:8 | s3 | set.cpp:141:7:141:8 | call to unordered_set | |
| set.cpp:142:7:142:8 | s4 | set.cpp:142:7:142:8 | call to unordered_set | |
| set.cpp:143:7:143:8 | s5 | set.cpp:143:7:143:8 | call to unordered_set | |
| set.cpp:144:7:144:8 | s6 | set.cpp:144:7:144:8 | call to unordered_set | |
| set.cpp:145:7:145:8 | ref arg s1 | set.cpp:169:12:169:13 | s1 | |
| set.cpp:145:7:145:8 | ref arg s1 | set.cpp:169:30:169:31 | s1 | |
| set.cpp:145:7:145:8 | ref arg s1 | set.cpp:238:1:238:1 | s1 | |
| set.cpp:145:7:145:8 | s1 | set.cpp:145:10:145:13 | call to find | TAINT |
| set.cpp:146:7:146:8 | ref arg s2 | set.cpp:153:32:153:33 | s2 | |
| set.cpp:146:7:146:8 | ref arg s2 | set.cpp:154:34:154:35 | s2 | |
| set.cpp:146:7:146:8 | ref arg s2 | set.cpp:155:32:155:33 | s2 | |
| set.cpp:146:7:146:8 | ref arg s2 | set.cpp:155:44:155:45 | s2 | |
| set.cpp:146:7:146:8 | ref arg s2 | set.cpp:157:8:157:9 | s2 | |
| set.cpp:146:7:146:8 | ref arg s2 | set.cpp:173:12:173:13 | s2 | |
| set.cpp:146:7:146:8 | ref arg s2 | set.cpp:173:30:173:31 | s2 | |
| set.cpp:146:7:146:8 | ref arg s2 | set.cpp:238:1:238:1 | s2 | |
| set.cpp:146:7:146:8 | s2 | set.cpp:146:10:146:13 | call to find | TAINT |
| set.cpp:147:7:147:8 | ref arg s3 | set.cpp:238:1:238:1 | s3 | |
| set.cpp:147:7:147:8 | s3 | set.cpp:147:10:147:13 | call to find | TAINT |
| set.cpp:148:7:148:8 | ref arg s4 | set.cpp:238:1:238:1 | s4 | |
| set.cpp:148:7:148:8 | s4 | set.cpp:148:10:148:13 | call to find | TAINT |
| set.cpp:149:7:149:8 | ref arg s5 | set.cpp:238:1:238:1 | s5 | |
| set.cpp:149:7:149:8 | s5 | set.cpp:149:10:149:13 | call to find | TAINT |
| set.cpp:150:7:150:8 | ref arg s6 | set.cpp:238:1:238:1 | s6 | |
| set.cpp:150:7:150:8 | s6 | set.cpp:150:10:150:13 | call to find | TAINT |
| set.cpp:153:32:153:33 | s2 | set.cpp:153:32:153:34 | call to unordered_set | |
| set.cpp:153:32:153:34 | call to unordered_set | set.cpp:158:7:158:8 | s7 | |
| set.cpp:153:32:153:34 | call to unordered_set | set.cpp:162:7:162:8 | s7 | |
| set.cpp:153:32:153:34 | call to unordered_set | set.cpp:238:1:238:1 | s7 | |
| set.cpp:154:33:154:35 | call to unordered_set | set.cpp:159:7:159:8 | s8 | |
| set.cpp:154:33:154:35 | call to unordered_set | set.cpp:163:7:163:8 | s8 | |
| set.cpp:154:33:154:35 | call to unordered_set | set.cpp:238:1:238:1 | s8 | |
| set.cpp:154:34:154:35 | s2 | set.cpp:154:33:154:35 | call to unordered_set | |
| set.cpp:155:32:155:33 | ref arg s2 | set.cpp:155:44:155:45 | s2 | |
| set.cpp:155:32:155:33 | ref arg s2 | set.cpp:157:8:157:9 | s2 | |
| set.cpp:155:32:155:33 | ref arg s2 | set.cpp:173:12:173:13 | s2 | |
| set.cpp:155:32:155:33 | ref arg s2 | set.cpp:173:30:173:31 | s2 | |
| set.cpp:155:32:155:33 | ref arg s2 | set.cpp:238:1:238:1 | s2 | |
| set.cpp:155:32:155:33 | s2 | set.cpp:155:35:155:39 | call to begin | TAINT |
| set.cpp:155:32:155:52 | call to unordered_set | set.cpp:160:7:160:8 | s9 | |
| set.cpp:155:32:155:52 | call to unordered_set | set.cpp:164:7:164:8 | s9 | |
| set.cpp:155:32:155:52 | call to unordered_set | set.cpp:238:1:238:1 | s9 | |
| set.cpp:155:35:155:39 | call to begin | set.cpp:155:32:155:52 | call to unordered_set | TAINT |
| set.cpp:155:44:155:45 | ref arg s2 | set.cpp:157:8:157:9 | s2 | |
| set.cpp:155:44:155:45 | ref arg s2 | set.cpp:173:12:173:13 | s2 | |
| set.cpp:155:44:155:45 | ref arg s2 | set.cpp:173:30:173:31 | s2 | |
| set.cpp:155:44:155:45 | ref arg s2 | set.cpp:238:1:238:1 | s2 | |
| set.cpp:155:44:155:45 | s2 | set.cpp:155:47:155:49 | call to end | TAINT |
| set.cpp:155:47:155:49 | call to end | set.cpp:155:32:155:52 | call to unordered_set | TAINT |
| set.cpp:156:29:156:31 | call to unordered_set | set.cpp:157:2:157:4 | s10 | |
| set.cpp:156:29:156:31 | call to unordered_set | set.cpp:161:7:161:9 | s10 | |
| set.cpp:156:29:156:31 | call to unordered_set | set.cpp:165:7:165:9 | s10 | |
| set.cpp:156:29:156:31 | call to unordered_set | set.cpp:238:1:238:1 | s10 | |
| set.cpp:157:2:157:4 | ref arg s10 | set.cpp:161:7:161:9 | s10 | |
| set.cpp:157:2:157:4 | ref arg s10 | set.cpp:165:7:165:9 | s10 | |
| set.cpp:157:2:157:4 | ref arg s10 | set.cpp:238:1:238:1 | s10 | |
| set.cpp:157:8:157:9 | s2 | set.cpp:157:2:157:4 | ref arg s10 | TAINT |
| set.cpp:157:8:157:9 | s2 | set.cpp:157:6:157:6 | call to operator= | TAINT |
| set.cpp:158:7:158:8 | s7 | set.cpp:158:7:158:8 | call to unordered_set | |
| set.cpp:159:7:159:8 | s8 | set.cpp:159:7:159:8 | call to unordered_set | |
| set.cpp:160:7:160:8 | s9 | set.cpp:160:7:160:8 | call to unordered_set | |
| set.cpp:161:7:161:9 | s10 | set.cpp:161:7:161:9 | call to unordered_set | |
| set.cpp:162:7:162:8 | ref arg s7 | set.cpp:238:1:238:1 | s7 | |
| set.cpp:162:7:162:8 | s7 | set.cpp:162:10:162:13 | call to find | TAINT |
| set.cpp:163:7:163:8 | ref arg s8 | set.cpp:238:1:238:1 | s8 | |
| set.cpp:163:7:163:8 | s8 | set.cpp:163:10:163:13 | call to find | TAINT |
| set.cpp:164:7:164:8 | ref arg s9 | set.cpp:238:1:238:1 | s9 | |
| set.cpp:164:7:164:8 | s9 | set.cpp:164:10:164:13 | call to find | TAINT |
| set.cpp:165:7:165:9 | ref arg s10 | set.cpp:238:1:238:1 | s10 | |
| set.cpp:165:7:165:9 | s10 | set.cpp:165:11:165:14 | call to find | TAINT |
| set.cpp:169:12:169:13 | ref arg s1 | set.cpp:169:30:169:31 | s1 | |
| set.cpp:169:12:169:13 | ref arg s1 | set.cpp:238:1:238:1 | s1 | |
| set.cpp:169:12:169:13 | s1 | set.cpp:169:15:169:19 | call to begin | TAINT |
| set.cpp:169:15:169:19 | call to begin | set.cpp:169:7:169:21 | ... = ... | |
| set.cpp:169:15:169:19 | call to begin | set.cpp:169:24:169:25 | i1 | |
| set.cpp:169:15:169:19 | call to begin | set.cpp:169:40:169:41 | i1 | |
| set.cpp:169:15:169:19 | call to begin | set.cpp:171:9:171:10 | i1 | |
| set.cpp:169:30:169:31 | ref arg s1 | set.cpp:169:30:169:31 | s1 | |
| set.cpp:169:30:169:31 | ref arg s1 | set.cpp:238:1:238:1 | s1 | |
| set.cpp:169:30:169:31 | s1 | set.cpp:169:33:169:35 | call to end | TAINT |
| set.cpp:169:40:169:41 | i1 | set.cpp:169:42:169:42 | call to operator++ | |
| set.cpp:169:40:169:41 | ref arg i1 | set.cpp:169:24:169:25 | i1 | |
| set.cpp:169:40:169:41 | ref arg i1 | set.cpp:169:40:169:41 | i1 | |
| set.cpp:169:40:169:41 | ref arg i1 | set.cpp:171:9:171:10 | i1 | |
| set.cpp:171:9:171:10 | i1 | set.cpp:171:8:171:8 | call to operator* | TAINT |
| set.cpp:173:12:173:13 | ref arg s2 | set.cpp:173:30:173:31 | s2 | |
| set.cpp:173:12:173:13 | ref arg s2 | set.cpp:238:1:238:1 | s2 | |
| set.cpp:173:12:173:13 | s2 | set.cpp:173:15:173:19 | call to begin | TAINT |
| set.cpp:173:15:173:19 | call to begin | set.cpp:173:7:173:21 | ... = ... | |
| set.cpp:173:15:173:19 | call to begin | set.cpp:173:24:173:25 | i2 | |
| set.cpp:173:15:173:19 | call to begin | set.cpp:173:40:173:41 | i2 | |
| set.cpp:173:15:173:19 | call to begin | set.cpp:175:9:175:10 | i2 | |
| set.cpp:173:30:173:31 | ref arg s2 | set.cpp:173:30:173:31 | s2 | |
| set.cpp:173:30:173:31 | ref arg s2 | set.cpp:238:1:238:1 | s2 | |
| set.cpp:173:30:173:31 | s2 | set.cpp:173:33:173:35 | call to end | TAINT |
| set.cpp:173:40:173:41 | i2 | set.cpp:173:42:173:42 | call to operator++ | |
| set.cpp:173:40:173:41 | ref arg i2 | set.cpp:173:24:173:25 | i2 | |
| set.cpp:173:40:173:41 | ref arg i2 | set.cpp:173:40:173:41 | i2 | |
| set.cpp:173:40:173:41 | ref arg i2 | set.cpp:175:9:175:10 | i2 | |
| set.cpp:175:9:175:10 | i2 | set.cpp:175:8:175:8 | call to operator* | TAINT |
| set.cpp:179:29:179:31 | call to unordered_set | set.cpp:180:2:180:4 | s11 | |
| set.cpp:179:29:179:31 | call to unordered_set | set.cpp:181:2:181:4 | s11 | |
| set.cpp:179:29:179:31 | call to unordered_set | set.cpp:182:2:182:4 | s11 | |
| set.cpp:179:29:179:31 | call to unordered_set | set.cpp:183:7:183:9 | s11 | |
| set.cpp:179:29:179:31 | call to unordered_set | set.cpp:184:7:184:9 | s11 | |
| set.cpp:179:29:179:31 | call to unordered_set | set.cpp:238:1:238:1 | s11 | |
| set.cpp:180:2:180:4 | ref arg s11 | set.cpp:181:2:181:4 | s11 | |
| set.cpp:180:2:180:4 | ref arg s11 | set.cpp:182:2:182:4 | s11 | |
| set.cpp:180:2:180:4 | ref arg s11 | set.cpp:183:7:183:9 | s11 | |
| set.cpp:180:2:180:4 | ref arg s11 | set.cpp:184:7:184:9 | s11 | |
| set.cpp:180:2:180:4 | ref arg s11 | set.cpp:238:1:238:1 | s11 | |
| set.cpp:180:13:180:15 | a | set.cpp:180:2:180:4 | ref arg s11 | TAINT |
| set.cpp:180:13:180:15 | a | set.cpp:180:6:180:11 | call to insert | TAINT |
| set.cpp:181:2:181:4 | ref arg s11 | set.cpp:182:2:182:4 | s11 | |
| set.cpp:181:2:181:4 | ref arg s11 | set.cpp:183:7:183:9 | s11 | |
| set.cpp:181:2:181:4 | ref arg s11 | set.cpp:184:7:184:9 | s11 | |
| set.cpp:181:2:181:4 | ref arg s11 | set.cpp:238:1:238:1 | s11 | |
| set.cpp:181:13:181:18 | call to source | set.cpp:181:2:181:4 | ref arg s11 | TAINT |
| set.cpp:181:13:181:18 | call to source | set.cpp:181:6:181:11 | call to insert | TAINT |
| set.cpp:182:2:182:4 | ref arg s11 | set.cpp:183:7:183:9 | s11 | |
| set.cpp:182:2:182:4 | ref arg s11 | set.cpp:184:7:184:9 | s11 | |
| set.cpp:182:2:182:4 | ref arg s11 | set.cpp:238:1:238:1 | s11 | |
| set.cpp:182:13:182:15 | c | set.cpp:182:2:182:4 | ref arg s11 | TAINT |
| set.cpp:182:13:182:15 | c | set.cpp:182:6:182:11 | call to insert | TAINT |
| set.cpp:183:7:183:9 | ref arg s11 | set.cpp:184:7:184:9 | s11 | |
| set.cpp:183:7:183:9 | ref arg s11 | set.cpp:238:1:238:1 | s11 | |
| set.cpp:183:28:183:32 | first | set.cpp:183:7:183:32 | call to iterator | |
| set.cpp:184:7:184:9 | ref arg s11 | set.cpp:238:1:238:1 | s11 | |
| set.cpp:184:28:184:33 | second | set.cpp:184:7:184:33 | call to iterator | |
| set.cpp:187:29:187:31 | call to unordered_set | set.cpp:188:2:188:4 | s12 | |
| set.cpp:187:29:187:31 | call to unordered_set | set.cpp:190:7:190:9 | s12 | |
| set.cpp:187:29:187:31 | call to unordered_set | set.cpp:194:2:194:4 | s12 | |
| set.cpp:187:29:187:31 | call to unordered_set | set.cpp:196:7:196:9 | s12 | |
| set.cpp:187:29:187:31 | call to unordered_set | set.cpp:238:1:238:1 | s12 | |
| set.cpp:187:34:187:36 | call to unordered_set | set.cpp:191:7:191:9 | s13 | |
| set.cpp:187:34:187:36 | call to unordered_set | set.cpp:194:11:194:13 | s13 | |
| set.cpp:187:34:187:36 | call to unordered_set | set.cpp:197:7:197:9 | s13 | |
| set.cpp:187:34:187:36 | call to unordered_set | set.cpp:238:1:238:1 | s13 | |
| set.cpp:187:39:187:41 | call to unordered_set | set.cpp:192:7:192:9 | s14 | |
| set.cpp:187:39:187:41 | call to unordered_set | set.cpp:195:2:195:4 | s14 | |
| set.cpp:187:39:187:41 | call to unordered_set | set.cpp:198:7:198:9 | s14 | |
| set.cpp:187:39:187:41 | call to unordered_set | set.cpp:238:1:238:1 | s14 | |
| set.cpp:187:44:187:46 | call to unordered_set | set.cpp:189:2:189:4 | s15 | |
| set.cpp:187:44:187:46 | call to unordered_set | set.cpp:193:7:193:9 | s15 | |
| set.cpp:187:44:187:46 | call to unordered_set | set.cpp:195:11:195:13 | s15 | |
| set.cpp:187:44:187:46 | call to unordered_set | set.cpp:199:7:199:9 | s15 | |
| set.cpp:187:44:187:46 | call to unordered_set | set.cpp:238:1:238:1 | s15 | |
| set.cpp:188:2:188:4 | ref arg s12 | set.cpp:190:7:190:9 | s12 | |
| set.cpp:188:2:188:4 | ref arg s12 | set.cpp:194:2:194:4 | s12 | |
| set.cpp:188:2:188:4 | ref arg s12 | set.cpp:196:7:196:9 | s12 | |
| set.cpp:188:2:188:4 | ref arg s12 | set.cpp:238:1:238:1 | s12 | |
| set.cpp:188:13:188:18 | call to source | set.cpp:188:2:188:4 | ref arg s12 | TAINT |
| set.cpp:188:13:188:18 | call to source | set.cpp:188:6:188:11 | call to insert | TAINT |
| set.cpp:189:2:189:4 | ref arg s15 | set.cpp:193:7:193:9 | s15 | |
| set.cpp:189:2:189:4 | ref arg s15 | set.cpp:195:11:195:13 | s15 | |
| set.cpp:189:2:189:4 | ref arg s15 | set.cpp:199:7:199:9 | s15 | |
| set.cpp:189:2:189:4 | ref arg s15 | set.cpp:238:1:238:1 | s15 | |
| set.cpp:189:13:189:18 | call to source | set.cpp:189:2:189:4 | ref arg s15 | TAINT |
| set.cpp:189:13:189:18 | call to source | set.cpp:189:6:189:11 | call to insert | TAINT |
| set.cpp:190:7:190:9 | s12 | set.cpp:190:7:190:9 | call to unordered_set | |
| set.cpp:191:7:191:9 | s13 | set.cpp:191:7:191:9 | call to unordered_set | |
| set.cpp:192:7:192:9 | s14 | set.cpp:192:7:192:9 | call to unordered_set | |
| set.cpp:193:7:193:9 | s15 | set.cpp:193:7:193:9 | call to unordered_set | |
| set.cpp:194:2:194:4 | ref arg s12 | set.cpp:196:7:196:9 | s12 | |
| set.cpp:194:2:194:4 | ref arg s12 | set.cpp:238:1:238:1 | s12 | |
| set.cpp:194:2:194:4 | s12 | set.cpp:194:11:194:13 | ref arg s13 | TAINT |
| set.cpp:194:11:194:13 | ref arg s13 | set.cpp:197:7:197:9 | s13 | |
| set.cpp:194:11:194:13 | ref arg s13 | set.cpp:238:1:238:1 | s13 | |
| set.cpp:194:11:194:13 | s13 | set.cpp:194:2:194:4 | ref arg s12 | TAINT |
| set.cpp:195:2:195:4 | ref arg s14 | set.cpp:198:7:198:9 | s14 | |
| set.cpp:195:2:195:4 | ref arg s14 | set.cpp:238:1:238:1 | s14 | |
| set.cpp:195:2:195:4 | s14 | set.cpp:195:11:195:13 | ref arg s15 | TAINT |
| set.cpp:195:11:195:13 | ref arg s15 | set.cpp:199:7:199:9 | s15 | |
| set.cpp:195:11:195:13 | ref arg s15 | set.cpp:238:1:238:1 | s15 | |
| set.cpp:195:11:195:13 | s15 | set.cpp:195:2:195:4 | ref arg s14 | TAINT |
| set.cpp:196:7:196:9 | s12 | set.cpp:196:7:196:9 | call to unordered_set | |
| set.cpp:197:7:197:9 | s13 | set.cpp:197:7:197:9 | call to unordered_set | |
| set.cpp:198:7:198:9 | s14 | set.cpp:198:7:198:9 | call to unordered_set | |
| set.cpp:199:7:199:9 | s15 | set.cpp:199:7:199:9 | call to unordered_set | |
| set.cpp:202:29:202:31 | call to unordered_set | set.cpp:203:2:203:4 | s16 | |
| set.cpp:202:29:202:31 | call to unordered_set | set.cpp:207:7:207:9 | s16 | |
| set.cpp:202:29:202:31 | call to unordered_set | set.cpp:211:2:211:4 | s16 | |
| set.cpp:202:29:202:31 | call to unordered_set | set.cpp:213:7:213:9 | s16 | |
| set.cpp:202:29:202:31 | call to unordered_set | set.cpp:238:1:238:1 | s16 | |
| set.cpp:202:34:202:36 | call to unordered_set | set.cpp:204:2:204:4 | s17 | |
| set.cpp:202:34:202:36 | call to unordered_set | set.cpp:208:7:208:9 | s17 | |
| set.cpp:202:34:202:36 | call to unordered_set | set.cpp:211:12:211:14 | s17 | |
| set.cpp:202:34:202:36 | call to unordered_set | set.cpp:214:7:214:9 | s17 | |
| set.cpp:202:34:202:36 | call to unordered_set | set.cpp:238:1:238:1 | s17 | |
| set.cpp:202:39:202:41 | call to unordered_set | set.cpp:205:2:205:4 | s18 | |
| set.cpp:202:39:202:41 | call to unordered_set | set.cpp:209:7:209:9 | s18 | |
| set.cpp:202:39:202:41 | call to unordered_set | set.cpp:212:2:212:4 | s18 | |
| set.cpp:202:39:202:41 | call to unordered_set | set.cpp:215:7:215:9 | s18 | |
| set.cpp:202:39:202:41 | call to unordered_set | set.cpp:238:1:238:1 | s18 | |
| set.cpp:202:44:202:46 | call to unordered_set | set.cpp:206:2:206:4 | s19 | |
| set.cpp:202:44:202:46 | call to unordered_set | set.cpp:210:7:210:9 | s19 | |
| set.cpp:202:44:202:46 | call to unordered_set | set.cpp:212:12:212:14 | s19 | |
| set.cpp:202:44:202:46 | call to unordered_set | set.cpp:216:7:216:9 | s19 | |
| set.cpp:202:44:202:46 | call to unordered_set | set.cpp:238:1:238:1 | s19 | |
| set.cpp:203:2:203:4 | ref arg s16 | set.cpp:207:7:207:9 | s16 | |
| set.cpp:203:2:203:4 | ref arg s16 | set.cpp:211:2:211:4 | s16 | |
| set.cpp:203:2:203:4 | ref arg s16 | set.cpp:213:7:213:9 | s16 | |
| set.cpp:203:2:203:4 | ref arg s16 | set.cpp:238:1:238:1 | s16 | |
| set.cpp:203:13:203:18 | call to source | set.cpp:203:2:203:4 | ref arg s16 | TAINT |
| set.cpp:203:13:203:18 | call to source | set.cpp:203:6:203:11 | call to insert | TAINT |
| set.cpp:204:2:204:4 | ref arg s17 | set.cpp:208:7:208:9 | s17 | |
| set.cpp:204:2:204:4 | ref arg s17 | set.cpp:211:12:211:14 | s17 | |
| set.cpp:204:2:204:4 | ref arg s17 | set.cpp:214:7:214:9 | s17 | |
| set.cpp:204:2:204:4 | ref arg s17 | set.cpp:238:1:238:1 | s17 | |
| set.cpp:204:13:204:17 | abc | set.cpp:204:2:204:4 | ref arg s17 | TAINT |
| set.cpp:204:13:204:17 | abc | set.cpp:204:6:204:11 | call to insert | TAINT |
| set.cpp:205:2:205:4 | ref arg s18 | set.cpp:209:7:209:9 | s18 | |
| set.cpp:205:2:205:4 | ref arg s18 | set.cpp:212:2:212:4 | s18 | |
| set.cpp:205:2:205:4 | ref arg s18 | set.cpp:215:7:215:9 | s18 | |
| set.cpp:205:2:205:4 | ref arg s18 | set.cpp:238:1:238:1 | s18 | |
| set.cpp:205:13:205:17 | def | set.cpp:205:2:205:4 | ref arg s18 | TAINT |
| set.cpp:205:13:205:17 | def | set.cpp:205:6:205:11 | call to insert | TAINT |
| set.cpp:206:2:206:4 | ref arg s19 | set.cpp:210:7:210:9 | s19 | |
| set.cpp:206:2:206:4 | ref arg s19 | set.cpp:212:12:212:14 | s19 | |
| set.cpp:206:2:206:4 | ref arg s19 | set.cpp:216:7:216:9 | s19 | |
| set.cpp:206:2:206:4 | ref arg s19 | set.cpp:238:1:238:1 | s19 | |
| set.cpp:206:13:206:18 | call to source | set.cpp:206:2:206:4 | ref arg s19 | TAINT |
| set.cpp:206:13:206:18 | call to source | set.cpp:206:6:206:11 | call to insert | TAINT |
| set.cpp:207:7:207:9 | s16 | set.cpp:207:7:207:9 | call to unordered_set | |
| set.cpp:208:7:208:9 | s17 | set.cpp:208:7:208:9 | call to unordered_set | |
| set.cpp:209:7:209:9 | s18 | set.cpp:209:7:209:9 | call to unordered_set | |
| set.cpp:210:7:210:9 | s19 | set.cpp:210:7:210:9 | call to unordered_set | |
| set.cpp:211:2:211:4 | ref arg s16 | set.cpp:213:7:213:9 | s16 | |
| set.cpp:211:2:211:4 | ref arg s16 | set.cpp:238:1:238:1 | s16 | |
| set.cpp:211:12:211:14 | ref arg s17 | set.cpp:214:7:214:9 | s17 | |
| set.cpp:211:12:211:14 | ref arg s17 | set.cpp:238:1:238:1 | s17 | |
| set.cpp:212:2:212:4 | ref arg s18 | set.cpp:215:7:215:9 | s18 | |
| set.cpp:212:2:212:4 | ref arg s18 | set.cpp:238:1:238:1 | s18 | |
| set.cpp:212:12:212:14 | ref arg s19 | set.cpp:216:7:216:9 | s19 | |
| set.cpp:212:12:212:14 | ref arg s19 | set.cpp:238:1:238:1 | s19 | |
| set.cpp:213:7:213:9 | s16 | set.cpp:213:7:213:9 | call to unordered_set | |
| set.cpp:214:7:214:9 | s17 | set.cpp:214:7:214:9 | call to unordered_set | |
| set.cpp:215:7:215:9 | s18 | set.cpp:215:7:215:9 | call to unordered_set | |
| set.cpp:216:7:216:9 | s19 | set.cpp:216:7:216:9 | call to unordered_set | |
| set.cpp:219:29:219:31 | call to unordered_set | set.cpp:220:2:220:4 | s20 | |
| set.cpp:219:29:219:31 | call to unordered_set | set.cpp:221:2:221:4 | s20 | |
| set.cpp:219:29:219:31 | call to unordered_set | set.cpp:222:7:222:9 | s20 | |
| set.cpp:219:29:219:31 | call to unordered_set | set.cpp:223:7:223:9 | s20 | |
| set.cpp:219:29:219:31 | call to unordered_set | set.cpp:223:17:223:19 | s20 | |
| set.cpp:219:29:219:31 | call to unordered_set | set.cpp:224:7:224:9 | s20 | |
| set.cpp:219:29:219:31 | call to unordered_set | set.cpp:225:2:225:4 | s20 | |
| set.cpp:219:29:219:31 | call to unordered_set | set.cpp:226:7:226:9 | s20 | |
| set.cpp:219:29:219:31 | call to unordered_set | set.cpp:238:1:238:1 | s20 | |
| set.cpp:220:2:220:4 | ref arg s20 | set.cpp:221:2:221:4 | s20 | |
| set.cpp:220:2:220:4 | ref arg s20 | set.cpp:222:7:222:9 | s20 | |
| set.cpp:220:2:220:4 | ref arg s20 | set.cpp:223:7:223:9 | s20 | |
| set.cpp:220:2:220:4 | ref arg s20 | set.cpp:223:17:223:19 | s20 | |
| set.cpp:220:2:220:4 | ref arg s20 | set.cpp:224:7:224:9 | s20 | |
| set.cpp:220:2:220:4 | ref arg s20 | set.cpp:225:2:225:4 | s20 | |
| set.cpp:220:2:220:4 | ref arg s20 | set.cpp:226:7:226:9 | s20 | |
| set.cpp:220:2:220:4 | ref arg s20 | set.cpp:238:1:238:1 | s20 | |
| set.cpp:220:13:220:18 | call to source | set.cpp:220:2:220:4 | ref arg s20 | TAINT |
| set.cpp:220:13:220:18 | call to source | set.cpp:220:6:220:11 | call to insert | TAINT |
| set.cpp:221:2:221:4 | ref arg s20 | set.cpp:222:7:222:9 | s20 | |
| set.cpp:221:2:221:4 | ref arg s20 | set.cpp:223:7:223:9 | s20 | |
| set.cpp:221:2:221:4 | ref arg s20 | set.cpp:223:17:223:19 | s20 | |
| set.cpp:221:2:221:4 | ref arg s20 | set.cpp:224:7:224:9 | s20 | |
| set.cpp:221:2:221:4 | ref arg s20 | set.cpp:225:2:225:4 | s20 | |
| set.cpp:221:2:221:4 | ref arg s20 | set.cpp:226:7:226:9 | s20 | |
| set.cpp:221:2:221:4 | ref arg s20 | set.cpp:238:1:238:1 | s20 | |
| set.cpp:221:13:221:18 | call to source | set.cpp:221:2:221:4 | ref arg s20 | TAINT |
| set.cpp:221:13:221:18 | call to source | set.cpp:221:6:221:11 | call to insert | TAINT |
| set.cpp:222:7:222:9 | s20 | set.cpp:222:7:222:9 | call to unordered_set | |
| set.cpp:223:7:223:9 | ref arg s20 | set.cpp:224:7:224:9 | s20 | |
| set.cpp:223:7:223:9 | ref arg s20 | set.cpp:225:2:225:4 | s20 | |
| set.cpp:223:7:223:9 | ref arg s20 | set.cpp:226:7:226:9 | s20 | |
| set.cpp:223:7:223:9 | ref arg s20 | set.cpp:238:1:238:1 | s20 | |
| set.cpp:223:7:223:9 | s20 | set.cpp:223:11:223:15 | call to erase | TAINT |
| set.cpp:223:17:223:19 | ref arg s20 | set.cpp:223:7:223:9 | s20 | |
| set.cpp:223:17:223:19 | ref arg s20 | set.cpp:224:7:224:9 | s20 | |
| set.cpp:223:17:223:19 | ref arg s20 | set.cpp:225:2:225:4 | s20 | |
| set.cpp:223:17:223:19 | ref arg s20 | set.cpp:226:7:226:9 | s20 | |
| set.cpp:223:17:223:19 | ref arg s20 | set.cpp:238:1:238:1 | s20 | |
| set.cpp:223:17:223:19 | s20 | set.cpp:223:21:223:25 | call to begin | TAINT |
| set.cpp:224:7:224:9 | s20 | set.cpp:224:7:224:9 | call to unordered_set | |
| set.cpp:225:2:225:4 | ref arg s20 | set.cpp:226:7:226:9 | s20 | |
| set.cpp:225:2:225:4 | ref arg s20 | set.cpp:238:1:238:1 | s20 | |
| set.cpp:226:7:226:9 | s20 | set.cpp:226:7:226:9 | call to unordered_set | |
| set.cpp:229:29:229:31 | call to unordered_set | set.cpp:230:7:230:9 | s21 | |
| set.cpp:229:29:229:31 | call to unordered_set | set.cpp:231:7:231:9 | s21 | |
| set.cpp:229:29:229:31 | call to unordered_set | set.cpp:232:7:232:9 | s21 | |
| set.cpp:229:29:229:31 | call to unordered_set | set.cpp:233:7:233:9 | s21 | |
| set.cpp:229:29:229:31 | call to unordered_set | set.cpp:238:1:238:1 | s21 | |
| set.cpp:229:34:229:36 | call to unordered_set | set.cpp:234:7:234:9 | s22 | |
| set.cpp:229:34:229:36 | call to unordered_set | set.cpp:234:24:234:26 | s22 | |
| set.cpp:229:34:229:36 | call to unordered_set | set.cpp:235:7:235:9 | s22 | |
| set.cpp:229:34:229:36 | call to unordered_set | set.cpp:236:7:236:9 | s22 | |
| set.cpp:229:34:229:36 | call to unordered_set | set.cpp:236:24:236:26 | s22 | |
| set.cpp:229:34:229:36 | call to unordered_set | set.cpp:237:7:237:9 | s22 | |
| set.cpp:229:34:229:36 | call to unordered_set | set.cpp:238:1:238:1 | s22 | |
| set.cpp:230:7:230:9 | ref arg s21 | set.cpp:231:7:231:9 | s21 | |
| set.cpp:230:7:230:9 | ref arg s21 | set.cpp:232:7:232:9 | s21 | |
| set.cpp:230:7:230:9 | ref arg s21 | set.cpp:233:7:233:9 | s21 | |
| set.cpp:230:7:230:9 | ref arg s21 | set.cpp:238:1:238:1 | s21 | |
| set.cpp:230:26:230:30 | first | set.cpp:230:7:230:30 | call to iterator | |
| set.cpp:231:7:231:9 | s21 | set.cpp:231:7:231:9 | call to unordered_set | |
| set.cpp:232:7:232:9 | ref arg s21 | set.cpp:233:7:233:9 | s21 | |
| set.cpp:232:7:232:9 | ref arg s21 | set.cpp:238:1:238:1 | s21 | |
| set.cpp:232:29:232:33 | first | set.cpp:232:7:232:33 | call to iterator | |
| set.cpp:233:7:233:9 | s21 | set.cpp:233:7:233:9 | call to unordered_set | |
| set.cpp:234:7:234:9 | ref arg s22 | set.cpp:235:7:235:9 | s22 | |
| set.cpp:234:7:234:9 | ref arg s22 | set.cpp:236:7:236:9 | s22 | |
| set.cpp:234:7:234:9 | ref arg s22 | set.cpp:236:24:236:26 | s22 | |
| set.cpp:234:7:234:9 | ref arg s22 | set.cpp:237:7:237:9 | s22 | |
| set.cpp:234:7:234:9 | ref arg s22 | set.cpp:238:1:238:1 | s22 | |
| set.cpp:234:24:234:26 | ref arg s22 | set.cpp:234:7:234:9 | s22 | |
| set.cpp:234:24:234:26 | ref arg s22 | set.cpp:235:7:235:9 | s22 | |
| set.cpp:234:24:234:26 | ref arg s22 | set.cpp:236:7:236:9 | s22 | |
| set.cpp:234:24:234:26 | ref arg s22 | set.cpp:236:24:236:26 | s22 | |
| set.cpp:234:24:234:26 | ref arg s22 | set.cpp:237:7:237:9 | s22 | |
| set.cpp:234:24:234:26 | ref arg s22 | set.cpp:238:1:238:1 | s22 | |
| set.cpp:234:24:234:26 | s22 | set.cpp:234:28:234:32 | call to begin | TAINT |
| set.cpp:234:28:234:32 | call to begin | set.cpp:234:24:234:34 | call to iterator | TAINT |
| set.cpp:235:7:235:9 | s22 | set.cpp:235:7:235:9 | call to unordered_set | |
| set.cpp:236:7:236:9 | ref arg s22 | set.cpp:237:7:237:9 | s22 | |
| set.cpp:236:7:236:9 | ref arg s22 | set.cpp:238:1:238:1 | s22 | |
| set.cpp:236:24:236:26 | ref arg s22 | set.cpp:236:7:236:9 | s22 | |
| set.cpp:236:24:236:26 | ref arg s22 | set.cpp:237:7:237:9 | s22 | |
| set.cpp:236:24:236:26 | ref arg s22 | set.cpp:238:1:238:1 | s22 | |
| set.cpp:236:24:236:26 | s22 | set.cpp:236:28:236:32 | call to begin | TAINT |
| set.cpp:236:28:236:32 | call to begin | set.cpp:236:24:236:34 | call to iterator | TAINT |
| set.cpp:237:7:237:9 | s22 | set.cpp:237:7:237:9 | call to unordered_set | |
| smart_pointer.cpp:11:30:11:50 | call to make_shared | smart_pointer.cpp:12:11:12:11 | p | |
| smart_pointer.cpp:11:30:11:50 | call to make_shared | smart_pointer.cpp:13:10:13:10 | p | |
| smart_pointer.cpp:11:52:11:57 | call to source | smart_pointer.cpp:11:30:11:50 | call to make_shared | TAINT |

View File

@@ -0,0 +1,238 @@
#include "stl.h"
using namespace std;
char *source();
void sink(char *);
void sink(std::set<char *>);
void sink(std::set<char *>::iterator);
void sink(std::unordered_set<char *>);
void sink(std::unordered_set<char *>::iterator);
void test_set()
{
// insert, find
std::set<char *> s1, s2, s3, s4, s5, s6;
sink(s1.insert("abc").first);
sink(s2.insert(source()).first); // tainted
sink(s3.insert(s3.begin(), "abc"));
sink(s4.insert(s4.begin(), source())); // tainted
s5.insert(s1.begin(), s1.end());
s6.insert(s2.begin(), s2.end());
sink(s1);
sink(s2); // tainted
sink(s3);
sink(s4); // tainted
sink(s5);
sink(s6); // tainted
sink(s1.find("abc"));
sink(s2.find("abc")); // tainted
sink(s3.find("abc"));
sink(s4.find("abc")); // tainted
sink(s5.find("abc"));
sink(s6.find("abc")); // tainted
// copy constructors and assignment
std::set<char *> s7(s2);
std::set<char *> s8 = s2;
std::set<char *> s9(s2.begin(), s2.end());
std::set<char *> s10;
s10 = s2;
sink(s7); // tainted
sink(s8); // tainted
sink(s9); // tainted
sink(s10); // tainted
sink(s7.find("abc")); // tainted
sink(s8.find("abc")); // tainted
sink(s9.find("abc")); // tainted
sink(s10.find("abc")); // tainted
// iterators
std::set<char *>::iterator i1, i2;
for (i1 = s1.begin(); i1 != s1.end(); i1++)
{
sink(*i1);
}
for (i2 = s2.begin(); i2 != s2.end(); i2++)
{
sink(*i2); // tainted
}
// ranges
std::set<char *> s11;
s11.insert("a");
s11.insert(source());
s11.insert("c");
sink(s11.lower_bound("b")); // tainted [NOT DETECTED]
sink(s11.upper_bound("b")); // tainted [NOT DETECTED]
sink(s11.equal_range("b").first); // tainted [NOT DETECTED]
sink(s11.equal_range("b").second); // tainted [NOT DETECTED]
// swap
std::set<char *> s12, s13, s14, s15;
s12.insert(source());
s15.insert(source());
sink(s12); // tainted
sink(s13);
sink(s14);
sink(s15); // tainted
s12.swap(s13);
s14.swap(s15);
sink(s12); // [FALSE POSITIVE]
sink(s13); // tainted
sink(s14); // tainted
sink(s15); // [FALSE POSITIVE]
// merge
std::set<char *> s16, s17, s18, s19;
s16.insert(source());
s17.insert("abc");
s18.insert("def");
s19.insert(source());
sink(s16); // tainted
sink(s17);
sink(s18);
sink(s19); // tainted
s16.merge(s17);
s18.merge(s19);
sink(s16); // tainted
sink(s17); // tainted [NOT DETECTED]
sink(s18); // tainted [NOT DETECTED]
sink(s19); // tainted
// erase, clear
std::set<char *> s20;
s20.insert(source());
s20.insert(source());
sink(s20); // tainted
sink(s20.erase(s20.begin())); // tainted
sink(s20); // tainted
s20.clear();
sink(s20); // [FALSE POSITIVE]
// emplace, emplace_hint
std::set<char *> s21, s22;
sink(s21.emplace("abc").first);
sink(s21);
sink(s21.emplace(source()).first); // tainted [NOT DETECTED]
sink(s21); // tainted [NOT DETECTED]
sink(s22.emplace_hint(s22.begin(), "abc"));
sink(s22);
sink(s22.emplace_hint(s22.begin(), source())); // tainted [NOT DETECTED]
sink(s22); // tainted [NOT DETECTED]
}
void test_unordered_set()
{
// insert, find
std::unordered_set<char *> s1, s2, s3, s4, s5, s6;
sink(s1.insert("abc").first);
sink(s2.insert(source()).first); // tainted
sink(s3.insert(s3.begin(), "abc"));
sink(s4.insert(s4.begin(), source())); // tainted
s5.insert(s1.begin(), s1.end());
s6.insert(s2.begin(), s2.end());
sink(s1);
sink(s2); // tainted
sink(s3);
sink(s4); // tainted
sink(s5);
sink(s6); // tainted
sink(s1.find("abc"));
sink(s2.find("abc")); // tainted
sink(s3.find("abc"));
sink(s4.find("abc")); // tainted
sink(s5.find("abc"));
sink(s6.find("abc")); // tainted
// copy constructors and assignment
std::unordered_set<char *> s7(s2);
std::unordered_set<char *> s8 = s2;
std::unordered_set<char *> s9(s2.begin(), s2.end());
std::unordered_set<char *> s10;
s10 = s2;
sink(s7); // tainted
sink(s8); // tainted
sink(s9); // tainted
sink(s10); // tainted
sink(s7.find("abc")); // tainted
sink(s8.find("abc")); // tainted
sink(s9.find("abc")); // tainted
sink(s10.find("abc")); // tainted
// iterators
std::unordered_set<char *>::iterator i1, i2;
for (i1 = s1.begin(); i1 != s1.end(); i1++)
{
sink(*i1);
}
for (i2 = s2.begin(); i2 != s2.end(); i2++)
{
sink(*i2); // tainted
}
// ranges
std::unordered_set<char *> s11;
s11.insert("a");
s11.insert(source());
s11.insert("c");
sink(s11.equal_range("b").first); // tainted [NOT DETECTED]
sink(s11.equal_range("b").second); // tainted [NOT DETECTED]
// swap
std::unordered_set<char *> s12, s13, s14, s15;
s12.insert(source());
s15.insert(source());
sink(s12); // tainted
sink(s13);
sink(s14);
sink(s15); // tainted
s12.swap(s13);
s14.swap(s15);
sink(s12); // [FALSE POSITIVE]
sink(s13); // tainted
sink(s14); // tainted
sink(s15); // [FALSE POSITIVE]
// merge
std::unordered_set<char *> s16, s17, s18, s19;
s16.insert(source());
s17.insert("abc");
s18.insert("def");
s19.insert(source());
sink(s16); // tainted
sink(s17);
sink(s18);
sink(s19); // tainted
s16.merge(s17);
s18.merge(s19);
sink(s16); // tainted
sink(s17); // tainted [NOT DETECTED]
sink(s18); // tainted [NOT DETECTED]
sink(s19); // tainted
// erase, clear
std::unordered_set<char *> s20;
s20.insert(source());
s20.insert(source());
sink(s20); // tainted
sink(s20.erase(s20.begin())); // tainted
sink(s20); // tainted
s20.clear();
sink(s20); // [FALSE POSITIVE]
// emplace, emplace_hint
std::unordered_set<char *> s21, s22;
sink(s21.emplace("abc").first);
sink(s21);
sink(s21.emplace(source()).first); // tainted [NOT DETECTED]
sink(s21); // tainted [NOT DETECTED]
sink(s22.emplace_hint(s22.begin(), "abc"));
sink(s22);
sink(s22.emplace_hint(s22.begin(), source())); // tainted [NOT DETECTED]
sink(s22); // tainted [NOT DETECTED]
}

View File

@@ -482,3 +482,108 @@ namespace std {
pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
};
};
// --- set ---
namespace std {
template<class Key, class Compare = less<Key>, class Allocator = allocator<Key>>
class set {
public:
using key_type = Key;
using value_type = Key;
using size_type = size_t;
using allocator_type = Allocator;
using iterator = std::iterator<random_access_iterator_tag, value_type >;
using const_iterator = std::iterator<random_access_iterator_tag, const value_type >;
set() /*: set(Compare())*/ { }
set(const set& x);
set(set&& x);
template<class InputIterator> set(InputIterator first, InputIterator last/*, const Compare& comp = Compare(), const Allocator& = Allocator()*/);
~set();
set& operator=(const set& x);
set& operator=(set&& x) noexcept/*(allocator_traits<Allocator>::is_always_equal::value && is_nothrow_move_assignable_v<Compare>)*/;
iterator begin() noexcept;
const_iterator begin() const noexcept;
iterator end() noexcept;
const_iterator end() const noexcept;
template<class... Args> pair<iterator, bool> emplace(Args&&... args);
template<class... Args> iterator emplace_hint(const_iterator position, Args&&... args);
pair<iterator,bool> insert(const value_type& x);
pair<iterator,bool> insert(value_type&& x);
iterator insert(const_iterator position, const value_type& x);
iterator insert(const_iterator position, value_type&& x);
template<class InputIterator> void insert(InputIterator first, InputIterator last);
iterator erase(iterator position);
iterator erase(const_iterator position);
iterator erase(const_iterator first, const_iterator last);
void swap(set&) noexcept/*(allocator_traits<Allocator>::is_always_equal::value && is_nothrow_swappable_v<Compare>)*/;
void clear() noexcept;
template<class C2> void merge(set<Key, C2, Allocator>& source);
template<class C2> void merge(set<Key, C2, Allocator>&& source);
iterator find(const key_type& x);
const_iterator find(const key_type& x) const;
iterator lower_bound(const key_type& x);
const_iterator lower_bound(const key_type& x) const;
iterator upper_bound(const key_type& x);
const_iterator upper_bound(const key_type& x) const;
pair<iterator, iterator> equal_range(const key_type& x);
pair<const_iterator, const_iterator> equal_range(const key_type& x) const;
};
template<class Key, class Hash = hash<Key>, class Pred = equal_to<Key>, class Allocator = allocator<Key>>
class unordered_set {
public:
using key_type = Key;
using value_type = Key;
using hasher = Hash;
using key_equal = Pred;
using allocator_type = Allocator;
using size_type = size_t;
using iterator = std::iterator<random_access_iterator_tag, value_type >;
using const_iterator = std::iterator<random_access_iterator_tag, const value_type >;
unordered_set();
unordered_set(const unordered_set&);
unordered_set(unordered_set&&);
template<class InputIterator> unordered_set(InputIterator f, InputIterator l, size_type n = 0/*, const hasher& hf = hasher(), const key_equal& eql = key_equal(), const allocator_type& a = allocator_type()*/);
~unordered_set();
unordered_set& operator=(const unordered_set&);
unordered_set& operator=(unordered_set&&) noexcept/*(allocator_traits<Allocator>::is_always_equal::value && is_nothrow_move_assignable_v<Hash> && is_nothrow_move_assignable_v<Pred>)*/;
iterator begin() noexcept;
const_iterator begin() const noexcept;
iterator end() noexcept;
const_iterator end() const noexcept;
template<class... Args> pair<iterator, bool> emplace(Args&&... args);
template<class... Args> iterator emplace_hint(const_iterator position, Args&&... args);
pair<iterator, bool> insert(const value_type& obj);
pair<iterator, bool> insert(value_type&& obj);
iterator insert(const_iterator hint, const value_type& obj);
iterator insert(const_iterator hint, value_type&& obj);
template<class InputIterator> void insert(InputIterator first, InputIterator last);
iterator erase(iterator position);
iterator erase(const_iterator position);
iterator erase(const_iterator first, const_iterator last);
void swap(unordered_set&) noexcept/*(allocator_traits<Allocator>::is_always_equal::value && is_nothrow_swappable_v<Hash> && is_nothrow_swappable_v<Pred>)*/;
void clear() noexcept;
template<class H2, class P2> void merge(unordered_set<Key, H2, P2, Allocator>& source);
template<class H2, class P2> void merge(unordered_set<Key, H2, P2, Allocator>&& source);
iterator find(const key_type& k);
const_iterator find(const key_type& k) const;
pair<iterator, iterator> equal_range(const key_type& k);
pair<const_iterator, const_iterator> equal_range(const key_type& k) const;
};
}

View File

@@ -142,6 +142,74 @@
| movableclass.cpp:55:8:55:9 | s2 | movableclass.cpp:52:23:52:28 | call to source |
| movableclass.cpp:64:8:64:9 | s2 | movableclass.cpp:23:55:23:60 | call to source |
| movableclass.cpp:65:11:65:11 | call to operator= | movableclass.cpp:65:13:65:18 | call to source |
| set.cpp:22:10:22:15 | call to insert | set.cpp:22:29:22:34 | call to source |
| set.cpp:26:7:26:8 | call to set | set.cpp:20:17:20:22 | call to source |
| set.cpp:28:7:28:8 | call to set | set.cpp:22:29:22:34 | call to source |
| set.cpp:30:7:30:8 | call to set | set.cpp:20:17:20:22 | call to source |
| set.cpp:32:10:32:13 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:34:10:34:13 | call to find | set.cpp:22:29:22:34 | call to source |
| set.cpp:36:10:36:13 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:44:7:44:8 | call to set | set.cpp:20:17:20:22 | call to source |
| set.cpp:45:7:45:8 | call to set | set.cpp:20:17:20:22 | call to source |
| set.cpp:46:7:46:8 | call to set | set.cpp:20:17:20:22 | call to source |
| set.cpp:47:7:47:9 | call to set | set.cpp:20:17:20:22 | call to source |
| set.cpp:48:10:48:13 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:49:10:49:13 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:50:10:50:13 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:51:11:51:14 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:61:8:61:8 | call to operator* | set.cpp:20:17:20:22 | call to source |
| set.cpp:78:7:78:9 | call to set | set.cpp:76:13:76:18 | call to source |
| set.cpp:81:7:81:9 | call to set | set.cpp:77:13:77:18 | call to source |
| set.cpp:84:7:84:9 | call to set | set.cpp:76:13:76:18 | call to source |
| set.cpp:85:7:85:9 | call to set | set.cpp:76:13:76:18 | call to source |
| set.cpp:86:7:86:9 | call to set | set.cpp:77:13:77:18 | call to source |
| set.cpp:87:7:87:9 | call to set | set.cpp:77:13:77:18 | call to source |
| set.cpp:95:7:95:9 | call to set | set.cpp:91:13:91:18 | call to source |
| set.cpp:98:7:98:9 | call to set | set.cpp:94:13:94:18 | call to source |
| set.cpp:101:7:101:9 | call to set | set.cpp:91:13:91:18 | call to source |
| set.cpp:104:7:104:9 | call to set | set.cpp:94:13:94:18 | call to source |
| set.cpp:110:7:110:9 | call to set | set.cpp:108:13:108:18 | call to source |
| set.cpp:110:7:110:9 | call to set | set.cpp:109:13:109:18 | call to source |
| set.cpp:111:11:111:15 | call to erase | set.cpp:108:13:108:18 | call to source |
| set.cpp:111:11:111:15 | call to erase | set.cpp:109:13:109:18 | call to source |
| set.cpp:112:7:112:9 | call to set | set.cpp:108:13:108:18 | call to source |
| set.cpp:112:7:112:9 | call to set | set.cpp:109:13:109:18 | call to source |
| set.cpp:114:7:114:9 | call to set | set.cpp:108:13:108:18 | call to source |
| set.cpp:114:7:114:9 | call to set | set.cpp:109:13:109:18 | call to source |
| set.cpp:136:10:136:15 | call to insert | set.cpp:136:29:136:34 | call to source |
| set.cpp:140:7:140:8 | call to unordered_set | set.cpp:134:17:134:22 | call to source |
| set.cpp:142:7:142:8 | call to unordered_set | set.cpp:136:29:136:34 | call to source |
| set.cpp:144:7:144:8 | call to unordered_set | set.cpp:134:17:134:22 | call to source |
| set.cpp:146:10:146:13 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:148:10:148:13 | call to find | set.cpp:136:29:136:34 | call to source |
| set.cpp:150:10:150:13 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:158:7:158:8 | call to unordered_set | set.cpp:134:17:134:22 | call to source |
| set.cpp:159:7:159:8 | call to unordered_set | set.cpp:134:17:134:22 | call to source |
| set.cpp:160:7:160:8 | call to unordered_set | set.cpp:134:17:134:22 | call to source |
| set.cpp:161:7:161:9 | call to unordered_set | set.cpp:134:17:134:22 | call to source |
| set.cpp:162:10:162:13 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:163:10:163:13 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:164:10:164:13 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:165:11:165:14 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:175:8:175:8 | call to operator* | set.cpp:134:17:134:22 | call to source |
| set.cpp:190:7:190:9 | call to unordered_set | set.cpp:188:13:188:18 | call to source |
| set.cpp:193:7:193:9 | call to unordered_set | set.cpp:189:13:189:18 | call to source |
| set.cpp:196:7:196:9 | call to unordered_set | set.cpp:188:13:188:18 | call to source |
| set.cpp:197:7:197:9 | call to unordered_set | set.cpp:188:13:188:18 | call to source |
| set.cpp:198:7:198:9 | call to unordered_set | set.cpp:189:13:189:18 | call to source |
| set.cpp:199:7:199:9 | call to unordered_set | set.cpp:189:13:189:18 | call to source |
| set.cpp:207:7:207:9 | call to unordered_set | set.cpp:203:13:203:18 | call to source |
| set.cpp:210:7:210:9 | call to unordered_set | set.cpp:206:13:206:18 | call to source |
| set.cpp:213:7:213:9 | call to unordered_set | set.cpp:203:13:203:18 | call to source |
| set.cpp:216:7:216:9 | call to unordered_set | set.cpp:206:13:206:18 | call to source |
| set.cpp:222:7:222:9 | call to unordered_set | set.cpp:220:13:220:18 | call to source |
| set.cpp:222:7:222:9 | call to unordered_set | set.cpp:221:13:221:18 | call to source |
| set.cpp:223:11:223:15 | call to erase | set.cpp:220:13:220:18 | call to source |
| set.cpp:223:11:223:15 | call to erase | set.cpp:221:13:221:18 | call to source |
| set.cpp:224:7:224:9 | call to unordered_set | set.cpp:220:13:220:18 | call to source |
| set.cpp:224:7:224:9 | call to unordered_set | set.cpp:221:13:221:18 | call to source |
| set.cpp:226:7:226:9 | call to unordered_set | set.cpp:220:13:220:18 | call to source |
| set.cpp:226:7:226:9 | call to unordered_set | set.cpp:221:13:221:18 | call to source |
| smart_pointer.cpp:12:10:12:10 | call to operator* | smart_pointer.cpp:11:52:11:57 | call to source |
| smart_pointer.cpp:13:10:13:10 | p | smart_pointer.cpp:11:52:11:57 | call to source |
| smart_pointer.cpp:24:10:24:10 | call to operator* | smart_pointer.cpp:23:52:23:57 | call to source |

View File

@@ -104,6 +104,60 @@
| map.cpp:375:7:375:9 | map.cpp:370:49:370:54 | AST only |
| movableclass.cpp:65:11:65:11 | movableclass.cpp:65:13:65:18 | AST only |
| movableclass.cpp:65:11:65:21 | movableclass.cpp:65:13:65:18 | IR only |
| set.cpp:20:7:20:31 | set.cpp:20:17:20:22 | IR only |
| set.cpp:26:7:26:8 | set.cpp:20:17:20:22 | AST only |
| set.cpp:28:7:28:8 | set.cpp:22:29:22:34 | AST only |
| set.cpp:30:7:30:8 | set.cpp:20:17:20:22 | AST only |
| set.cpp:44:7:44:8 | set.cpp:20:17:20:22 | AST only |
| set.cpp:45:7:45:8 | set.cpp:20:17:20:22 | AST only |
| set.cpp:46:7:46:8 | set.cpp:20:17:20:22 | AST only |
| set.cpp:47:7:47:9 | set.cpp:20:17:20:22 | AST only |
| set.cpp:48:10:48:13 | set.cpp:20:17:20:22 | AST only |
| set.cpp:49:10:49:13 | set.cpp:20:17:20:22 | AST only |
| set.cpp:61:8:61:11 | set.cpp:20:17:20:22 | IR only |
| set.cpp:78:7:78:9 | set.cpp:76:13:76:18 | AST only |
| set.cpp:81:7:81:9 | set.cpp:77:13:77:18 | AST only |
| set.cpp:84:7:84:9 | set.cpp:76:13:76:18 | AST only |
| set.cpp:85:7:85:9 | set.cpp:76:13:76:18 | AST only |
| set.cpp:86:7:86:9 | set.cpp:77:13:77:18 | AST only |
| set.cpp:87:7:87:9 | set.cpp:77:13:77:18 | AST only |
| set.cpp:95:7:95:9 | set.cpp:91:13:91:18 | AST only |
| set.cpp:98:7:98:9 | set.cpp:94:13:94:18 | AST only |
| set.cpp:101:7:101:9 | set.cpp:91:13:91:18 | AST only |
| set.cpp:104:7:104:9 | set.cpp:94:13:94:18 | AST only |
| set.cpp:110:7:110:9 | set.cpp:108:13:108:18 | AST only |
| set.cpp:110:7:110:9 | set.cpp:109:13:109:18 | AST only |
| set.cpp:112:7:112:9 | set.cpp:108:13:108:18 | AST only |
| set.cpp:112:7:112:9 | set.cpp:109:13:109:18 | AST only |
| set.cpp:114:7:114:9 | set.cpp:108:13:108:18 | AST only |
| set.cpp:114:7:114:9 | set.cpp:109:13:109:18 | AST only |
| set.cpp:134:7:134:31 | set.cpp:134:17:134:22 | IR only |
| set.cpp:140:7:140:8 | set.cpp:134:17:134:22 | AST only |
| set.cpp:142:7:142:8 | set.cpp:136:29:136:34 | AST only |
| set.cpp:144:7:144:8 | set.cpp:134:17:134:22 | AST only |
| set.cpp:158:7:158:8 | set.cpp:134:17:134:22 | AST only |
| set.cpp:159:7:159:8 | set.cpp:134:17:134:22 | AST only |
| set.cpp:160:7:160:8 | set.cpp:134:17:134:22 | AST only |
| set.cpp:161:7:161:9 | set.cpp:134:17:134:22 | AST only |
| set.cpp:162:10:162:13 | set.cpp:134:17:134:22 | AST only |
| set.cpp:163:10:163:13 | set.cpp:134:17:134:22 | AST only |
| set.cpp:175:8:175:11 | set.cpp:134:17:134:22 | IR only |
| set.cpp:190:7:190:9 | set.cpp:188:13:188:18 | AST only |
| set.cpp:193:7:193:9 | set.cpp:189:13:189:18 | AST only |
| set.cpp:196:7:196:9 | set.cpp:188:13:188:18 | AST only |
| set.cpp:197:7:197:9 | set.cpp:188:13:188:18 | AST only |
| set.cpp:198:7:198:9 | set.cpp:189:13:189:18 | AST only |
| set.cpp:199:7:199:9 | set.cpp:189:13:189:18 | AST only |
| set.cpp:207:7:207:9 | set.cpp:203:13:203:18 | AST only |
| set.cpp:210:7:210:9 | set.cpp:206:13:206:18 | AST only |
| set.cpp:213:7:213:9 | set.cpp:203:13:203:18 | AST only |
| set.cpp:216:7:216:9 | set.cpp:206:13:206:18 | AST only |
| set.cpp:222:7:222:9 | set.cpp:220:13:220:18 | AST only |
| set.cpp:222:7:222:9 | set.cpp:221:13:221:18 | AST only |
| set.cpp:224:7:224:9 | set.cpp:220:13:220:18 | AST only |
| set.cpp:224:7:224:9 | set.cpp:221:13:221:18 | AST only |
| set.cpp:226:7:226:9 | set.cpp:220:13:220:18 | AST only |
| set.cpp:226:7:226:9 | set.cpp:221:13:221:18 | AST only |
| smart_pointer.cpp:12:10:12:10 | smart_pointer.cpp:11:52:11:57 | AST only |
| smart_pointer.cpp:24:10:24:10 | smart_pointer.cpp:23:52:23:57 | AST only |
| standalone_iterators.cpp:41:10:41:10 | standalone_iterators.cpp:39:45:39:51 | AST only |

View File

@@ -112,6 +112,28 @@
| movableclass.cpp:55:8:55:9 | s2 | movableclass.cpp:52:23:52:28 | call to source |
| movableclass.cpp:64:8:64:9 | s2 | movableclass.cpp:23:55:23:60 | call to source |
| movableclass.cpp:65:11:65:21 | (reference dereference) | movableclass.cpp:65:13:65:18 | call to source |
| set.cpp:20:7:20:31 | call to iterator | set.cpp:20:17:20:22 | call to source |
| set.cpp:22:10:22:15 | call to insert | set.cpp:22:29:22:34 | call to source |
| set.cpp:32:10:32:13 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:34:10:34:13 | call to find | set.cpp:22:29:22:34 | call to source |
| set.cpp:36:10:36:13 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:50:10:50:13 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:51:11:51:14 | call to find | set.cpp:20:17:20:22 | call to source |
| set.cpp:61:8:61:8 | call to operator* | set.cpp:20:17:20:22 | call to source |
| set.cpp:61:8:61:11 | (reference dereference) | set.cpp:20:17:20:22 | call to source |
| set.cpp:111:11:111:15 | call to erase | set.cpp:108:13:108:18 | call to source |
| set.cpp:111:11:111:15 | call to erase | set.cpp:109:13:109:18 | call to source |
| set.cpp:134:7:134:31 | call to iterator | set.cpp:134:17:134:22 | call to source |
| set.cpp:136:10:136:15 | call to insert | set.cpp:136:29:136:34 | call to source |
| set.cpp:146:10:146:13 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:148:10:148:13 | call to find | set.cpp:136:29:136:34 | call to source |
| set.cpp:150:10:150:13 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:164:10:164:13 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:165:11:165:14 | call to find | set.cpp:134:17:134:22 | call to source |
| set.cpp:175:8:175:8 | call to operator* | set.cpp:134:17:134:22 | call to source |
| set.cpp:175:8:175:11 | (reference dereference) | set.cpp:134:17:134:22 | call to source |
| set.cpp:223:11:223:15 | call to erase | set.cpp:220:13:220:18 | call to source |
| set.cpp:223:11:223:15 | call to erase | set.cpp:221:13:221:18 | call to source |
| smart_pointer.cpp:13:10:13:10 | Argument 0 indirection | smart_pointer.cpp:11:52:11:57 | call to source |
| smart_pointer.cpp:25:10:25:10 | Argument 0 indirection | smart_pointer.cpp:23:52:23:57 | call to source |
| smart_pointer.cpp:52:12:52:14 | call to get | smart_pointer.cpp:51:52:51:57 | call to source |