Skip to content

Commit 038b8b5

Browse files
committed
Rust: Add a missing model for std::io.
1 parent 3104dba commit 038b8b5

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,4 @@ extensions:
3636
- ["lang:std", "crate::io::Read::chain", "Argument[0]", "ReturnValue", "taint", "manual"]
3737
- ["lang:std", "crate::io::Read::take", "Argument[self]", "ReturnValue", "taint", "manual"]
3838
- ["lang:std", "<crate::io::stdio::Stdin>::lock", "Argument[self]", "ReturnValue", "taint", "manual"]
39+
- ["lang:std", "<crate::io::Split as crate::iter::traits::iterator::Iterator>::next", "Argument[self]", "ReturnValue.Field[crate::option::Option::Some(0)].Field[crate::result::Result::Ok(0)]", "taint", "manual"]

rust/ql/test/library-tests/dataflow/sources/test.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ fn test_io_stdin() -> std::io::Result<()> {
270270

271271
{
272272
let mut reader_split = std::io::BufReader::new(std::io::stdin()).split(b','); // $ Alert[rust/summary/taint-sources]
273-
sink(reader_split.next().unwrap().unwrap()); // $ MISSING: hasTaintFlow
273+
sink(reader_split.next().unwrap().unwrap()); // $ hasTaintFlow
274274
while let Some(chunk) = reader_split.next() {
275275
sink(chunk.unwrap()); // $ MISSING: hasTaintFlow
276276
}

0 commit comments

Comments
 (0)