Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 2.1k
C++: Add summary models for openssl and sqlite#19492
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
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
0290b43de31595d6beb2a560ffc0bebc0773df647f1d31a38f82f1c8File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Uh oh!
There was an error while loading. Please reload this page.
Large diffs are not rendered by default.
Uh oh!
There was an error while loading. Please reload this page.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| --- | ||
| category: minorAnalysis | ||
| --- | ||
| * Added flow model for the `SQLite` and `OpenSSL` libraries. This may result in more alerts when running queries on codebases that use these libraries. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -13,6 +13,8 @@ private import semmle.code.cpp.ir.dataflow.internal.TaintTrackingImplSpecific | ||
| private import semmle.code.cpp.dataflow.new.TaintTracking as Tt | ||
| private import semmle.code.cpp.dataflow.new.DataFlow as Df | ||
| private import codeql.mad.modelgenerator.internal.ModelGeneratorImpl | ||
| private import semmle.code.cpp.models.interfaces.Taint as Taint | ||
| private import semmle.code.cpp.models.interfaces.DataFlow as DataFlow | ||
| /** | ||
| * Holds if `f` is a "private" function. | ||
| @@ -46,6 +48,19 @@ private predicate isUninterestingForModels(Callable api) { | ||
| or | ||
| api.isFromUninstantiatedTemplate(_) | ||
| or | ||
| // No need to generate models for functions modeled by hand in QL | ||
MathiasVP marked this conversation as resolved.
Uh oh!There was an error while loading. Please reload this page. | ||
| api instanceof Taint::TaintFunction | ||
| or | ||
| api instanceof DataFlow::DataFlowFunction | ||
| or | ||
| // Don't generate models for main functions | ||
| api.hasGlobalName("main") | ||
| or | ||
| // Don't generate models for system-provided functions. If we want to | ||
| // generate models for these we should use a database containing the | ||
| // implementations of those system-provided functions in the source root. | ||
| not exists(api.getLocation().getFile().getRelativePath()) | ||
| or | ||
| // Exclude functions in test directories (but not the ones in the CodeQL test directory) | ||
| exists(Cpp::File f | | ||
| f = api.getFile() and | ||
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.