Commit Graph

2596 Commits

Author SHA1 Message Date
Mathias Vorreiter Pedersen
9de8d5c501 C++: Reduce the number of uses by excluding conversions. 2023-01-30 09:13:42 +00:00
Mathias Vorreiter Pedersen
7ecc3466cf C++: Add another column to 'conversionFlow'. 2023-01-30 09:13:42 +00:00
Mathias Vorreiter Pedersen
95b15825f9 DataFlow: Sync identical files. 2023-01-27 16:24:31 +00:00
Mathias Vorreiter Pedersen
a691535e77 C++: Fix join order in 'fwdFlowRead'. 2023-01-27 16:24:08 +00:00
Mathias Vorreiter Pedersen
587b4fee9d C++: Add missing condition to 'isChiBeforeIteratorUse'. 2023-01-27 14:04:01 +00:00
Mathias Vorreiter Pedersen
ec7b406cc9 C++: Generate flow out of parameters whose enclosing function is missing a return statement. 2023-01-27 11:44:04 +00:00
Robert Marsh
6a91e85981 C++: fix UseImpl after merge conflict 2023-01-26 16:01:37 -05:00
Robert Marsh
3648f26cca Merge remote-tracking branch 'origin/mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
Resolved trivial conflicts.
2023-01-26 11:58:53 -05:00
Mathias Vorreiter Pedersen
ee62f2a223 C++: Fix global variable exclusion in DTT. 2023-01-26 16:49:58 +00:00
Mathias Vorreiter Pedersen
8c224429b3 C++: Better 'getType' for global variable nodes. 2023-01-26 16:49:49 +00:00
Mathias Vorreiter Pedersen
9f9c486268 Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2023-01-24 11:39:04 +00:00
Mathias Vorreiter Pedersen
ecbcee5bc8 Merge pull request #11945 from MathiasVP/refactor-param-out-nodes-2 2023-01-23 21:21:13 +00:00
Mathias Vorreiter Pedersen
79b77b01fd Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2023-01-23 15:49:36 +00:00
Mathias Vorreiter Pedersen
9dbea539ed Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into refactor-param-out-nodes-2 2023-01-23 10:51:46 +00:00
Mathias Vorreiter Pedersen
470abfd0aa C++: Conflate iterator value and indirection for taint-flow to fix AST dataflow. 2023-01-23 10:40:25 +00:00
Mathias Vorreiter Pedersen
962b651c44 C++: Fix models. 2023-01-23 10:10:02 +00:00
Mathias Vorreiter Pedersen
ae998583be C++: Refactor parameter out nodes to not depend on 'ReturnIndirectionInstruction's. 2023-01-21 01:43:23 +00:00
Jeroen Ketema
f628152be1 C++: In dataflow use the AST representation of IR Instructions and Operands 2023-01-20 10:39:50 +01:00
Rasmus Wriedt Larsen
a0b1c2ea79 DataFlow: Add uniqueParameterNodePositionExclude 2023-01-17 14:05:22 +01:00
Rasmus Wriedt Larsen
2b0a5fd5d1 DataFlow: Add uniqueParameterNodeAtPositionExclude 2023-01-17 14:05:17 +01:00
Jeroen Ketema
a892ae8764 C++: Fix spurious results in default taint tracking 2023-01-16 19:10:10 +01:00
Mathias Vorreiter Pedersen
c5038ed281 Merge pull request #11883 from MathiasVP/fold-definitions
C++: Fix bad join in `definitionOf`
2023-01-13 16:28:26 +00:00
Mathias Vorreiter Pedersen
cdd9567062 Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaInternalsCommon.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2023-01-13 13:54:07 +00:00
Mathias Vorreiter Pedersen
2283eacc0b C++: Fix bad join in 'definitionOf'. 2023-01-13 11:42:15 +00:00
Michael Nebel
529be7ef18 C++: Sync files. 2023-01-12 19:06:29 +01:00
Mathias Vorreiter Pedersen
a83879fa42 C++: Make sure that arguments of const pointer-type (as opposed to arguments of pointer to const-type) has an outgoing argument node. 2023-01-11 16:24:22 +00:00
Mathias Vorreiter Pedersen
cd24405a22 Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow 2023-01-11 15:42:34 +00:00
Mathias Vorreiter Pedersen
8b01dfe696 Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2023-01-10 17:30:29 +00:00
Tony Torralba
72a11e737d Merge pull request #11775 from atorralba/atorralba/all/omittable-exists
All: Remove omittable exists variables
2023-01-10 16:07:06 +01:00
Tony Torralba
3fcc99e5cb C++: Remove omittable exists variables 2023-01-10 13:36:01 +01:00
Jeroen Ketema
1bab950023 C++: Introduce (_Complex) _Float16 type which is needed after frontend update 2023-01-10 10:41:43 +01:00
Mathias Vorreiter Pedersen
0f93e5c907 Merge pull request #11781 from MathiasVP/as-expr-for-arrays
C++: Map more expressions to `OperandNode`s
2023-01-09 14:38:22 +00:00
Geoffrey White
f3914ffe25 Merge pull request #11823 from geoffw0/heuristicalloc
C++: Use HeuristicAllocationExpr in more queries
2023-01-06 13:13:14 +00:00
Geoffrey White
c160e0b2a4 C++: Add a warning on HeuristicAllocationExpr.getSizeBytes() and similar methods. 2023-01-05 12:47:52 +00:00
Jeroen Ketema
5f4326f2bf C++: Mark a number of private predicates in the GVN library as deprecated
This silences a number of warnings related to GVN deprecation.
2023-01-03 12:47:36 +01:00
Mathias Vorreiter Pedersen
e86e3ec3ec Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2022-12-22 11:29:43 +00:00
Mathias Vorreiter Pedersen
05cd2518a4 C++: Map more expressions to operand nodes. 2022-12-22 10:57:11 +00:00
Mathias Vorreiter Pedersen
bbf0ec81ab C++: Fix implicit this. 2022-12-21 14:41:51 +00:00
Mathias Vorreiter Pedersen
ff6e8a285d C++: Model semantics of '__except' condition in IR. 2022-12-21 14:08:26 +00:00
Mathias Vorreiter Pedersen
e6a03a6152 C++: Fix exception handling for '__try __except'. 2022-12-21 14:08:26 +00:00
Mathias Vorreiter Pedersen
07ab119b8c C++: Add explicit qualifiers. 2022-12-20 13:38:50 +00:00
Mathias Vorreiter Pedersen
d2964a7d4a C++: Also handle '__finally' blocks. 2022-12-20 13:28:33 +00:00
Mathias Vorreiter Pedersen
3c8efa88e0 C++: Handle Microsoft '__try __except' in the existing 'TryStmt' IR logic. 2022-12-20 13:28:28 +00:00
Jeroen Ketema
0addae81cd Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2022-12-20 11:34:41 +01:00
Jeroen Ketema
a73bd050f7 C++: Define the argv flow source in terms the input parameter 2022-12-19 12:13:39 +01:00
Robert Marsh
df7a4ac093 Merge pull request #11722 from MathiasVP/make-buffer.qll-unique-again
C++: Use `unique` in `getBufferSize`
2022-12-16 15:00:18 -05:00
Mathias Vorreiter Pedersen
c09ed10d33 Merge pull request #11727 from MathiasVP/fix-crement-and-assign-op-dataflow-mappings
C++: Fix `DataFlow <-> Expr` mappings for `CrementOperation` and `AssignOperation`
2022-12-16 17:05:13 +00:00
Mathias Vorreiter Pedersen
33649ed7d3 Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow 2022-12-16 17:02:06 +00:00
Mathias Vorreiter Pedersen
df526552a6 C++: Fix mapping between dataflow nodes and '{Crement, Assign}Operations'. 2022-12-16 14:14:48 +00:00
Mathias Vorreiter Pedersen
c06f7259cf C++: Make the 'getBufferSize' a lot more like the pre-use-use flow implementation. 2022-12-16 12:58:45 +00:00