Commit Graph

13943 Commits

Author SHA1 Message Date
REDMOND\brodes
cf88e3f52d Crypto: Standardize naming where use of "family" and "type" have been used. Prefer 'type'. 2025-10-08 09:54:53 -04:00
Owen Mansel-Chan
0bcdb91639 Improve qhelp for broken crypto algo queries
Previously it focussed too much on the risk of data being decrypted,
and didn't explain why using weak algorithms is a problem in other
contexts.
2025-10-08 14:10:54 +01:00
Ian Lynagh
791a92b146 C++: Add a changenote for C/C++ BMN GA 2025-10-07 17:32:36 +01:00
Nicolas Will
378eb18db5 Merge branch 'main' into jca_signature_extensions 2025-10-06 14:50:15 +02:00
REDMOND\brodes
f4fea6d635 Crypto: Fix consistency update with "other" vs "unknown" naming convetions for openssl. 2025-10-03 12:10:48 -04:00
Anders Schack-Mulligen
fad49ffbfb C++: Accept qltest change (useless guard tautology removed). 2025-10-03 15:59:54 +02:00
Jeroen Ketema
7807804f4d Merge pull request #20573 from MathiasVP/fix-bad-magic-on-get-file
C++: Fix bad magic on `Element.getFile`
2025-10-03 01:21:32 +02:00
Nicolas Will
4901cdf929 Crypto: Refactor and change casts to super 2025-10-02 18:43:38 +02:00
Mathias Vorreiter Pedersen
bc0b87632d C++: Fix bad magic on Element.getFile when running on InconsistentCheckReturnNull.qll:
Evaluated non-recursive predicate Element::Element.getFile/0#dispred#536cb5f3#bb@f6f5329i in 182326ms (size: 50437).
Evaluated relational algebra for predicate Element::Element.getFile/0#dispred#536cb5f3#bb@f6f5329i with tuple counts:
           2029351   ~0%    {2} r1 = SCAN `Expr::Expr.getLocation/0#dispred#0a3d90c6` OUTPUT In.1, In.0
           2029351   ~0%    {2}    | JOIN WITH `Location::Location.getStartLine/0#d54f9e6c` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
           1168789   ~0%    {2}    | JOIN WITH `InconsistentCheckReturnNull::assertInvocation/2#b2a4c9e3_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
        5533128288   ~0%    {3}    | JOIN WITH `Location::Location.getContainer/0#9edabfb6_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
             50413   ~0%    {2}    | JOIN WITH `Element::Element.getLocation/0#dispred#6c3f5b09#bf` ON FIRST 2 OUTPUT Lhs.0, Lhs.2

              3043   ~0%    {2} r2 = JOIN `project#InconsistentCheckReturnNull::relevantFunctionCall/2#d18cd566` WITH `Expr::Expr.getLocation/0#dispred#0a3d90c6` ON FIRST 1 OUTPUT Rhs.1, Lhs.0

              3043   ~0%    {2} r3 = JOIN r2 WITH locations_default ON FIRST 1 OUTPUT Rhs.4, Lhs.1
              1945   ~3%    {2}    | JOIN WITH `InconsistentCheckReturnNull::assertInvocation/2#b2a4c9e3_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
           9106248   ~2%    {3}    | JOIN WITH `Location::Location.getContainer/0#9edabfb6_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
                 0   ~0%    {2}    | JOIN WITH `Element::Element.getLocation/0#dispred#6c3f5b09#bf` ON FIRST 2 OUTPUT Lhs.0, Lhs.2

              3043   ~0%    {3} r4 = JOIN r2 WITH locations_default ON FIRST 1 OUTPUT _, Lhs.1, Rhs.4
              3043   ~0%    {2}    | REWRITE WITH Tmp.0 := 1, Out.0 := (In.2 + Tmp.0) KEEPING 2
              2013   ~0%    {2}    | JOIN WITH `InconsistentCheckReturnNull::assertInvocation/2#b2a4c9e3_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
           9621327   ~0%    {3}    | JOIN WITH `Location::Location.getContainer/0#9edabfb6_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
                24   ~3%    {2}    | JOIN WITH `Element::Element.getLocation/0#dispred#6c3f5b09#bf` ON FIRST 2 OUTPUT Lhs.0, Lhs.2

             50437   ~0%    {2} r5 = r1 UNION r3 UNION r4
                            return r5
