Commit Graph

13518 Commits

Author SHA1 Message Date
REDMOND\brodes
309ad461a5 Quantum/Crypto: Adding Random.qll for OpenSSL into the general imports for the OpenSSL.qll model. 2025-05-19 10:56:17 -04:00
REDMOND\brodes
74271e4a17 Quantum/Crypto: To avoid ambiguity, altered OpenSSL EVP_Update_Call and EVP_Final_Call used for ciphers to explicitly say "Cipher", e.g., EVP_Cipher_Update_Call. This is also consistent with the new analogous digest operations. 2025-05-19 10:44:39 -04:00
REDMOND\brodes
97124745ad Quantum/Crypto:Adding interemediate hashing to the openssl (e.g., modeling final and update digest separately). 2025-05-19 10:43:32 -04:00
Jeroen Ketema
dfbe08d14c Merge pull request #19518 from jketema/depr
C++/Swift: delete outdated deprecations
2025-05-19 14:39:13 +02:00
Mathias Vorreiter Pedersen
adb74105fd Merge pull request #19511 from MathiasVP/as-expr-array-aggregate-literal
C++: Make `node.asExpr() instanceof ArrayAggregateLiteral` satisfiable
2025-05-19 12:47:28 +01:00
Napalys Klicius
673655e093 added change notes 2025-05-19 13:29:40 +02:00
Napalys Klicius
703aec1990 cpp: removed now unused predicate commandLineArg 2025-05-19 13:27:26 +02:00
Napalys Klicius
c74321a2ee all: used Erik's script to delete outdated deprecations 2025-05-19 13:26:08 +02:00
Jeroen Ketema
93517020ae Merge pull request #19515 from jketema/depr-rewrite
C++: Do not use deprecated `hasLocationInfo` in `FlowTestCommon`
2025-05-19 12:43:50 +02:00
Jeroen Ketema
757a4877e0 C++: Do not use deprecated hasLocationInfo in FlowTestCommon 2025-05-19 11:10:29 +02:00
Mathew Payne
9d2b46e3cd Merge branch 'main' into cpp-wmain 2025-05-19 08:52:56 +01:00
Mathias Vorreiter Pedersen
ff11aaf2bb C++: Accept query test 'toString' improvements. 2025-05-16 21:01:55 +01:00
Mathias Vorreiter Pedersen
0eb55779fb C++: Add change note. 2025-05-16 20:30:21 +01:00
Mathias Vorreiter Pedersen
ced1d580df C++: Accept test changes. 2025-05-16 20:14:10 +01:00
Mathias Vorreiter Pedersen
8e005a65bf C++: Fix missing 'asExpr' for array aggregate literals. 2025-05-16 20:12:58 +01:00
Mathew Payne
bbce0d0c65 Update cpp/ql/lib/semmle/code/cpp/security/FlowSources.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2025-05-16 18:55:00 +01:00
GeekMasher
94fe9b692f feat(cpp): Add change notes 2025-05-16 18:35:50 +01:00
Mathias Vorreiter Pedersen
d7e07b0b2d Merge pull request #19492 from MathiasVP/add-cpp-models
C++: Add summary models for `openssl` and `sqlite`
2025-05-16 18:33:56 +01:00
Mathew Payne
c79a724f5d feat(cpp): Update FlowSources to add wmain 2025-05-16 18:21:44 +01:00
REDMOND\brodes
34f5e4e0c8 Adding cipher update modeling (model flow through update to final) 2025-05-16 11:23:19 -04:00
Jeroen Ketema
5db797ec88 Merge pull request #19508 from jketema/options
C++: Minor cleanup of qltest options
2025-05-16 15:46:35 +02:00
Mathias Vorreiter Pedersen
f82f1c84f3 C++: Accept test changes. 2025-05-16 14:14:46 +01:00
Jeroen Ketema
55f8cb7935 C++: Drop --clang_vector_types option
The types are already enabled through the specfied gcc version.
2025-05-16 15:12:06 +02:00
Jeroen Ketema
9d5a465e9d C++: Remove unused options file 2025-05-16 15:11:40 +02:00
Mathias Vorreiter Pedersen
1d31a38362 C++: Regenerate the models for OpenSSL and sqlite after excluding tests in model-generation (sqlite is unaffected). 2025-05-16 13:53:16 +01:00
Mathias Vorreiter Pedersen
03d6633d41 Merge pull request #19501 from MathiasVP/as-expr-class-aggregate-literal
C++: Make `node.asExpr() instanceof ClassAggregateLiteral` satisfiable
2025-05-16 13:49:03 +01:00
Mathias Vorreiter Pedersen
3df647f205 C++: Add change note. 2025-05-16 13:37:07 +01:00
Mathias Vorreiter Pedersen
bebc077c9e C++: Accept test changes. 2025-05-16 13:37:02 +01:00
Mathias Vorreiter Pedersen
560ffc0e9b C++: Regenerate the models for OpenSSL and sqlite after model-generation changes. 2025-05-16 13:33:59 +01:00
Mathias Vorreiter Pedersen
d6beb2a6a0 C++: Don't generate models for stuff we have modeled in Ql by hand. 2025-05-16 13:33:54 +01:00
Mathias Vorreiter Pedersen
de31595cd2 C++: Add generated sqlite models. 2025-05-16 13:32:01 +01:00
Mathias Vorreiter Pedersen
0290b4369c C++: Add generated OpenSSL models. 2025-05-16 13:31:59 +01:00
Mathias Vorreiter Pedersen
cadcb202e2 Merge pull request #19500 from MathiasVP/always-apply-manual-models-when-resolving-calls
C++: Update static call target resolution semantics in dataflow
2025-05-16 13:28:01 +01:00
Mathias Vorreiter Pedersen
e11ab0f125 Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-16 12:06:25 +01:00
Mathias Vorreiter Pedersen
d31ddad832 C++: Small refactoring. 2025-05-15 18:04:57 +01:00
Mathias Vorreiter Pedersen
f731d0e630 C++: Add change note. 2025-05-15 17:39:51 +01:00
Mathias Vorreiter Pedersen
c3c6bb6e60 C++: Accept test changes. 2025-05-15 17:23:35 +01:00
Mathias Vorreiter Pedersen
783560cff6 C++: Add a subclass of PostUpdateNodes and ensure that 'node.asExpr() instanceof ClassAggregateLiteral' holds for this new node subclass. 2025-05-15 17:23:32 +01:00
Mathias Vorreiter Pedersen
0f21075722 C++: Add a test that demonstrate missing asExpr for aggregate literals. 2025-05-15 17:18:55 +01:00
Mathias Vorreiter Pedersen
e75dcd27f5 C++: Accept test changes. 2025-05-15 15:28:13 +01:00
Mathias Vorreiter Pedersen
69a1a87aa4 C++: Update semantics of picking the static call target in dataflow. 2025-05-15 15:25:29 +01:00
Mathias Vorreiter Pedersen
c6df9505c0 C++: Add tests to exercise the upcoming behavior of function dispatch when there are model-generated summaries AND source definitions. 2025-05-15 15:05:17 +01:00
Mathias Vorreiter Pedersen
e80c3b5c0b C++: Exclude tests (by matching paths) in model generation. 2025-05-15 13:24:32 +01:00
Jeroen Ketema
401281331f C++: Fix IR edge case where there are no function calls taking an argument 2025-05-14 13:44:29 +02:00
Jeroen Ketema
96bd9a96e5 C++: Add test case for IR edge case 2025-05-14 13:36:52 +02:00
Mathias Vorreiter Pedersen
e903d76fa0 Merge pull request #19443 from MathiasVP/generate-more-value-preserving-summaries-2
Shared: Generate more value-preserving flow summaries
2025-05-14 09:12:28 +01:00
github-actions[bot]
5f9dd75d7d Post-release preparation for codeql-cli-2.21.3 2025-05-13 21:49:43 +00:00
github-actions[bot]
2de4a01c86 Release preparation for version 2.21.3 2025-05-13 21:14:27 +00:00
Mathias Vorreiter Pedersen
fa7942393d Merge pull request #19477 from MathiasVP/fix-infinite-range-analysis-on-incomplete-ssa
C++: Fix infinite range analysis loop on invalid SSA
2025-05-13 16:59:11 +01:00
Mathias Vorreiter Pedersen
f255fc2fd5 C++: Drive-by join order fix. Before:
```
Evaluated relational algebra for predicate SsaInternals::getDefImpl/1#1ed4f567@65628fbv with tuple counts:
          4935102  ~5%    {4} r1 = SCAN `SsaInternals::SsaImpl::Definition.definesAt/3#dispred#7eea4c8f` OUTPUT In.2, In.3, In.0, In.1
        104274503  ~1%    {3}    | JOIN WITH `SsaInternals::DefImpl.hasIndexInBlock/2#dispred#30a6c29f_120#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.3, Lhs.2
          4921319  ~2%    {2}    | JOIN WITH `SsaInternals::DefImpl.getSourceVariable/0#dispred#72437659` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
                          return r1
