|
| 1 | +#select |
| 2 | +| src/main.rs:10:5:10:22 | ...::read_to_string | src/main.rs:6:11:6:19 | file_name | src/main.rs:10:5:10:22 | ...::read_to_string | This path depends on a $@. | src/main.rs:6:11:6:19 | file_name | user-provided value | |
| 3 | +| src/main.rs:20:5:20:22 | ...::read_to_string | src/main.rs:14:36:14:44 | file_name | src/main.rs:20:5:20:22 | ...::read_to_string | This path depends on a $@. | src/main.rs:14:36:14:44 | file_name | user-provided value | |
| 4 | +| src/main.rs:45:5:45:22 | ...::read_to_string | src/main.rs:37:11:37:19 | file_path | src/main.rs:45:5:45:22 | ...::read_to_string | This path depends on a $@. | src/main.rs:37:11:37:19 | file_path | user-provided value | |
| 5 | +edges |
| 6 | +| src/main.rs:6:11:6:19 | file_name | src/main.rs:8:35:8:43 | file_name | provenance | | |
| 7 | +| src/main.rs:8:9:8:17 | file_path | src/main.rs:10:24:10:32 | file_path | provenance | | |
| 8 | +| src/main.rs:8:21:8:44 | ...::from(...) | src/main.rs:8:9:8:17 | file_path | provenance | | |
| 9 | +| src/main.rs:8:35:8:43 | file_name | src/main.rs:8:21:8:44 | ...::from(...) | provenance | MaD:3 | |
| 10 | +| src/main.rs:10:24:10:32 | file_path | src/main.rs:10:5:10:22 | ...::read_to_string | provenance | MaD:1 Sink:MaD:1 | |
| 11 | +| src/main.rs:14:36:14:44 | file_name | src/main.rs:19:35:19:43 | file_name | provenance | | |
| 12 | +| src/main.rs:19:9:19:17 | file_path | src/main.rs:20:24:20:32 | file_path | provenance | | |
| 13 | +| src/main.rs:19:21:19:44 | ...::from(...) | src/main.rs:19:9:19:17 | file_path | provenance | | |
| 14 | +| src/main.rs:19:35:19:43 | file_name | src/main.rs:19:21:19:44 | ...::from(...) | provenance | MaD:3 | |
| 15 | +| src/main.rs:20:24:20:32 | file_path | src/main.rs:20:5:20:22 | ...::read_to_string | provenance | MaD:1 Sink:MaD:1 | |
| 16 | +| src/main.rs:37:11:37:19 | file_path | src/main.rs:40:52:40:60 | file_path | provenance | | |
| 17 | +| src/main.rs:40:9:40:17 | file_path | src/main.rs:45:24:45:32 | file_path | provenance | | |
| 18 | +| src/main.rs:40:21:40:62 | public_path.join(...) | src/main.rs:40:9:40:17 | file_path | provenance | | |
| 19 | +| src/main.rs:40:38:40:61 | ...::from(...) | src/main.rs:40:21:40:62 | public_path.join(...) | provenance | MaD:2 | |
| 20 | +| src/main.rs:40:52:40:60 | file_path | src/main.rs:40:38:40:61 | ...::from(...) | provenance | MaD:3 | |
| 21 | +| src/main.rs:45:24:45:32 | file_path | src/main.rs:45:5:45:22 | ...::read_to_string | provenance | MaD:1 Sink:MaD:1 | |
| 22 | +models |
| 23 | +| 1 | Sink: lang:std; crate::fs::read_to_string; path-injection; Argument[0] | |
| 24 | +| 2 | Summary: lang:std; <crate::path::Path>::join; Argument[0]; ReturnValue; taint | |
| 25 | +| 3 | Summary: lang:std; <crate::path::PathBuf as crate::convert::From>::from; Argument[0]; ReturnValue; taint | |
| 26 | +nodes |
| 27 | +| src/main.rs:6:11:6:19 | file_name | semmle.label | file_name | |
| 28 | +| src/main.rs:8:9:8:17 | file_path | semmle.label | file_path | |
| 29 | +| src/main.rs:8:21:8:44 | ...::from(...) | semmle.label | ...::from(...) | |
| 30 | +| src/main.rs:8:35:8:43 | file_name | semmle.label | file_name | |
| 31 | +| src/main.rs:10:5:10:22 | ...::read_to_string | semmle.label | ...::read_to_string | |
| 32 | +| src/main.rs:10:24:10:32 | file_path | semmle.label | file_path | |
| 33 | +| src/main.rs:14:36:14:44 | file_name | semmle.label | file_name | |
| 34 | +| src/main.rs:19:9:19:17 | file_path | semmle.label | file_path | |
| 35 | +| src/main.rs:19:21:19:44 | ...::from(...) | semmle.label | ...::from(...) | |
| 36 | +| src/main.rs:19:35:19:43 | file_name | semmle.label | file_name | |
| 37 | +| src/main.rs:20:5:20:22 | ...::read_to_string | semmle.label | ...::read_to_string | |
| 38 | +| src/main.rs:20:24:20:32 | file_path | semmle.label | file_path | |
| 39 | +| src/main.rs:37:11:37:19 | file_path | semmle.label | file_path | |
| 40 | +| src/main.rs:40:9:40:17 | file_path | semmle.label | file_path | |
| 41 | +| src/main.rs:40:21:40:62 | public_path.join(...) | semmle.label | public_path.join(...) | |
| 42 | +| src/main.rs:40:38:40:61 | ...::from(...) | semmle.label | ...::from(...) | |
| 43 | +| src/main.rs:40:52:40:60 | file_path | semmle.label | file_path | |
| 44 | +| src/main.rs:45:5:45:22 | ...::read_to_string | semmle.label | ...::read_to_string | |
| 45 | +| src/main.rs:45:24:45:32 | file_path | semmle.label | file_path | |
| 46 | +subpaths |
| 47 | +testFailures |
| 48 | +| src/main.rs:14:36:14:44 | file_name | Unexpected result: Source | |
| 49 | +| src/main.rs:20:5:20:22 | ...::read_to_string | Unexpected result: Alert | |
| 50 | +| src/main.rs:50:38:50:56 | //... | Missing result: Source=remote5 | |
| 51 | +| src/main.rs:59:64:59:122 | //... | Missing result: Alert[rust/path-injection]=remote5 | |
0 commit comments