File tree Expand file tree Collapse file tree 2 files changed +20
-0
lines changed
rust/ql/test/library-tests/dataflow/barrier Expand file tree Collapse file tree 2 files changed +20
-0
lines changed Original file line number Diff line number Diff line change 44| main.rs:21:13:21:21 | source(...) | main.rs:21:9:21:9 | s | provenance | |
55| main.rs:32:9:32:9 | s | main.rs:33:10:33:10 | s | provenance | |
66| main.rs:32:13:32:21 | source(...) | main.rs:32:9:32:9 | s | provenance | |
7+ | main.rs:44:9:44:9 | s | main.rs:46:14:46:14 | s | provenance | |
8+ | main.rs:44:13:44:21 | source(...) | main.rs:44:9:44:9 | s | provenance | |
79nodes
810| main.rs:17:10:17:18 | source(...) | semmle.label | source(...) |
911| main.rs:21:9:21:9 | s | semmle.label | s |
1214| main.rs:32:9:32:9 | s | semmle.label | s |
1315| main.rs:32:13:32:21 | source(...) | semmle.label | source(...) |
1416| main.rs:33:10:33:10 | s | semmle.label | s |
17+ | main.rs:44:9:44:9 | s | semmle.label | s |
18+ | main.rs:44:13:44:21 | source(...) | semmle.label | source(...) |
19+ | main.rs:46:14:46:14 | s | semmle.label | s |
1520subpaths
1621testFailures
1722#select
1823| 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(...) |
1924| 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(...) |
2025| 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(...) |
26+ | 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(...) |
Original file line number Diff line number Diff line change @@ -32,3 +32,17 @@ fn main() {
3232 let s = source ( 1 ) ;
3333 sink ( s) ; // $ hasValueFlow=1
3434}
35+
36+ fn verify_safe ( s : & str ) -> bool {
37+ match s {
38+ "dangerous" => false ,
39+ _ => true ,
40+ }
41+ }
42+
43+ fn with_barrier_guard ( ) {
44+ let s = source ( 1 ) ;
45+ if verify_safe ( s) {
46+ sink ( s) ; // $ SPURIOUS: hasValueFlow=1
47+ }
48+ }
You can’t perform that action at this time.
0 commit comments