```
After:
```
Evaluated relational algebra for predicate SsaInternals::SsaImpl::Definition.definesAt/3#dispred#7eea4c8f_1230#join_rhs@b280fb5h with tuple counts:
        4935102  ~3%    {4} r1 = SCAN `SsaInternals::SsaImpl::Definition.definesAt/3#dispred#7eea4c8f` OUTPUT In.1, In.2, In.3, In.0
                        return r1

Evaluated relational algebra for predicate SsaInternals::DefImpl.hasIndexInBlock/3#dispred#31d295aa_1230#join_rhs@2be655s4 with tuple counts:
        5634706  ~1%    {4} r1 = SCAN `SsaInternals::DefImpl.hasIndexInBlock/3#dispred#31d295aa` OUTPUT In.1, In.2, In.3, In.0
                        return r1

Evaluated relational algebra for predicate SsaInternals::getDefImpl/1#1ed4f567@8afa36uu with tuple counts:
        4921319  ~2%    {2} r1 = JOIN `SsaInternals::SsaImpl::Definition.definesAt/3#dispred#7eea4c8f_1230#join_rhs` WITH `SsaInternals::DefImpl.hasIndexInBlock/3#dispred#31d295aa_1230#join_rhs` ON FIRST 3 OUTPUT Lhs.3, Rhs.3
                        return r1
```
2025-05-13 14:21:28 +01:00