Commit Graph

3066 Commits

Author SHA1 Message Date
REDMOND\brodes
792231c949 Removing SEH default case for function calls as the logic to handle SEH is not yet part of the IR generation to make this logic work. 2024-11-18 14:43:44 -05:00
Ben Rodes
1c7b5aebb5 Merge branch 'main' into brodes/seh_flow_phase1_throwing_models 2024-11-18 12:48:38 -05:00
Mathias Vorreiter Pedersen
f2f83f77e0 Merge pull request #18013 from MathiasVP/non-boolean-consistency-check
C++: Add another IR consistency query
2024-11-18 17:27:33 +00:00
REDMOND\brodes
4b83a451bd Change log 2024-11-18 11:14:46 -05:00
REDMOND\brodes
de05aee483 Adding model transition to using Throwing.qll. 2024-11-18 11:11:25 -05:00
Mathias Vorreiter Pedersen
493ea6da31 C++: Add a new consistency check for branching on non-boolean values. 2024-11-18 15:21:28 +00:00
Mathias Vorreiter Pedersen
86e95f14e0 Update cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-11-18 14:37:52 +00:00
Mathias Vorreiter Pedersen
90d7616f14 C++: Add change note. 2024-11-18 14:31:36 +00:00
Calum Grant
6a0a7dda76 Revert "Revert "C++: Do not generate IR for functions with multiple entry points"" 2024-11-18 10:31:04 +00:00
Mathias Vorreiter Pedersen
19d53fba8c C++: Exclude guards in static local or global initializers. 2024-11-17 19:51:35 +00:00
Mathias Vorreiter Pedersen
409f2c1251 C++: Make the formatting of conjunct when using 'getDualValue' consistent. 2024-11-15 15:20:04 +00:00
Mathias Vorreiter Pedersen
459bb6ed04 Update cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-11-15 14:43:04 +00:00
Mathias Vorreiter Pedersen
5f9d3d7b09 C++: Rename 'ScrutineeValueNumber' to 'SwitchConditionValueNumber'. 2024-11-15 14:28:56 +00:00
Mathias Vorreiter Pedersen
feea29b8fe C++: Move classes. 2024-11-15 14:21:18 +00:00
Mathias Vorreiter Pedersen
c80bea33e5 C++: Stylistic fixes. 2024-11-15 14:20:12 +00:00
Mathias Vorreiter Pedersen
42c1937776 Update IRGuards.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-11-14 21:28:54 +00:00
Mathias Vorreiter Pedersen
229d40ad8b Update IRGuards.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-11-14 21:28:43 +00:00
Mathias Vorreiter Pedersen
b10696c155 Update IRGuards.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-11-14 21:28:33 +00:00
Mathias Vorreiter Pedersen
6e7256f9d4 C++: Delete unused predicates. 2024-11-14 16:46:19 +00:00
Mathias Vorreiter Pedersen
442968c3c2 C++: Properly restrict 'unary_simple_comparison_eq'. 2024-11-14 16:29:49 +00:00
Mathias Vorreiter Pedersen
db38069290 C++: Use value numbering in IRGuards. 2024-11-14 16:29:48 +00:00
Calum Grant
2f032ec7b8 C++: Revert 17694 and keep tests 2024-11-11 13:06:50 +00:00
Anders Schack-Mulligen
4df4a1e6c6 Merge pull request #17863 from aschackmull/shared/universal-flow
Shared: Add a Universal Flow library and refactor TypeFlow to use it.
2024-11-06 13:46:13 +01:00
github-actions[bot]
f107d16b4e Post-release preparation for codeql-cli-2.19.3 2024-11-04 17:20:08 +00:00
github-actions[bot]
cc7b724123 Release preparation for version 2.19.3 2024-11-04 16:37:28 +00:00
Jeroen Ketema
1a830cdf14 C++: Do not generate IR for functions with multiple entry points in different locations 2024-10-31 10:55:52 +01:00
Anders Schack-Mulligen
b556590ef8 Merge pull request #17663 from aschackmull/dataflow/speculative-flow
Dataflow: Add support for speculative taint flow.
2024-10-31 08:12:43 +01:00
Anders Schack-Mulligen
fba4d09e65 TypeFlow: Simplify interface. 2024-10-28 15:09:09 +01:00
Anders Schack-Mulligen
3939eff260 TypeFlow: Rename step to uniqStep. 2024-10-28 15:00:05 +01:00
Calum Grant
a8f1d57573 Merge pull request #17775 from github/calumgrant/bmn/wrong-type-format-arguments-test
C++: Reduce FPs in cpp/wrong-type-format-argument due to extraction errors
2024-10-24 08:40:46 +01:00
Calum Grant
421413a654 C++: Update change notes 2024-10-23 14:46:00 +01:00
Calum Grant
f37be68067 C++: Handle builtin FormattingFunctions better 2024-10-23 14:35:32 +01:00
Jeroen Ketema
e36a1c717d Merge branch 'main' into aliasperf2 2024-10-21 16:40:01 +02:00
Calum Grant
0fcabc4e61 C++: Move mayBeFromImplicitlyDeclaredFunction to Call 2024-10-18 15:56:08 +01:00
Calum Grant
419780591a C++: Resolve firstFormatArgumentIndex in FormattingFunction CP 2024-10-18 14:52:54 +01:00
Dave Bartolomeo
639864e94d Handle may vs. must for EntireAllocationMemoryLocation 2024-10-17 19:50:50 +01:00
Jeroen Ketema
064ec91fa2 Merge pull request #17778 from jketema/param-name
C++: Improve parameter naming
2024-10-17 16:29:10 +02:00
Mathias Vorreiter Pedersen
5e04358ece Update cpp/ql/lib/change-notes/2024-10-16-new-api-for-call-target-resolution.md
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-10-17 10:57:30 +01:00
Calum Grant
4341fab794 C++: Reject invalid results from getFirstFormatArgumentIndex() 2024-10-17 10:50:44 +01:00
Mathias Vorreiter Pedersen
baab74cb35 C++: Add change notes. 2024-10-16 17:45:44 +01:00
Mathias Vorreiter Pedersen
a99d57640a C++: Add a new API for getting the target of a 'Call' expression. 2024-10-16 14:45:44 +01:00
Mathias Vorreiter Pedersen
30e0781778 C++: Also check for source calls when using 'lambda call resolution'. 2024-10-16 14:14:52 +01:00
Calum Grant
9758e023f9 C++: Remove redundant test 2024-10-16 13:47:06 +01:00
Anders Schack-Mulligen
c20f12fa6c Add qldoc. 2024-10-16 14:35:23 +02:00
Anders Schack-Mulligen
4e8a4a5cdd C/C++: Add tentative support for speculative taint flow. 2024-10-16 14:35:22 +02:00
Anders Schack-Mulligen
c80627a3d3 Dataflow: add plumbing for adding provenance to state-steps. 2024-10-16 14:35:18 +02:00
Jeroen Ketema
1eb0b49634 C++: Improve parameter naming 2024-10-16 11:33:18 +02:00
Calum Grant
d88a674a15 C++: Change note for mayBeFromImplicitlyDeclaredFunction 2024-10-16 10:27:54 +01:00
Calum Grant
6a48ad0ee7 C++: Implement Expr::mayBeFromImplicitlyDeclaredFunction 2024-10-16 10:23:39 +01:00
Calum Grant
853128c9c3 C++: Clean up false-positives
C++: Change note
2024-10-16 09:46:26 +01:00