mirror of
https://github.com/github/codeql.git
synced 2026-05-02 04:05:14 +02:00
Rust: Change array element content type into a general collection
element type
This commit is contained in:
@@ -759,12 +759,17 @@ final class ReferenceContent extends Content, TReferenceContent {
|
||||
}
|
||||
|
||||
/**
|
||||
* An element in an array.
|
||||
* An element in a collection where we do not track the specific collection
|
||||
* type nor the placement of the element in the collection. Therefore the
|
||||
* collection should be one where the elements are reasonably homogeneous,
|
||||
* i.e., if one is tainted all elements are considered tainted.
|
||||
*
|
||||
* Examples include the elements of a set, array, vector, or stack.
|
||||
*/
|
||||
final class ArrayElementContent extends Content, TArrayElement {
|
||||
ArrayElementContent() { this = TArrayElement() }
|
||||
final class CollectionContent extends Content, TArrayElement {
|
||||
CollectionContent() { this = TArrayElement() }
|
||||
|
||||
override string toString() { result = "array[]" }
|
||||
override string toString() { result = "element" }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1086,19 +1091,19 @@ module RustDataFlow implements InputSig<Location> {
|
||||
)
|
||||
or
|
||||
exists(IndexExprCfgNode arr |
|
||||
c instanceof ArrayElementContent and
|
||||
c instanceof CollectionContent and
|
||||
node1.asExpr() = arr.getBase() and
|
||||
node2.asExpr() = arr
|
||||
)
|
||||
or
|
||||
exists(ForExprCfgNode for |
|
||||
c instanceof ArrayElementContent and
|
||||
c instanceof CollectionContent and
|
||||
node1.asExpr() = for.getIterable() and
|
||||
node2.asPat() = for.getPat()
|
||||
)
|
||||
or
|
||||
exists(SlicePatCfgNode pat |
|
||||
c instanceof ArrayElementContent and
|
||||
c instanceof CollectionContent and
|
||||
node1.asPat() = pat and
|
||||
node2.asPat() = pat.getAPat()
|
||||
)
|
||||
@@ -1178,7 +1183,7 @@ module RustDataFlow implements InputSig<Location> {
|
||||
node2.asExpr() = tuple
|
||||
)
|
||||
or
|
||||
c instanceof ArrayElementContent and
|
||||
c instanceof CollectionContent and
|
||||
node1.asExpr() =
|
||||
[
|
||||
node2.asExpr().(ArrayRepeatExprCfgNode).getRepeatOperand(),
|
||||
@@ -1188,7 +1193,7 @@ module RustDataFlow implements InputSig<Location> {
|
||||
tupleAssignment(node1, node2.(PostUpdateNode).getPreUpdateNode(), c)
|
||||
or
|
||||
exists(AssignmentExprCfgNode assignment, IndexExprCfgNode index |
|
||||
c instanceof ArrayElementContent and
|
||||
c instanceof CollectionContent and
|
||||
assignment.getLhs() = index and
|
||||
node1.asExpr() = assignment.getRhs() and
|
||||
node2.(PostUpdateNode).getPreUpdateNode().asExpr() = index.getBase()
|
||||
|
||||
@@ -44,7 +44,7 @@ module RustTaintTracking implements InputSig<Location, RustDataFlow> {
|
||||
// source is a collection.
|
||||
exists(SingletonContentSet cs |
|
||||
RustDataFlow::readStep(pred, cs, succ) and
|
||||
cs.getContent() instanceof ArrayElementContent
|
||||
cs.getContent() instanceof CollectionContent
|
||||
)
|
||||
or
|
||||
exists(FormatArgsExprCfgNode format | succ.asExpr() = format |
|
||||
@@ -64,7 +64,7 @@ module RustTaintTracking implements InputSig<Location, RustDataFlow> {
|
||||
predicate defaultImplicitTaintRead(Node::Node node, ContentSet cs) {
|
||||
exists(node) and
|
||||
exists(Content c | c = cs.(SingletonContentSet).getContent() |
|
||||
c instanceof ArrayElementContent or
|
||||
c instanceof CollectionContent or
|
||||
c instanceof ReferenceContent
|
||||
)
|
||||
}
|
||||
|
||||
@@ -514,26 +514,26 @@ storeStep
|
||||
| main.rs:306:41:306:41 | 2 | D | main.rs:306:14:306:43 | ...::D {...} |
|
||||
| main.rs:324:18:324:27 | source(...) | C | main.rs:323:14:325:5 | C {...} |
|
||||
| main.rs:326:27:326:27 | 2 | D | main.rs:326:14:326:29 | D {...} |
|
||||
| main.rs:344:17:344:17 | 1 | array[] | main.rs:344:16:344:33 | [...] |
|
||||
| main.rs:344:20:344:20 | 2 | array[] | main.rs:344:16:344:33 | [...] |
|
||||
| main.rs:344:23:344:32 | source(...) | array[] | main.rs:344:16:344:33 | [...] |
|
||||
| main.rs:348:17:348:26 | source(...) | array[] | main.rs:348:16:348:31 | [...; 10] |
|
||||
| main.rs:352:17:352:17 | 1 | array[] | main.rs:352:16:352:24 | [...] |
|
||||
| main.rs:352:20:352:20 | 2 | array[] | main.rs:352:16:352:24 | [...] |
|
||||
| main.rs:352:23:352:23 | 3 | array[] | main.rs:352:16:352:24 | [...] |
|
||||
| main.rs:358:17:358:17 | 1 | array[] | main.rs:358:16:358:33 | [...] |
|
||||
| main.rs:358:20:358:20 | 2 | array[] | main.rs:358:16:358:33 | [...] |
|
||||
| main.rs:358:23:358:32 | source(...) | array[] | main.rs:358:16:358:33 | [...] |
|
||||
| main.rs:363:17:363:17 | 1 | array[] | main.rs:363:16:363:24 | [...] |
|
||||
| main.rs:363:20:363:20 | 2 | array[] | main.rs:363:16:363:24 | [...] |
|
||||
| main.rs:363:23:363:23 | 3 | array[] | main.rs:363:16:363:24 | [...] |
|
||||
| main.rs:370:17:370:17 | 1 | array[] | main.rs:370:16:370:33 | [...] |
|
||||
| main.rs:370:20:370:20 | 2 | array[] | main.rs:370:16:370:33 | [...] |
|
||||
| main.rs:370:23:370:32 | source(...) | array[] | main.rs:370:16:370:33 | [...] |
|
||||
| main.rs:381:24:381:24 | 1 | array[] | main.rs:381:23:381:31 | [...] |
|
||||
| main.rs:381:27:381:27 | 2 | array[] | main.rs:381:23:381:31 | [...] |
|
||||
| main.rs:381:30:381:30 | 3 | array[] | main.rs:381:23:381:31 | [...] |
|
||||
| main.rs:384:18:384:27 | source(...) | array[] | main.rs:384:5:384:11 | [post] mut_arr |
|
||||
| main.rs:344:17:344:17 | 1 | element | main.rs:344:16:344:33 | [...] |
|
||||
| main.rs:344:20:344:20 | 2 | element | main.rs:344:16:344:33 | [...] |
|
||||
| main.rs:344:23:344:32 | source(...) | element | main.rs:344:16:344:33 | [...] |
|
||||
| main.rs:348:17:348:26 | source(...) | element | main.rs:348:16:348:31 | [...; 10] |
|
||||
| main.rs:352:17:352:17 | 1 | element | main.rs:352:16:352:24 | [...] |
|
||||
| main.rs:352:20:352:20 | 2 | element | main.rs:352:16:352:24 | [...] |
|
||||
| main.rs:352:23:352:23 | 3 | element | main.rs:352:16:352:24 | [...] |
|
||||
| main.rs:358:17:358:17 | 1 | element | main.rs:358:16:358:33 | [...] |
|
||||
| main.rs:358:20:358:20 | 2 | element | main.rs:358:16:358:33 | [...] |
|
||||
| main.rs:358:23:358:32 | source(...) | element | main.rs:358:16:358:33 | [...] |
|
||||
| main.rs:363:17:363:17 | 1 | element | main.rs:363:16:363:24 | [...] |
|
||||
| main.rs:363:20:363:20 | 2 | element | main.rs:363:16:363:24 | [...] |
|
||||
| main.rs:363:23:363:23 | 3 | element | main.rs:363:16:363:24 | [...] |
|
||||
| main.rs:370:17:370:17 | 1 | element | main.rs:370:16:370:33 | [...] |
|
||||
| main.rs:370:20:370:20 | 2 | element | main.rs:370:16:370:33 | [...] |
|
||||
| main.rs:370:23:370:32 | source(...) | element | main.rs:370:16:370:33 | [...] |
|
||||
| main.rs:381:24:381:24 | 1 | element | main.rs:381:23:381:31 | [...] |
|
||||
| main.rs:381:27:381:27 | 2 | element | main.rs:381:23:381:31 | [...] |
|
||||
| main.rs:381:30:381:30 | 3 | element | main.rs:381:23:381:31 | [...] |
|
||||
| main.rs:384:18:384:27 | source(...) | element | main.rs:384:5:384:11 | [post] mut_arr |
|
||||
| main.rs:396:35:396:61 | default_name | captured default_name | main.rs:396:35:396:61 | \|...\| ... |
|
||||
| main.rs:418:27:418:27 | 0 | Some | main.rs:418:22:418:28 | Some(...) |
|
||||
readStep
|
||||
@@ -600,20 +600,20 @@ readStep
|
||||
| main.rs:332:28:332:43 | D {...} | D | main.rs:332:41:332:41 | n |
|
||||
| main.rs:335:9:335:24 | C {...} | C | main.rs:335:22:335:22 | n |
|
||||
| main.rs:336:9:336:24 | D {...} | D | main.rs:336:22:336:22 | n |
|
||||
| main.rs:345:14:345:17 | arr1 | array[] | main.rs:345:14:345:20 | arr1[2] |
|
||||
| main.rs:349:14:349:17 | arr2 | array[] | main.rs:349:14:349:20 | arr2[4] |
|
||||
| main.rs:353:14:353:17 | arr3 | array[] | main.rs:353:14:353:20 | arr3[2] |
|
||||
| main.rs:359:15:359:18 | arr1 | array[] | main.rs:359:9:359:10 | n1 |
|
||||
| main.rs:364:15:364:18 | arr2 | array[] | main.rs:364:9:364:10 | n2 |
|
||||
| main.rs:372:9:372:17 | SlicePat | array[] | main.rs:372:10:372:10 | a |
|
||||
| main.rs:372:9:372:17 | SlicePat | array[] | main.rs:372:13:372:13 | b |
|
||||
| main.rs:372:9:372:17 | SlicePat | array[] | main.rs:372:16:372:16 | c |
|
||||
| main.rs:382:10:382:16 | mut_arr | array[] | main.rs:382:10:382:19 | mut_arr[1] |
|
||||
| main.rs:384:5:384:11 | mut_arr | array[] | main.rs:384:5:384:14 | mut_arr[1] |
|
||||
| main.rs:385:13:385:19 | mut_arr | array[] | main.rs:385:13:385:22 | mut_arr[1] |
|
||||
| main.rs:387:10:387:16 | mut_arr | array[] | main.rs:387:10:387:19 | mut_arr[0] |
|
||||
| main.rs:345:14:345:17 | arr1 | element | main.rs:345:14:345:20 | arr1[2] |
|
||||
| main.rs:349:14:349:17 | arr2 | element | main.rs:349:14:349:20 | arr2[4] |
|
||||
| main.rs:353:14:353:17 | arr3 | element | main.rs:353:14:353:20 | arr3[2] |
|
||||
| main.rs:359:15:359:18 | arr1 | element | main.rs:359:9:359:10 | n1 |
|
||||
| main.rs:364:15:364:18 | arr2 | element | main.rs:364:9:364:10 | n2 |
|
||||
| main.rs:372:9:372:17 | SlicePat | element | main.rs:372:10:372:10 | a |
|
||||
| main.rs:372:9:372:17 | SlicePat | element | main.rs:372:13:372:13 | b |
|
||||
| main.rs:372:9:372:17 | SlicePat | element | main.rs:372:16:372:16 | c |
|
||||
| main.rs:382:10:382:16 | mut_arr | element | main.rs:382:10:382:19 | mut_arr[1] |
|
||||
| main.rs:384:5:384:11 | mut_arr | element | main.rs:384:5:384:14 | mut_arr[1] |
|
||||
| main.rs:385:13:385:19 | mut_arr | element | main.rs:385:13:385:22 | mut_arr[1] |
|
||||
| main.rs:387:10:387:16 | mut_arr | element | main.rs:387:10:387:19 | mut_arr[0] |
|
||||
| main.rs:394:7:394:18 | TuplePat | tuple.0 | main.rs:394:8:394:11 | cond |
|
||||
| main.rs:394:7:394:18 | TuplePat | tuple.1 | main.rs:394:14:394:17 | name |
|
||||
| main.rs:394:23:394:27 | names | array[] | main.rs:394:7:394:18 | TuplePat |
|
||||
| main.rs:394:23:394:27 | names | element | main.rs:394:7:394:18 | TuplePat |
|
||||
| main.rs:396:35:396:61 | [post] \|...\| ... | captured default_name | main.rs:396:35:396:61 | [post] default_name |
|
||||
| main.rs:396:38:396:49 | this | captured default_name | main.rs:396:38:396:49 | default_name |
|
||||
|
||||
@@ -118,40 +118,40 @@ edges
|
||||
| main.rs:331:11:331:12 | s1 [C] | main.rs:332:9:332:24 | C {...} [C] | provenance | |
|
||||
| main.rs:332:9:332:24 | C {...} [C] | main.rs:332:22:332:22 | n | provenance | |
|
||||
| main.rs:332:22:332:22 | n | main.rs:332:53:332:53 | n | provenance | |
|
||||
| main.rs:344:9:344:12 | arr1 [array[]] | main.rs:345:14:345:17 | arr1 [array[]] | provenance | |
|
||||
| main.rs:344:16:344:33 | [...] [array[]] | main.rs:344:9:344:12 | arr1 [array[]] | provenance | |
|
||||
| main.rs:344:23:344:32 | source(...) | main.rs:344:16:344:33 | [...] [array[]] | provenance | |
|
||||
| main.rs:344:9:344:12 | arr1 [element] | main.rs:345:14:345:17 | arr1 [element] | provenance | |
|
||||
| main.rs:344:16:344:33 | [...] [element] | main.rs:344:9:344:12 | arr1 [element] | provenance | |
|
||||
| main.rs:344:23:344:32 | source(...) | main.rs:344:16:344:33 | [...] [element] | provenance | |
|
||||
| main.rs:345:9:345:10 | n1 | main.rs:346:10:346:11 | n1 | provenance | |
|
||||
| main.rs:345:14:345:17 | arr1 [array[]] | main.rs:345:14:345:20 | arr1[2] | provenance | |
|
||||
| main.rs:345:14:345:17 | arr1 [element] | main.rs:345:14:345:20 | arr1[2] | provenance | |
|
||||
| main.rs:345:14:345:20 | arr1[2] | main.rs:345:9:345:10 | n1 | provenance | |
|
||||
| main.rs:348:9:348:12 | arr2 [array[]] | main.rs:349:14:349:17 | arr2 [array[]] | provenance | |
|
||||
| main.rs:348:16:348:31 | [...; 10] [array[]] | main.rs:348:9:348:12 | arr2 [array[]] | provenance | |
|
||||
| main.rs:348:17:348:26 | source(...) | main.rs:348:16:348:31 | [...; 10] [array[]] | provenance | |
|
||||
| main.rs:348:9:348:12 | arr2 [element] | main.rs:349:14:349:17 | arr2 [element] | provenance | |
|
||||
| main.rs:348:16:348:31 | [...; 10] [element] | main.rs:348:9:348:12 | arr2 [element] | provenance | |
|
||||
| main.rs:348:17:348:26 | source(...) | main.rs:348:16:348:31 | [...; 10] [element] | provenance | |
|
||||
| main.rs:349:9:349:10 | n2 | main.rs:350:10:350:11 | n2 | provenance | |
|
||||
| main.rs:349:14:349:17 | arr2 [array[]] | main.rs:349:14:349:20 | arr2[4] | provenance | |
|
||||
| main.rs:349:14:349:17 | arr2 [element] | main.rs:349:14:349:20 | arr2[4] | provenance | |
|
||||
| main.rs:349:14:349:20 | arr2[4] | main.rs:349:9:349:10 | n2 | provenance | |
|
||||
| main.rs:358:9:358:12 | arr1 [array[]] | main.rs:359:15:359:18 | arr1 [array[]] | provenance | |
|
||||
| main.rs:358:16:358:33 | [...] [array[]] | main.rs:358:9:358:12 | arr1 [array[]] | provenance | |
|
||||
| main.rs:358:23:358:32 | source(...) | main.rs:358:16:358:33 | [...] [array[]] | provenance | |
|
||||
| main.rs:358:9:358:12 | arr1 [element] | main.rs:359:15:359:18 | arr1 [element] | provenance | |
|
||||
| main.rs:358:16:358:33 | [...] [element] | main.rs:358:9:358:12 | arr1 [element] | provenance | |
|
||||
| main.rs:358:23:358:32 | source(...) | main.rs:358:16:358:33 | [...] [element] | provenance | |
|
||||
| main.rs:359:9:359:10 | n1 | main.rs:360:14:360:15 | n1 | provenance | |
|
||||
| main.rs:359:15:359:18 | arr1 [array[]] | main.rs:359:9:359:10 | n1 | provenance | |
|
||||
| main.rs:370:9:370:12 | arr1 [array[]] | main.rs:371:11:371:14 | arr1 [array[]] | provenance | |
|
||||
| main.rs:370:16:370:33 | [...] [array[]] | main.rs:370:9:370:12 | arr1 [array[]] | provenance | |
|
||||
| main.rs:370:23:370:32 | source(...) | main.rs:370:16:370:33 | [...] [array[]] | provenance | |
|
||||
| main.rs:371:11:371:14 | arr1 [array[]] | main.rs:372:9:372:17 | SlicePat [array[]] | provenance | |
|
||||
| main.rs:372:9:372:17 | SlicePat [array[]] | main.rs:372:10:372:10 | a | provenance | |
|
||||
| main.rs:372:9:372:17 | SlicePat [array[]] | main.rs:372:13:372:13 | b | provenance | |
|
||||
| main.rs:372:9:372:17 | SlicePat [array[]] | main.rs:372:16:372:16 | c | provenance | |
|
||||
| main.rs:359:15:359:18 | arr1 [element] | main.rs:359:9:359:10 | n1 | provenance | |
|
||||
| main.rs:370:9:370:12 | arr1 [element] | main.rs:371:11:371:14 | arr1 [element] | provenance | |
|
||||
| main.rs:370:16:370:33 | [...] [element] | main.rs:370:9:370:12 | arr1 [element] | provenance | |
|
||||
| main.rs:370:23:370:32 | source(...) | main.rs:370:16:370:33 | [...] [element] | provenance | |
|
||||
| main.rs:371:11:371:14 | arr1 [element] | main.rs:372:9:372:17 | SlicePat [element] | provenance | |
|
||||
| main.rs:372:9:372:17 | SlicePat [element] | main.rs:372:10:372:10 | a | provenance | |
|
||||
| main.rs:372:9:372:17 | SlicePat [element] | main.rs:372:13:372:13 | b | provenance | |
|
||||
| main.rs:372:9:372:17 | SlicePat [element] | main.rs:372:16:372:16 | c | provenance | |
|
||||
| main.rs:372:10:372:10 | a | main.rs:373:18:373:18 | a | provenance | |
|
||||
| main.rs:372:13:372:13 | b | main.rs:374:18:374:18 | b | provenance | |
|
||||
| main.rs:372:16:372:16 | c | main.rs:375:18:375:18 | c | provenance | |
|
||||
| main.rs:384:5:384:11 | [post] mut_arr [array[]] | main.rs:385:13:385:19 | mut_arr [array[]] | provenance | |
|
||||
| main.rs:384:5:384:11 | [post] mut_arr [array[]] | main.rs:387:10:387:16 | mut_arr [array[]] | provenance | |
|
||||
| main.rs:384:18:384:27 | source(...) | main.rs:384:5:384:11 | [post] mut_arr [array[]] | provenance | |
|
||||
| main.rs:384:5:384:11 | [post] mut_arr [element] | main.rs:385:13:385:19 | mut_arr [element] | provenance | |
|
||||
| main.rs:384:5:384:11 | [post] mut_arr [element] | main.rs:387:10:387:16 | mut_arr [element] | provenance | |
|
||||
| main.rs:384:18:384:27 | source(...) | main.rs:384:5:384:11 | [post] mut_arr [element] | provenance | |
|
||||
| main.rs:385:9:385:9 | d | main.rs:386:10:386:10 | d | provenance | |
|
||||
| main.rs:385:13:385:19 | mut_arr [array[]] | main.rs:385:13:385:22 | mut_arr[1] | provenance | |
|
||||
| main.rs:385:13:385:19 | mut_arr [element] | main.rs:385:13:385:22 | mut_arr[1] | provenance | |
|
||||
| main.rs:385:13:385:22 | mut_arr[1] | main.rs:385:9:385:9 | d | provenance | |
|
||||
| main.rs:387:10:387:16 | mut_arr [array[]] | main.rs:387:10:387:19 | mut_arr[0] | provenance | |
|
||||
| main.rs:387:10:387:16 | mut_arr [element] | main.rs:387:10:387:19 | mut_arr[0] | provenance | |
|
||||
| main.rs:410:9:410:9 | s | main.rs:411:10:411:10 | s | provenance | |
|
||||
| main.rs:410:25:410:26 | source(...) | main.rs:410:9:410:9 | s | provenance | |
|
||||
nodes
|
||||
@@ -293,44 +293,44 @@ nodes
|
||||
| main.rs:332:9:332:24 | C {...} [C] | semmle.label | C {...} [C] |
|
||||
| main.rs:332:22:332:22 | n | semmle.label | n |
|
||||
| main.rs:332:53:332:53 | n | semmle.label | n |
|
||||
| main.rs:344:9:344:12 | arr1 [array[]] | semmle.label | arr1 [array[]] |
|
||||
| main.rs:344:16:344:33 | [...] [array[]] | semmle.label | [...] [array[]] |
|
||||
| main.rs:344:9:344:12 | arr1 [element] | semmle.label | arr1 [element] |
|
||||
| main.rs:344:16:344:33 | [...] [element] | semmle.label | [...] [element] |
|
||||
| main.rs:344:23:344:32 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:345:9:345:10 | n1 | semmle.label | n1 |
|
||||
| main.rs:345:14:345:17 | arr1 [array[]] | semmle.label | arr1 [array[]] |
|
||||
| main.rs:345:14:345:17 | arr1 [element] | semmle.label | arr1 [element] |
|
||||
| main.rs:345:14:345:20 | arr1[2] | semmle.label | arr1[2] |
|
||||
| main.rs:346:10:346:11 | n1 | semmle.label | n1 |
|
||||
| main.rs:348:9:348:12 | arr2 [array[]] | semmle.label | arr2 [array[]] |
|
||||
| main.rs:348:16:348:31 | [...; 10] [array[]] | semmle.label | [...; 10] [array[]] |
|
||||
| main.rs:348:9:348:12 | arr2 [element] | semmle.label | arr2 [element] |
|
||||
| main.rs:348:16:348:31 | [...; 10] [element] | semmle.label | [...; 10] [element] |
|
||||
| main.rs:348:17:348:26 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:349:9:349:10 | n2 | semmle.label | n2 |
|
||||
| main.rs:349:14:349:17 | arr2 [array[]] | semmle.label | arr2 [array[]] |
|
||||
| main.rs:349:14:349:17 | arr2 [element] | semmle.label | arr2 [element] |
|
||||
| main.rs:349:14:349:20 | arr2[4] | semmle.label | arr2[4] |
|
||||
| main.rs:350:10:350:11 | n2 | semmle.label | n2 |
|
||||
| main.rs:358:9:358:12 | arr1 [array[]] | semmle.label | arr1 [array[]] |
|
||||
| main.rs:358:16:358:33 | [...] [array[]] | semmle.label | [...] [array[]] |
|
||||
| main.rs:358:9:358:12 | arr1 [element] | semmle.label | arr1 [element] |
|
||||
| main.rs:358:16:358:33 | [...] [element] | semmle.label | [...] [element] |
|
||||
| main.rs:358:23:358:32 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:359:9:359:10 | n1 | semmle.label | n1 |
|
||||
| main.rs:359:15:359:18 | arr1 [array[]] | semmle.label | arr1 [array[]] |
|
||||
| main.rs:359:15:359:18 | arr1 [element] | semmle.label | arr1 [element] |
|
||||
| main.rs:360:14:360:15 | n1 | semmle.label | n1 |
|
||||
| main.rs:370:9:370:12 | arr1 [array[]] | semmle.label | arr1 [array[]] |
|
||||
| main.rs:370:16:370:33 | [...] [array[]] | semmle.label | [...] [array[]] |
|
||||
| main.rs:370:9:370:12 | arr1 [element] | semmle.label | arr1 [element] |
|
||||
| main.rs:370:16:370:33 | [...] [element] | semmle.label | [...] [element] |
|
||||
| main.rs:370:23:370:32 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:371:11:371:14 | arr1 [array[]] | semmle.label | arr1 [array[]] |
|
||||
| main.rs:372:9:372:17 | SlicePat [array[]] | semmle.label | SlicePat [array[]] |
|
||||
| main.rs:371:11:371:14 | arr1 [element] | semmle.label | arr1 [element] |
|
||||
| main.rs:372:9:372:17 | SlicePat [element] | semmle.label | SlicePat [element] |
|
||||
| main.rs:372:10:372:10 | a | semmle.label | a |
|
||||
| main.rs:372:13:372:13 | b | semmle.label | b |
|
||||
| main.rs:372:16:372:16 | c | semmle.label | c |
|
||||
| main.rs:373:18:373:18 | a | semmle.label | a |
|
||||
| main.rs:374:18:374:18 | b | semmle.label | b |
|
||||
| main.rs:375:18:375:18 | c | semmle.label | c |
|
||||
| main.rs:384:5:384:11 | [post] mut_arr [array[]] | semmle.label | [post] mut_arr [array[]] |
|
||||
| main.rs:384:5:384:11 | [post] mut_arr [element] | semmle.label | [post] mut_arr [element] |
|
||||
| main.rs:384:18:384:27 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:385:9:385:9 | d | semmle.label | d |
|
||||
| main.rs:385:13:385:19 | mut_arr [array[]] | semmle.label | mut_arr [array[]] |
|
||||
| main.rs:385:13:385:19 | mut_arr [element] | semmle.label | mut_arr [element] |
|
||||
| main.rs:385:13:385:22 | mut_arr[1] | semmle.label | mut_arr[1] |
|
||||
| main.rs:386:10:386:10 | d | semmle.label | d |
|
||||
| main.rs:387:10:387:16 | mut_arr [array[]] | semmle.label | mut_arr [array[]] |
|
||||
| main.rs:387:10:387:16 | mut_arr [element] | semmle.label | mut_arr [element] |
|
||||
| main.rs:387:10:387:19 | mut_arr[0] | semmle.label | mut_arr[0] |
|
||||
| main.rs:410:9:410:9 | s | semmle.label | s |
|
||||
| main.rs:410:25:410:26 | source(...) | semmle.label | source(...) |
|
||||
|
||||
@@ -97,22 +97,22 @@ edges
|
||||
| main.rs:138:9:138:9 | s | main.rs:139:29:139:29 | s | provenance | |
|
||||
| main.rs:138:13:138:21 | source(...) | main.rs:138:9:138:9 | s | provenance | |
|
||||
| main.rs:138:13:138:21 | source(...) | main.rs:138:9:138:9 | s | provenance | |
|
||||
| main.rs:139:28:139:30 | [...] [array[]] | main.rs:139:10:139:31 | get_array_element(...) | provenance | MaD:8 |
|
||||
| main.rs:139:28:139:30 | [...] [array[]] | main.rs:139:10:139:31 | get_array_element(...) | provenance | MaD:8 |
|
||||
| main.rs:139:29:139:29 | s | main.rs:139:28:139:30 | [...] [array[]] | provenance | |
|
||||
| main.rs:139:29:139:29 | s | main.rs:139:28:139:30 | [...] [array[]] | provenance | |
|
||||
| main.rs:139:28:139:30 | [...] [element] | main.rs:139:10:139:31 | get_array_element(...) | provenance | MaD:8 |
|
||||
| main.rs:139:28:139:30 | [...] [element] | main.rs:139:10:139:31 | get_array_element(...) | provenance | MaD:8 |
|
||||
| main.rs:139:29:139:29 | s | main.rs:139:28:139:30 | [...] [element] | provenance | |
|
||||
| main.rs:139:29:139:29 | s | main.rs:139:28:139:30 | [...] [element] | provenance | |
|
||||
| main.rs:148:9:148:9 | s | main.rs:149:33:149:33 | s | provenance | |
|
||||
| main.rs:148:9:148:9 | s | main.rs:149:33:149:33 | s | provenance | |
|
||||
| main.rs:148:13:148:21 | source(...) | main.rs:148:9:148:9 | s | provenance | |
|
||||
| main.rs:148:13:148:21 | source(...) | main.rs:148:9:148:9 | s | provenance | |
|
||||
| main.rs:149:9:149:11 | arr [array[]] | main.rs:150:10:150:12 | arr [array[]] | provenance | |
|
||||
| main.rs:149:9:149:11 | arr [array[]] | main.rs:150:10:150:12 | arr [array[]] | provenance | |
|
||||
| main.rs:149:15:149:34 | set_array_element(...) [array[]] | main.rs:149:9:149:11 | arr [array[]] | provenance | |
|
||||
| main.rs:149:15:149:34 | set_array_element(...) [array[]] | main.rs:149:9:149:11 | arr [array[]] | provenance | |
|
||||
| main.rs:149:33:149:33 | s | main.rs:149:15:149:34 | set_array_element(...) [array[]] | provenance | MaD:13 |
|
||||
| main.rs:149:33:149:33 | s | main.rs:149:15:149:34 | set_array_element(...) [array[]] | provenance | MaD:13 |
|
||||
| main.rs:150:10:150:12 | arr [array[]] | main.rs:150:10:150:15 | arr[0] | provenance | |
|
||||
| main.rs:150:10:150:12 | arr [array[]] | main.rs:150:10:150:15 | arr[0] | provenance | |
|
||||
| main.rs:149:9:149:11 | arr [element] | main.rs:150:10:150:12 | arr [element] | provenance | |
|
||||
| main.rs:149:9:149:11 | arr [element] | main.rs:150:10:150:12 | arr [element] | provenance | |
|
||||
| main.rs:149:15:149:34 | set_array_element(...) [element] | main.rs:149:9:149:11 | arr [element] | provenance | |
|
||||
| main.rs:149:15:149:34 | set_array_element(...) [element] | main.rs:149:9:149:11 | arr [element] | provenance | |
|
||||
| main.rs:149:33:149:33 | s | main.rs:149:15:149:34 | set_array_element(...) [element] | provenance | MaD:13 |
|
||||
| main.rs:149:33:149:33 | s | main.rs:149:15:149:34 | set_array_element(...) [element] | provenance | MaD:13 |
|
||||
| main.rs:150:10:150:12 | arr [element] | main.rs:150:10:150:15 | arr[0] | provenance | |
|
||||
| main.rs:150:10:150:12 | arr [element] | main.rs:150:10:150:15 | arr[0] | provenance | |
|
||||
| main.rs:159:9:159:9 | s | main.rs:160:14:160:14 | s | provenance | |
|
||||
| main.rs:159:9:159:9 | s | main.rs:160:14:160:14 | s | provenance | |
|
||||
| main.rs:159:13:159:22 | source(...) | main.rs:159:9:159:9 | s | provenance | |
|
||||
@@ -290,22 +290,22 @@ nodes
|
||||
| main.rs:138:13:138:21 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:139:10:139:31 | get_array_element(...) | semmle.label | get_array_element(...) |
|
||||
| main.rs:139:10:139:31 | get_array_element(...) | semmle.label | get_array_element(...) |
|
||||
| main.rs:139:28:139:30 | [...] [array[]] | semmle.label | [...] [array[]] |
|
||||
| main.rs:139:28:139:30 | [...] [array[]] | semmle.label | [...] [array[]] |
|
||||
| main.rs:139:28:139:30 | [...] [element] | semmle.label | [...] [element] |
|
||||
| main.rs:139:28:139:30 | [...] [element] | semmle.label | [...] [element] |
|
||||
| main.rs:139:29:139:29 | s | semmle.label | s |
|
||||
| main.rs:139:29:139:29 | s | semmle.label | s |
|
||||
| main.rs:148:9:148:9 | s | semmle.label | s |
|
||||
| main.rs:148:9:148:9 | s | semmle.label | s |
|
||||
| main.rs:148:13:148:21 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:148:13:148:21 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:149:9:149:11 | arr [array[]] | semmle.label | arr [array[]] |
|
||||
| main.rs:149:9:149:11 | arr [array[]] | semmle.label | arr [array[]] |
|
||||
| main.rs:149:15:149:34 | set_array_element(...) [array[]] | semmle.label | set_array_element(...) [array[]] |
|
||||
| main.rs:149:15:149:34 | set_array_element(...) [array[]] | semmle.label | set_array_element(...) [array[]] |
|
||||
| main.rs:149:9:149:11 | arr [element] | semmle.label | arr [element] |
|
||||
| main.rs:149:9:149:11 | arr [element] | semmle.label | arr [element] |
|
||||
| main.rs:149:15:149:34 | set_array_element(...) [element] | semmle.label | set_array_element(...) [element] |
|
||||
| main.rs:149:15:149:34 | set_array_element(...) [element] | semmle.label | set_array_element(...) [element] |
|
||||
| main.rs:149:33:149:33 | s | semmle.label | s |
|
||||
| main.rs:149:33:149:33 | s | semmle.label | s |
|
||||
| main.rs:150:10:150:12 | arr [array[]] | semmle.label | arr [array[]] |
|
||||
| main.rs:150:10:150:12 | arr [array[]] | semmle.label | arr [array[]] |
|
||||
| main.rs:150:10:150:12 | arr [element] | semmle.label | arr [element] |
|
||||
| main.rs:150:10:150:12 | arr [element] | semmle.label | arr [element] |
|
||||
| main.rs:150:10:150:15 | arr[0] | semmle.label | arr[0] |
|
||||
| main.rs:150:10:150:15 | arr[0] | semmle.label | arr[0] |
|
||||
| main.rs:159:9:159:9 | s | semmle.label | s |
|
||||
|
||||
@@ -14,8 +14,8 @@ edges
|
||||
| main.rs:38:23:38:29 | s[...] | main.rs:38:22:38:29 | &... [&ref] | provenance | |
|
||||
| main.rs:53:13:53:15 | arr | main.rs:54:14:54:19 | arr[1] | provenance | |
|
||||
| main.rs:53:19:53:28 | source(...) | main.rs:53:13:53:15 | arr | provenance | |
|
||||
| main.rs:69:9:69:12 | [post] arr2 [array[]] | main.rs:70:14:70:17 | arr2 | provenance | |
|
||||
| main.rs:69:19:69:28 | source(...) | main.rs:69:9:69:12 | [post] arr2 [array[]] | provenance | |
|
||||
| main.rs:69:9:69:12 | [post] arr2 [element] | main.rs:70:14:70:17 | arr2 | provenance | |
|
||||
| main.rs:69:19:69:28 | source(...) | main.rs:69:9:69:12 | [post] arr2 [element] | provenance | |
|
||||
nodes
|
||||
| main.rs:12:9:12:9 | a | semmle.label | a |
|
||||
| main.rs:12:13:12:22 | source(...) | semmle.label | source(...) |
|
||||
@@ -36,7 +36,7 @@ nodes
|
||||
| main.rs:53:13:53:15 | arr | semmle.label | arr |
|
||||
| main.rs:53:19:53:28 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:54:14:54:19 | arr[1] | semmle.label | arr[1] |
|
||||
| main.rs:69:9:69:12 | [post] arr2 [array[]] | semmle.label | [post] arr2 [array[]] |
|
||||
| main.rs:69:9:69:12 | [post] arr2 [element] | semmle.label | [post] arr2 [element] |
|
||||
| main.rs:69:19:69:28 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:70:14:70:17 | arr2 | semmle.label | arr2 |
|
||||
subpaths
|
||||
|
||||
Reference in New Issue
Block a user