Skip to content

Commit 93c6560

Browse files
committed
Add test for MaD barriers
1 parent e86ce8f commit 93c6560

File tree

4 files changed

+19
-23
lines changed

4 files changed

+19
-23
lines changed
Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,20 @@
11
models
22
edges
3-
| main.rs:9:13:9:19 | ...: ... | main.rs:10:11:10:11 | s | provenance | |
4-
| main.rs:10:11:10:11 | s | main.rs:12:9:12:9 | s | provenance | |
5-
| main.rs:12:9:12:9 | s | main.rs:9:30:14:1 | { ... } | provenance | |
63
| main.rs:21:9:21:9 | s | main.rs:22:10:22:10 | s | provenance | |
74
| main.rs:21:13:21:21 | source(...) | main.rs:21:9:21:9 | s | provenance | |
8-
| main.rs:26:9:26:9 | s | main.rs:27:22:27:22 | s | provenance | |
9-
| main.rs:26:13:26:21 | source(...) | main.rs:26:9:26:9 | s | provenance | |
10-
| main.rs:27:9:27:9 | s | main.rs:28:10:28:10 | s | provenance | |
11-
| main.rs:27:13:27:23 | sanitize(...) | main.rs:27:9:27:9 | s | provenance | |
12-
| main.rs:27:22:27:22 | s | main.rs:9:13:9:19 | ...: ... | provenance | |
13-
| main.rs:27:22:27:22 | s | main.rs:27:13:27:23 | sanitize(...) | provenance | |
145
| main.rs:32:9:32:9 | s | main.rs:33:10:33:10 | s | provenance | |
156
| main.rs:32:13:32:21 | source(...) | main.rs:32:9:32:9 | s | provenance | |
167
nodes
17-
| main.rs:9:13:9:19 | ...: ... | semmle.label | ...: ... |
18-
| main.rs:9:30:14:1 | { ... } | semmle.label | { ... } |
19-
| main.rs:10:11:10:11 | s | semmle.label | s |
20-
| main.rs:12:9:12:9 | s | semmle.label | s |
218
| main.rs:17:10:17:18 | source(...) | semmle.label | source(...) |
229
| main.rs:21:9:21:9 | s | semmle.label | s |
2310
| main.rs:21:13:21:21 | source(...) | semmle.label | source(...) |
2411
| main.rs:22:10:22:10 | s | semmle.label | s |
25-
| main.rs:26:9:26:9 | s | semmle.label | s |
26-
| main.rs:26:13:26:21 | source(...) | semmle.label | source(...) |
27-
| main.rs:27:9:27:9 | s | semmle.label | s |
28-
| main.rs:27:13:27:23 | sanitize(...) | semmle.label | sanitize(...) |
29-
| main.rs:27:22:27:22 | s | semmle.label | s |
30-
| main.rs:28:10:28:10 | s | semmle.label | s |
3112
| main.rs:32:9:32:9 | s | semmle.label | s |
3213
| main.rs:32:13:32:21 | source(...) | semmle.label | source(...) |
3314
| main.rs:33:10:33:10 | s | semmle.label | s |
3415
subpaths
35-
| main.rs:27:22:27:22 | s | main.rs:9:13:9:19 | ...: ... | main.rs:9:30:14:1 | { ... } | main.rs:27:13:27:23 | sanitize(...) |
3616
testFailures
3717
#select
3818
| main.rs:17:10:17:18 | source(...) | main.rs:17:10:17:18 | source(...) | main.rs:17:10:17:18 | source(...) | $@ | main.rs:17:10:17:18 | source(...) | source(...) |
3919
| main.rs:22:10:22:10 | s | main.rs:21:13:21:21 | source(...) | main.rs:22:10:22:10 | s | $@ | main.rs:21:13:21:21 | source(...) | source(...) |
40-
| main.rs:28:10:28:10 | s | main.rs:26:13:26:21 | source(...) | main.rs:28:10:28:10 | s | $@ | main.rs:26:13:26:21 | source(...) | source(...) |
4120
| main.rs:33:10:33:10 | s | main.rs:32:13:32:21 | source(...) | main.rs:33:10:33:10 | s | $@ | main.rs:32:13:32:21 | source(...) | source(...) |
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
extensions:
2+
- addsTo:
3+
pack: codeql/rust-all
4+
extensible: barrierModel
5+
data:
6+
- ["main::sanitize", "ReturnValue", "test-barrier", "manual"]

rust/ql/test/library-tests/dataflow/barrier/inline-flow.ql

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,19 @@
33
*/
44

55
import rust
6+
import codeql.rust.dataflow.DataFlow
7+
import codeql.rust.dataflow.FlowBarrier
68
import utils.test.InlineFlowTest
7-
import DefaultFlowTest
9+
10+
module CustomConfig implements DataFlow::ConfigSig {
11+
predicate isSource = DefaultFlowConfig::isSource/1;
12+
13+
predicate isSink = DefaultFlowConfig::isSink/1;
14+
15+
predicate isBarrier(DataFlow::Node n) { barrierNode(n, "test-barrier") }
16+
}
17+
18+
import FlowTest<CustomConfig, CustomConfig>
819
import TaintFlow::PathGraph
920

1021
from TaintFlow::PathNode source, TaintFlow::PathNode sink

rust/ql/test/library-tests/dataflow/barrier/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ fn through_variable() {
2525
fn with_barrier() {
2626
let s = source(1);
2727
let s = sanitize(s);
28-
sink(s); // $ SPURIOUS: hasValueFlow=1
28+
sink(s);
2929
}
3030

3131
fn main() {

0 commit comments

Comments
 (0)