Commit Graph

2639 Commits

Author SHA1 Message Date
REDMOND\brodes
63ddd81059 Merge branch 'brodes/seh_flow_phase1_throwing_models' of https://github.com/microsoft/codeql into brodes/seh_flow_phase1_throwing_models 2024-11-19 12:58:51 -05:00
REDMOND\brodes
26d590a616 Putting back deleted file, and deprecating instead. Deprecating mayThrowException as well. 2024-11-19 12:57:50 -05:00
Ben Rodes
5bb765d834 Merge branch 'main' into brodes/seh_flow_phase1_throwing_models 2024-11-19 10:46:17 -05:00
REDMOND\brodes
1c874d3221 Fixed usage raisesException 2024-11-19 10:04:11 -05:00
Calum Grant
2bfd7326d9 Merge pull request #18004 from github/revert-17948-revert-17694-multiple-entry-point
Revert "Revert "C++: Do not generate IR for functions with multiple entry points""
2024-11-19 09:20:24 +00:00
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
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
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
Rasmus Lerchedahl Petersen
065f3d1d7a cpp: locations in range analysis 2024-11-15 14:10:51 +01: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
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
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
Calum Grant
4341fab794 C++: Reject invalid results from getFirstFormatArgumentIndex() 2024-10-17 10:50: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
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
Jeroen Ketema
22b8e2cbb4 C++: Add missing parent scope cases 2024-10-15 17:16:58 +02:00
Jeroen Ketema
168f7f5d34 C++: Add support for C++ requires expressions 2024-10-15 13:44:17 +02:00
Jeroen Ketema
f1a350c96a C++: Print handler parameters in PrintAST 2024-10-10 20:47:12 +02:00