-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Rust: Update generated models for core and std #19440
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
fe3152b
to
499d224
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates the generated CodeQL models for Rust’s core and std libraries to reflect recent library and CodeQL changes.
- Regenerated the
inline-flow.expected
dataflow test to match updated model outputs and provenance distances. - Extended the stdlib alloc model with a new
String::from
conversion entry.
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.
File | Description |
---|---|
rust/ql/test/library-tests/dataflow/modeled/inline-flow.expected | Reordered and renumbered summaries for Result::unwrap , ptr::read , ptr::write , and adjusted MaD values for source edges. |
rust/ql/lib/codeql/rust/frameworks/stdlib/lang-alloc.model.yml | Added a manual model entry for <crate::string::String as crate::convert::From>::from . |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's difficult to review auto-generated changes like these, but the DCA run shows taint reach going up a little and nothing is broken. 👍
I agree. And as we scale things up it will make even less sense to try and manually verify them. I've merged |
This is just rerunning the model generator for
core
andstd
and adding a manual value flow summary forString::from
. I think that one might've been lost due to primitives not being extracted and hence method resolution now working ideally for builtins.