Skip to content

Commit bb5bfda

Browse files
committed
Rust: Update the models.
1 parent 062fbf2 commit bb5bfda

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

rust/ql/lib/codeql/rust/frameworks/stdlib/core.model.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ extensions:
103103
- ["<_ as core::iter::traits::iterator::Iterator>::chain", "Argument[0]", "ReturnValue", "taint", "manual"]
104104
- ["<_ as core::iter::traits::iterator::Iterator>::take", "Argument[self]", "ReturnValue", "taint", "manual"]
105105
# Option
106-
- ["<core::option::Option>::map", "Argument[self]", "Argument[0].Parameter[0]", "taint", "manual"]
107-
- ["<core::option::Option>::map", "Argument[0].ReturnValue", "ReturnValue", "taint", "manual"]
106+
- ["<core::option::Option>::map", "Argument[self].Field[core::option::Option::Some(0)]", "Argument[0].Parameter[0]", "value", "manual"]
107+
- ["<core::option::Option>::map", "Argument[0].ReturnValue", "ReturnValue.Field[core::option::Option::Some(0)]", "value", "manual"]
108108
# Pin
109109
- ["<core::pin::Pin>::new", "Argument[0]", "ReturnValue.Field[core::pin::Pin::pointer]", "value", "manual"]
110110
# This model is not precise, but helps in cases where a `Pin` is implicitly dereferenced.

rust/ql/test/query-tests/security/CWE-117/LogInjection.expected

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,13 +96,13 @@ edges
9696
| main.rs:130:18:130:38 | MacroExpr | main.rs:130:9:130:16 | ...::_print | provenance | MaD:3 Sink:MaD:3 |
9797
| main.rs:131:19:131:49 | MacroExpr | main.rs:131:9:131:17 | ...::_eprint | provenance | MaD:2 Sink:MaD:2 |
9898
| main.rs:140:32:140:59 | ...: Option::<...> | main.rs:141:22:141:27 | o_path | provenance | |
99-
| main.rs:141:13:141:18 | m_path | main.rs:143:26:143:31 | m_path | provenance | |
100-
| main.rs:141:22:141:27 | o_path | main.rs:141:22:141:38 | o_path.map(...) | provenance | MaD:14 |
99+
| main.rs:141:13:141:18 | m_path [Some] | main.rs:143:26:143:31 | m_path [Some] | provenance | |
100+
| main.rs:141:22:141:27 | o_path | main.rs:141:22:141:38 | o_path.map(...) [Some] | provenance | MaD:14 |
101101
| main.rs:141:22:141:27 | o_path | main.rs:141:34:141:34 | ... | provenance | MaD:14 |
102-
| main.rs:141:22:141:38 | o_path.map(...) | main.rs:141:13:141:18 | m_path | provenance | |
102+
| main.rs:141:22:141:38 | o_path.map(...) [Some] | main.rs:141:13:141:18 | m_path [Some] | provenance | |
103103
| main.rs:141:34:141:34 | ... | main.rs:141:37:141:37 | x | provenance | |
104104
| main.rs:143:18:143:40 | MacroExpr | main.rs:143:9:143:16 | ...::_print | provenance | MaD:3 Sink:MaD:3 |
105-
| main.rs:143:26:143:31 | m_path | main.rs:143:26:143:40 | m_path.unwrap() | provenance | MaD:15 |
105+
| main.rs:143:26:143:31 | m_path [Some] | main.rs:143:26:143:40 | m_path.unwrap() | provenance | MaD:15 |
106106
| main.rs:143:26:143:40 | m_path.unwrap() | main.rs:143:18:143:40 | MacroExpr | provenance | |
107107
| main.rs:150:28:150:30 | get | main.rs:140:32:140:59 | ...: Option::<...> | provenance | Src:MaD:4 |
108108
models
@@ -119,7 +119,7 @@ models
119119
| 11 | Summary: <_ as core::iter::traits::iterator::Iterator>::nth; Argument[self].Reference.Element; ReturnValue.Field[core::option::Option::Some(0)]; value |
120120
| 12 | Summary: <alloc::string::String as core::ops::arith::Add>::add; Argument[0].Reference; ReturnValue; taint |
121121
| 13 | Summary: <alloc::vec::Vec as core::ops::deref::Deref>::deref; Argument[self].Reference.Element; ReturnValue.Reference.Element; value |
122-
| 14 | Summary: <core::option::Option>::map; Argument[self]; Argument[0].Parameter[0]; taint |
122+
| 14 | Summary: <core::option::Option>::map; Argument[self].Field[core::option::Option::Some(0)]; Argument[0].Parameter[0]; value |
123123
| 15 | Summary: <core::option::Option>::unwrap; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value |
124124
| 16 | Summary: <core::option::Option>::unwrap_or; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value |
125125
| 17 | Summary: <core::option::Option>::unwrap_or_default; Argument[self].Field[core::option::Option::Some(0)]; ReturnValue; value |
@@ -211,15 +211,15 @@ nodes
211211
| main.rs:131:9:131:17 | ...::_eprint | semmle.label | ...::_eprint |
212212
| main.rs:131:19:131:49 | MacroExpr | semmle.label | MacroExpr |
213213
| main.rs:140:32:140:59 | ...: Option::<...> | semmle.label | ...: Option::<...> |
214-
| main.rs:141:13:141:18 | m_path | semmle.label | m_path |
214+
| main.rs:141:13:141:18 | m_path [Some] | semmle.label | m_path [Some] |
215215
| main.rs:141:22:141:27 | o_path | semmle.label | o_path |
216-
| main.rs:141:22:141:38 | o_path.map(...) | semmle.label | o_path.map(...) |
216+
| main.rs:141:22:141:38 | o_path.map(...) [Some] | semmle.label | o_path.map(...) [Some] |
217217
| main.rs:141:34:141:34 | ... | semmle.label | ... |
218218
| main.rs:141:37:141:37 | x | semmle.label | x |
219219
| main.rs:143:9:143:16 | ...::_print | semmle.label | ...::_print |
220220
| main.rs:143:18:143:40 | MacroExpr | semmle.label | MacroExpr |
221-
| main.rs:143:26:143:31 | m_path | semmle.label | m_path |
221+
| main.rs:143:26:143:31 | m_path [Some] | semmle.label | m_path [Some] |
222222
| main.rs:143:26:143:40 | m_path.unwrap() | semmle.label | m_path.unwrap() |
223223
| main.rs:150:28:150:30 | get | semmle.label | get |
224224
subpaths
225-
| main.rs:141:22:141:27 | o_path | main.rs:141:34:141:34 | ... | main.rs:141:37:141:37 | x | main.rs:141:22:141:38 | o_path.map(...) |
225+
| main.rs:141:22:141:27 | o_path | main.rs:141:34:141:34 | ... | main.rs:141:37:141:37 | x | main.rs:141:22:141:38 | o_path.map(...) [Some] |

0 commit comments

Comments
 (0)