mirror of
https://github.com/github/codeql.git
synced 2026-03-31 12:48:17 +02:00
Add (failing) test for MaD barrier guard
This commit is contained in:
@@ -4,6 +4,8 @@ edges
|
||||
| main.rs:21:13:21:21 | source(...) | main.rs:21:9:21:9 | s | provenance | |
|
||||
| main.rs:32:9:32:9 | s | main.rs:33:10:33:10 | s | provenance | |
|
||||
| main.rs:32:13:32:21 | source(...) | main.rs:32:9:32:9 | s | provenance | |
|
||||
| main.rs:44:9:44:9 | s | main.rs:46:14:46:14 | s | provenance | |
|
||||
| main.rs:44:13:44:21 | source(...) | main.rs:44:9:44:9 | s | provenance | |
|
||||
nodes
|
||||
| main.rs:17:10:17:18 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:21:9:21:9 | s | semmle.label | s |
|
||||
@@ -12,9 +14,13 @@ nodes
|
||||
| main.rs:32:9:32:9 | s | semmle.label | s |
|
||||
| main.rs:32:13:32:21 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:33:10:33:10 | s | semmle.label | s |
|
||||
| main.rs:44:9:44:9 | s | semmle.label | s |
|
||||
| main.rs:44:13:44:21 | source(...) | semmle.label | source(...) |
|
||||
| main.rs:46:14:46:14 | s | semmle.label | s |
|
||||
subpaths
|
||||
testFailures
|
||||
#select
|
||||
| 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(...) |
|
||||
| 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(...) |
|
||||
| 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(...) |
|
||||
| main.rs:46:14:46:14 | s | main.rs:44:13:44:21 | source(...) | main.rs:46:14:46:14 | s | $@ | main.rs:44:13:44:21 | source(...) | source(...) |
|
||||
|
||||
@@ -32,3 +32,17 @@ fn main() {
|
||||
let s = source(1);
|
||||
sink(s); // $ hasValueFlow=1
|
||||
}
|
||||
|
||||
fn verify_safe(s: &str) -> bool {
|
||||
match s {
|
||||
"dangerous" => false,
|
||||
_ => true,
|
||||
}
|
||||
}
|
||||
|
||||
fn with_barrier_guard() {
|
||||
let s = source(1);
|
||||
if verify_safe(s) {
|
||||
sink(s); // $ SPURIOUS: hasValueFlow=1
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user