Mathias Vorreiter Pedersen
bfc494c0e1
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll
...
Co-authored-by: Taus <tausbn@github.com >
2025-04-11 12:43:51 +01:00
Mathias Vorreiter Pedersen
3bb249f580
C++: Ensure we always have 'Position's even if there are no calls in the DB.
2025-04-10 14:28:40 +01:00
Mathias Vorreiter Pedersen
b678112f4d
C++: Add a few predicates to 'ReturnKind'.
2025-04-10 14:28:38 +01:00
Mathias Vorreiter Pedersen
960e9900af
C++: Move the 'getArgumentIndex' into the abstract 'Position' class. It is implemented in all subclasses anyway.
2025-04-10 14:28:36 +01:00
Mathias Vorreiter Pedersen
94e08e318d
C++: Expose a few predicates from 'ExternalFlow'.
2025-04-10 14:18:47 +01:00
Nicolas Will
b9d0abda63
Move CipherOperation into KeyOperation, refactor
...
- KeyOperation and Algorithm now encompasses encryption, decryption, wrapping, unwrapping, signing, and verifying.
- Removed elliptic curve implementation from JCA.qll pending rewrite
- Removed JCAAlgorithmInstance abstraction from JCA.qll
- Cleaned up and removed JCA-specific naming from Model.qll
- Added and clarified documentation
2025-04-09 21:19:00 +02:00
idrissrio
14a84c3209
C++: update expected test results after extractor changes
2025-04-02 15:20:06 +02:00
Arthur Baars
0e23b86bf5
Merge pull request #19182 from github/post-release-prep/codeql-cli-2.21.0
...
Post-release preparation for codeql-cli-2.21.0
2025-04-01 15:12:29 +02:00
github-actions[bot]
10205cb990
Post-release preparation for codeql-cli-2.21.0
2025-04-01 11:30:43 +00:00
Idriss Riouak
1ebce01c95
Merge pull request #19159 from github/idrissrio/calling-conventions
...
C++: Add class representing calling conventions
2025-04-01 10:31:16 +02:00
idrissrio
d61d9730c8
C++: add change note for calling conventions
2025-04-01 09:53:36 +02:00
github-actions[bot]
84f6564cc0
Release preparation for version 2.21.0
2025-03-31 17:35:15 +00:00
idrissrio
9ec7f3c9a5
C++: add test for calling conventions
2025-03-31 17:45:44 +02:00
idrissrio
f83f14bab2
C++: add calling convention specifier class
2025-03-31 17:44:56 +02:00
Anders Schack-Mulligen
a6a694dec6
C++: Use DataFlowIntegration in IteratorFlow.
2025-03-31 10:49:43 +02:00
Anders Schack-Mulligen
aaa7e4cf95
C++: Def is only used in defToNode, which doesn't include phi reads nodes.
2025-03-31 10:49:43 +02:00
Anders Schack-Mulligen
133f08784f
C++: Eliminate dead code, uncertain is always false.
2025-03-31 10:49:42 +02:00
Anders Schack-Mulligen
a8b19d2b21
Merge pull request #19147 from aschackmull/ssa/writedef-source-refactor
...
Ssa: Refactor data flow integration to make the input signature simpler
2025-03-31 10:07:09 +02:00
Jeroen Ketema
86ecef6481
Merge pull request #19144 from jketema/dollar-escape
...
C++: Escape any `$` - specifically in `$@` - coming from error messages
2025-03-28 12:40:08 +01:00
Anders Schack-Mulligen
5a986f5327
SSA: Remove empty predicates and dead code.
2025-03-28 12:00:38 +01:00
Anders Schack-Mulligen
308d15401f
C++: Add ssaDefHasSource.
2025-03-28 11:57:30 +01:00
Anders Schack-Mulligen
0c74f21107
Merge pull request #19044 from aschackmull/ssa/useuse-trim
...
Ssa: Trim the use-use relation to skip irrelevant nodes
2025-03-28 11:55:34 +01:00
Idriss Riouak
2a78211dde
Merge pull request #19087 from github/idrissrio/preprocessor-multiline
...
C++: Add QL Tests for Multiline Directive Support
2025-03-28 11:02:19 +01:00
Jeroen Ketema
8dbd81b296
C++: Add test for $` escaping
2025-03-28 10:57:23 +01:00
Jeroen Ketema
5727c9137f
C++: Escape any $ - specifically in $@ - coming from error messages
2025-03-28 10:51:11 +01:00
Tamas Vajk
34e8318797
Rename the CCR query suite to code-quality
2025-03-27 08:36:53 +01:00
idrissrio
9af65001b3
C++: accept changes after C++ extractor preprocessor fix
2025-03-26 15:08:04 +01:00
idrissrio
148ffe8519
C++: accept changes after C++ extractor preprocessor fix
2025-03-26 09:41:20 +01:00
Anders Schack-Mulligen
8749bdb979
C++: Accept test changes.
2025-03-25 13:58:52 +01:00
Anders Schack-Mulligen
d5d0274ce7
Java/SSA: Keep proper distinction between cached stages.
2025-03-25 13:43:55 +01:00
Anders Schack-Mulligen
4d04391b70
C++: Keep all phi input back edges.
2025-03-25 13:21:13 +01:00
idrissrio
13f4f48d27
C++: Accept changes after C++ extractor preprocessor fix
2025-03-24 15:16:26 +01:00
idrissrio
3c54722a74
C++: Accept changes after C++ extractor preprocessor fix
2025-03-21 17:33:23 +01:00
idrissrio
5eda853de4
C++: Accept changes after C++ extractor preprocessor fix
2025-03-21 15:25:41 +01:00
idrissrio
99d9b87b33
Merge branch 'main' into idrissrio/preprocessor-multiline
2025-03-21 10:28:24 +01:00
idrissrio
878e621a38
Improved source location extraction for directive.
2025-03-21 09:46:54 +01:00
REDMOND\brodes
63aaebbea6
.
2025-03-19 18:30:06 -04:00
Chris Smowton
9a2a13ed55
Merge remote-tracking branch 'origin/main' into smowton/admin/merge-rc317-into-main
2025-03-19 16:01:29 +00:00
idrissrio
11c71f03f3
C++: Accept changes after C++ extractor preprocessor fix
2025-03-19 16:34:00 +01:00
Nicolas Will
95607c5f31
Refactor instances and consumers + add JCA hashes
2025-03-18 22:05:00 +01:00
github-actions[bot]
51cdeefafb
Post-release preparation for codeql-cli-2.20.7
2025-03-17 13:00:41 +00:00
github-actions[bot]
2d64a618e6
Release preparation for version 2.20.7
2025-03-17 12:15:54 +00:00
Mathias Vorreiter Pedersen
a035c9b4d1
C++: Also update source-sink tests.
2025-03-14 20:04:45 +00:00
Mathias Vorreiter Pedersen
b7d1c56372
C++: Add change note.
2025-03-14 18:53:09 +00:00
Mathias Vorreiter Pedersen
636150ea4f
C++: Adjust tests and accept test changes.
2025-03-14 18:43:33 +00:00
Mathias Vorreiter Pedersen
78697903fc
C++: Move ATL models to ATL namespace.
2025-03-14 18:43:06 +00:00
Anders Schack-Mulligen
c2309442d5
C++: Accept qltest changes.
2025-03-14 10:51:28 +01:00
Mathias Vorreiter Pedersen
90774c03be
C++: Remove yet another DefinitionExt reference.
2025-03-14 10:51:27 +01:00
Anders Schack-Mulligen
35687ea698
C++: Merge two cached stages.
2025-03-14 10:51:27 +01:00
Anders Schack-Mulligen
7bfd47a924
C++: Fix bad join order.
...
Before:
[2025-03-12 10:27:53] Evaluated non-recursive predicate SsaInternals::UseImpl.hasIndexInBlock/2#dispred#1e34a5af@e87543ui in 935ms (size: 8905695).
Evaluated relational algebra for predicate SsaInternals::UseImpl.hasIndexInBlock/2#dispred#1e34a5af@e87543ui with tuple counts:
{3} r1 = SsaInternals::DirectUseImpl#a58aae88 AND NOT `_ArithmeticOperation::PostfixCrementOperation#17623ada_Expr::UnaryOperation.getOperand/0#dispred#990__#antijoin_rhs`(FIRST 3)
8579337 ~4% {2} | SCAN OUTPUT In.1, In.0
8579337 ~0% {2} | JOIN WITH `Operand::Operand.getUse/0#dispred#427b49d0` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
8579337 ~0% {3} | JOIN WITH `IRBlock::Cached::getInstruction/2#627f9c61_201#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.2
48215 ~2% {2} r2 = SCAN SsaInternals::GlobalUse#9cd323b4 OUTPUT In.2, In.0
35467318 ~3% {2} | JOIN WITH `SSAConstruction::getInstructionEnclosingIRFunction/1#5443f355_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
48189 ~0% {2} r3 = JOIN r2 WITH Instruction::ReturnInstruction#28bfb7eb ON FIRST 1 OUTPUT Lhs.0, Lhs.1
12332 ~0% {2} r4 = JOIN r2 WITH Instruction::UnreachedInstruction#774c7a34 ON FIRST 1 OUTPUT Lhs.0, Lhs.1
60521 ~0% {2} r5 = r3 UNION r4
60521 ~2% {3} | JOIN WITH `IRBlock::Cached::getInstruction/2#627f9c61_201#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.2
39316 ~0% {2} r6 = JOIN SsaInternals::FinalParameterUse#c1f84700_10#join_rhs WITH `Parameter::Parameter.getFunction/0#dispred#803faca2` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
43821265 ~0% {2} | JOIN WITH `Instruction::Instruction.getEnclosingFunction/0#dispred#cb8ccc56_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
39194 ~0% {2} r7 = JOIN r6 WITH Instruction::ReturnInstruction#28bfb7eb ON FIRST 1 OUTPUT Lhs.0, Lhs.1
21255 ~2% {2} r8 = JOIN r6 WITH Instruction::UnreachedInstruction#774c7a34 ON FIRST 1 OUTPUT Lhs.0, Lhs.1
60449 ~0% {2} r9 = r7 UNION r8
60449 ~3% {3} | JOIN WITH `IRBlock::Cached::getInstruction/2#627f9c61_201#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.2
8784725 ~1% {5} r10 = JOIN `_SsaInternals::DirectUseImpl#a58aae88_SsaInternals::DirectUseImpl.getBase/0#dispred#4b8c43d0_SsaInte__#shared` WITH `SsaInternals::DirectUseImpl.getBase/0#dispred#4b8c43d0` ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1, Lhs.2, Lhs.3
8784725 ~0% {5} | JOIN WITH `cached_SSAConstruction::getInstructionAst/1#d0d95b50` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4
210435 ~4% {5} | JOIN WITH `Expr::UnaryOperation.getOperand/0#dispred#990de484#bf_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4
205388 ~0% {4} | JOIN WITH ArithmeticOperation::PostfixCrementOperation#17623ada ON FIRST 1 OUTPUT Lhs.4, Lhs.3, Lhs.2, Lhs.1
205388 ~4% {3} | JOIN WITH `__IRBlock::Cached::getInstruction/2#627f9c61_201#join_rhs__ArithmeticOperation::PostfixCrementOperat__#join_rhs` ON FIRST 3 OUTPUT Rhs.4, Lhs.3, Rhs.3
205388 ~0% {3} | JOIN WITH `Operand::Operand.getUse/0#dispred#427b49d0` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1
205388 ~1% {3} | JOIN WITH `IRBlock::Cached::getInstruction/2#627f9c61_021#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Rhs.2
8905695 ~0% {3} r11 = r1 UNION r5 UNION r9 UNION r10
return r11
After:
[2025-03-12 11:12:48] Evaluated non-recursive predicate SsaInternals::hasReturnPosition/3#02f7eab8@bc405c4l in 3ms (size: 49368).
Evaluated relational algebra for predicate SsaInternals::hasReturnPosition/3#02f7eab8@bc405c4l with tuple counts:
49368 ~3% {1} r1 = Instruction::ReturnInstruction#28bfb7eb UNION Instruction::UnreachedInstruction#774c7a34
49368 ~0% {2} | JOIN WITH `cached_SSAConstruction::getInstructionEnclosingIRFunction/1#5443f355` ON FIRST 1 OUTPUT Lhs.0, Rhs.1
49368 ~2% {3} | JOIN WITH `IRBlock::Cached::getInstruction/2#627f9c61_201#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.2
return r1
[2025-03-12 11:12:54] Evaluated non-recursive predicate SsaInternals::UseImpl.hasIndexInBlock/2#dispred#1e34a5af@6e30cduo in 549ms (size: 8905695).
Evaluated relational algebra for predicate SsaInternals::UseImpl.hasIndexInBlock/2#dispred#1e34a5af@6e30cduo with tuple counts:
48215 ~2% {2} r1 = SCAN SsaInternals::GlobalUse#9cd323b4 OUTPUT In.2, In.0
60521 ~2% {3} | JOIN WITH `SsaInternals::hasReturnPosition/3#02f7eab8` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.2
50725 ~0% {2} r2 = JOIN `IRFunctionBase::IRFunctionBase.getFunction/0#dispred#b024672e_10#join_rhs` WITH `Parameter::Parameter.getFunction/0#dispred#803faca2_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
39231 ~2% {2} | JOIN WITH SsaInternals::FinalParameterUse#c1f84700_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1
60449 ~3% {3} | JOIN WITH `SsaInternals::hasReturnPosition/3#02f7eab8` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.2
{3} r3 = SsaInternals::DirectUseImpl#a58aae88 AND NOT `_ArithmeticOperation::PostfixCrementOperation#17623ada_Expr::UnaryOperation.getOperand/0#dispred#990__#antijoin_rhs`(FIRST 3)
8579337 ~1% {2} | SCAN OUTPUT In.1, In.0
8579337 ~0% {2} | JOIN WITH `Operand::Operand.getUse/0#dispred#427b49d0` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
8579337 ~1% {3} | JOIN WITH `IRBlock::Cached::getInstruction/2#627f9c61_201#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.2
8784725 ~0% {5} r4 = JOIN `_SsaInternals::DirectUseImpl#a58aae88_SsaInternals::DirectUseImpl.getBase/0#dispred#4b8c43d0_SsaInte__#shared` WITH `SsaInternals::DirectUseImpl.getBase/0#dispred#4b8c43d0` ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1, Lhs.2, Lhs.3
8784725 ~0% {5} | JOIN WITH `cached_SSAConstruction::getInstructionAst/1#d0d95b50` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4
210435 ~0% {5} | JOIN WITH `Expr::UnaryOperation.getOperand/0#dispred#990de484#bf_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4
205388 ~2% {4} | JOIN WITH ArithmeticOperation::PostfixCrementOperation#17623ada ON FIRST 1 OUTPUT Lhs.4, Lhs.3, Lhs.2, Lhs.1
205388 ~0% {3} | JOIN WITH `__IRBlock::Cached::getInstruction/2#627f9c61_201#join_rhs__ArithmeticOperation::PostfixCrementOperat__#join_rhs` ON FIRST 3 OUTPUT Rhs.4, Lhs.3, Rhs.3
205388 ~0% {3} | JOIN WITH `Operand::Operand.getUse/0#dispred#427b49d0` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1
205388 ~0% {3} | JOIN WITH `IRBlock::Cached::getInstruction/2#627f9c61_021#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Rhs.2
8905695 ~0% {3} r5 = r1 UNION r2 UNION r3 UNION r4
return r5
2025-03-14 10:51:27 +01:00