2025-10-02 17:36:21 +01:00
Ben Rodes
d251b3f9f7 Merge branch 'main' into signature_model_refactor 2025-10-02 09:02:34 -04:00
Mathias Vorreiter Pedersen
b0e9238ddf Merge branch 'main' into use-shared-guards-library 2025-10-01 11:59:17 +01:00
Mathias Vorreiter Pedersen
353ee8baa0 C++: Port a test from the experimental directory to show that it works in the non-experimental "new" range analysis. 2025-10-01 11:33:47 +01:00
Mathias Vorreiter Pedersen
ca53a8e787 C++: Update QLDoc. 2025-09-30 14:15:55 +01:00
Mathias Vorreiter Pedersen
1b2bd30a29 Update cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2025-09-30 14:14:19 +01:00
github-actions[bot]
a7a4e43991 Post-release preparation for codeql-cli-2.23.2 2025-09-29 15:10:19 +00:00
github-actions[bot]
d2130a589b Release preparation for version 2.23.2 2025-09-29 10:28:45 +00:00
Jeroen Ketema
9dfd87c284 Merge pull request #20514 from jketema/permissive
C++: Update tests after extractor changes
2025-09-28 16:56:31 +02:00
Mathias Vorreiter Pedersen
c1c1f60241 C++: Delete incorrect comment and add a bunch of barrier guard tests. 2025-09-25 12:56:46 +01:00
Mathias Vorreiter Pedersen
04ce4057e1 C++: Add more comments to describe the constant expression hack. 2025-09-25 12:43:57 +01:00
Mathias Vorreiter Pedersen
5b5c1de05b C++: Fix fan-out. 2025-09-25 12:33:44 +01:00
Jeroen Ketema
e41b5f2bc0 C++: Update tests after extractor changes 2025-09-25 09:52:22 +02:00
Mathias Vorreiter Pedersen
b169ccf29a C++: Fully delete TRange. 2025-09-25 08:30:42 +01:00
Mathias Vorreiter Pedersen
a07d03f49b C++: Use the 'StoreInstruction' instead of the 'ReturnValueInstruction' when detecting return expressions. 2025-09-24 20:09:35 +01:00
Mathias Vorreiter Pedersen
26a8a4b3d2 C++: Add failing test demonstrating broken wrapper barrier guards. 2025-09-24 19:54:05 +01:00
Mathias Vorreiter Pedersen
b2269fb5f5 C++: Add more tests. 2025-09-24 19:06:02 +01:00
Mathias Vorreiter Pedersen
d15e388f5c C++: Get rid of the case range constant value with and instead implement 'rangeGuard'. 2025-09-24 15:52:10 +01:00
Mathias Vorreiter Pedersen
13cde4d700 C++: Add testcase demonstrating that a ConstantValue IPA branch representing a gcc case range is a bad idea. 2025-09-24 15:34:35 +01:00
Mathias Vorreiter Pedersen
d10d5fd05e C++: Rename in the name of consistency. 2025-09-24 15:34:03 +01:00
Mathias Vorreiter Pedersen
99e1a07b8e C++: Add a comment to the 'ConditionalBranchInstruction' case in 'additionalImpliesStep. 2025-09-24 10:58:47 +01:00
Mathias Vorreiter Pedersen
2b47ac83e8 C++: Remove superfluous inference logic. 2025-09-24 10:51:45 +01:00
Mathias Vorreiter Pedersen
b3cbdb5c1a C++: Add QLDoc to TRange. 2025-09-24 10:39:27 +01:00
Simon Friis Vindum
7d6e2060e5 Adapt all languages to changes in shared library 2025-09-22 14:18:58 +02:00
Mathias Vorreiter Pedersen
c481be8ea7 C++: Accept test changes for tests that select all types of an expression. 2025-09-18 12:16:28 +01:00
Mathias Vorreiter Pedersen
a4dbee3b13 C++: Add change note. 2025-09-18 12:16:26 +01:00
Mathias Vorreiter Pedersen
e22d6656fe C++: Fix barrier guards. 2025-09-18 12:16:25 +01:00
Mathias Vorreiter Pedersen
d8f34dba17 C++: Do not use the deprecated predicate in queries. 2025-09-18 12:16:23 +01:00
Mathias Vorreiter Pedersen
5e82eb9b24 C++: Fixup queries which assumes that a guard is always an expression. 2025-09-18 12:16:21 +01:00
Mathias Vorreiter Pedersen
fbd877a118 C++: Delete a test. This is no longer useful when every expression is a guard condition. 2025-09-18 12:16:20 +01:00
Mathias Vorreiter Pedersen
2dc783d91f C++: Accept test changes. 2025-09-18 12:16:16 +01:00
Mathias Vorreiter Pedersen
0b81fbbb2b C++: Fixup tests. 2025-09-18 12:16:11 +01:00
Mathias Vorreiter Pedersen
9ed8b75c5d C++: Add a few helper predicates on 'Definition' which the guards library needs. 2025-09-18 11:05:55 +01:00
Mathias Vorreiter Pedersen
ac5233d19c C++: Lots of renamings. 2025-09-18 11:05:54 +01:00
Mathias Vorreiter Pedersen
840097f121 C++: Instantiate the shared guards library. 2025-09-18 11:05:52 +01:00
Mathias Vorreiter Pedersen
3a8f77d6f4 C++: Qualified import of cpp. 2025-09-18 11:05:50 +01:00
Mathias Vorreiter Pedersen
2b0b8402ce C++: Delete a bunch of predicates. Also set up things so that they work after instantiating the shared guards library. 2025-09-18 11:05:49 +01:00
Mathias Vorreiter Pedersen
f0f4311b65 C++: Sync identical files. 2025-09-18 11:05:47 +01:00
Mathias Vorreiter Pedersen
70a8364a38 C++: Add another convenience predicate on 'BinaryInstruction'. 2025-09-18 11:05:45 +01:00
Mathias Vorreiter Pedersen
19b8e0db9c C++: Add a few subclasses to 'EdgeKind'. 2025-09-18 11:05:43 +01:00
Mathias Vorreiter Pedersen
be8195ab7d C++: Do not rely on dataflow nodes when implement 'getAUse' and 'getAnIndirectUse'. This will solve a non-monotonic recursion issue later. 2025-09-18 11:05:39 +01:00
Mathias Vorreiter Pedersen
f47dd2bbc6 C++: Add a 'hasInputFromBlock' predicate. 2025-09-18 11:05:38 +01:00