Mathias Vorreiter Pedersen
d6871c7cf9
C++: Merge 'PostUpdateFieldNode' and 'IndirectArgumentOutNode' into a single IPA branch.
2023-12-07 23:11:28 +00:00
Jeroen Ketema
db1dc6fa2c
Merge pull request #15021 from jketema/ir-guards-unreached-fix
...
C++: Fix handling of unreached instructions in IRGuards
2023-12-06 12:46:09 +01:00
Mathias Vorreiter Pedersen
9fa20f5f39
Merge pull request #14799 from MathiasVP/solve-modify-copy-problem
...
DataFlow: Add language-specific predicate for ignoring steps in flow-through calculation
2023-12-06 09:55:34 +00:00
Jeroen Ketema
4390e4cad3
C++: Fix handling of unreached instructions in IRGuards
2023-12-06 10:23:27 +01:00
Jeroen Ketema
30e5e74a78
Merge pull request #15005 from jketema/ir-guards-ternary-fix
...
C++: Fix IRGuards ternary behaviour
2023-12-05 15:04:56 +01:00
Mathias Vorreiter Pedersen
8ce4bbec33
Merge pull request #14867 from MathiasVP/reduce-duplication-from-operators
...
C++: Reduce duplication from crement operations
2023-12-05 11:57:48 +00:00
Jeroen Ketema
4d702e2eee
C++: Fix IRGuards ternary behaviour
2023-12-05 12:17:46 +01:00
Mathias Vorreiter Pedersen
2908acfb52
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-12-05 11:00:17 +00:00
Mathias Vorreiter Pedersen
db0d203eb4
Merge branch 'main' into solve-modify-copy-problem
2023-12-05 09:43:17 +00:00
Mathias Vorreiter Pedersen
03b77dbf2a
C++: Make 'node.asExpr()' behave as 'node.asDefinition()' in void contexts.
2023-12-04 16:38:13 +00:00
Mathias Vorreiter Pedersen
359b15bb60
C++: Fix FP by special-casing compound assignments in 'asExprInternal'.
2023-12-04 11:29:51 +00:00
Mathias Vorreiter Pedersen
60204574b6
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-12-04 10:35:07 +00:00
Mathias Vorreiter Pedersen
1198d23b96
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-12-04 10:35:00 +00:00
Mathias Vorreiter Pedersen
5a12a0ad62
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-12-04 10:34:46 +00:00
Mathias Vorreiter Pedersen
09117d3869
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-12-04 10:34:32 +00:00
Mathias Vorreiter Pedersen
c1561e8675
Merge branch 'main' into reduce-duplication-from-operators
2023-11-30 14:30:50 +00:00
Mathias Vorreiter Pedersen
43932b61a8
C++: Add more comments.
2023-11-30 14:20:00 +00:00
Mathias Vorreiter Pedersen
a7ef84f2d1
C++: Replace 'strictcount(...) = 1' with 'unique(...)'.
2023-11-30 11:20:00 +00:00
Mathias Vorreiter Pedersen
1f9e2c71ce
Merge pull request #14928 from MathiasVP/surprising-lifetimes-c_str
...
C++: Add a new query for calling `c_str` on temporary objects
2023-11-29 10:15:11 +00:00
Mathias Vorreiter Pedersen
911f1543e0
DataFlow: Adjust QLDoc.
2023-11-28 15:26:48 +00:00
Mathias Vorreiter Pedersen
339bf1363a
DataFlow: s/flowThroughStepAllowed/validParameterAliasStep.
2023-11-28 14:32:23 +00:00
Mathias Vorreiter Pedersen
9049932f42
C++: Implement the new predicate.
2023-11-28 14:27:15 +00:00
Mathias Vorreiter Pedersen
2b36ba33f0
C++: Add support for 'data' in the query.
2023-11-28 12:57:59 +00:00
Jeroen Ketema
7dec819151
C++: Expose whether a function was prototyped or not
2023-11-28 10:24:43 +01:00
Mathias Vorreiter Pedersen
22a91d18b8
C++: Make the sequence container classes public.
2023-11-27 21:32:49 +00:00
Jeroen Ketema
ee35bfb290
C++: Do not use isReturnValue in getenv, gets, and fgets models
2023-11-24 16:38:15 +01:00
Mathias Vorreiter Pedersen
0c924c2b27
C++: Taint-flow through integer to boolean casts.
2023-11-24 10:55:50 +00:00
Mathias Vorreiter Pedersen
6f5cfca84c
C++: Sync identical files.
2023-11-23 16:53:57 +00:00
Mathias Vorreiter Pedersen
cc261bfabb
C++: Recurse through 'LogicalNotInstruction' in 'getConstantValue'.
2023-11-23 16:53:57 +00:00
Mathias Vorreiter Pedersen
7364634a6b
C++: No need to special-case negations in IRGuards.
2023-11-23 16:53:57 +00:00
Mathias Vorreiter Pedersen
3af3a72161
C++: Don't short-circuit negations in conditions.
2023-11-23 16:53:57 +00:00
Tom Hvitved
1a6886cf99
SSA: Add locations to ease debugging
2023-11-22 08:37:02 +01:00
Mathias Vorreiter Pedersen
ef2caa3944
C++: Add a new API for mapping a dataflow node to a definition. This means we can reduce duplication from 'asExpr'.
2023-11-21 17:49:02 +00:00
Mathias Vorreiter Pedersen
dcba8e5408
C++: Fix global variable flow for array types.
2023-11-20 12:15:55 +00:00
Mathias Vorreiter Pedersen
d25c24b64d
C++: Reduce code duplication by moving shared code into a module.
2023-11-16 10:52:46 +00:00
Mathias Vorreiter Pedersen
5a7cb8f25a
C++: Fix duplication on reference dereference expressions.
2023-11-16 10:52:35 +00:00
Anders Schack-Mulligen
bf6cfd3bef
Rangeanalysis: Simplify api.
2023-11-13 10:35:44 +01:00
Anders Schack-Mulligen
30aefabb2a
Rangeanalysis: Rename predicate.
2023-11-13 10:35:44 +01:00
Anders Schack-Mulligen
27e6173bb7
C++: Remove SemSsaExplicitUpdate.getSourceExpr.
2023-11-13 10:35:43 +01:00
Anders Schack-Mulligen
3a73faf061
Rangeanalysis: Remove unused getAlternateType predicates.
2023-11-13 10:35:43 +01:00
Anders Schack-Mulligen
00549e36ed
Merge pull request #14742 from aschackmull/rangeanalysis/share-util-3
...
Java/C++/Rangeanalysis: Share more range analysis utility predicates.
2023-11-13 10:19:41 +01:00
Mathias Vorreiter Pedersen
01a074c146
Merge pull request #14749 from MathiasVP/less-code-duplication
2023-11-10 19:45:56 +00:00
Jeroen Ketema
3a62628938
Merge pull request #14735 from jketema/strl
...
C++: Add models for `strlcpy` and `strlcat`
2023-11-10 17:51:59 +01:00
Mathias Vorreiter Pedersen
9062fb666a
C++: Move a couple of predicates to 'Node0Impl'.
2023-11-10 16:26:03 +00:00
Mathias Vorreiter Pedersen
2ceb4cffbc
Merge pull request #14736 from MathiasVP/fix-global-indirect-flow
...
C++: Fix indirect global-variable flow
2023-11-10 14:25:23 +00:00
Jeroen Ketema
c71bdce2d0
Merge pull request #14744 from jketema/fgets
...
C++: Fix `hasRemoteFlowSource` for `fgets`
2023-11-10 14:03:40 +01:00
Jeroen Ketema
617d950a25
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2023-11-10 13:55:39 +01:00
Jeroen Ketema
1c87875049
C++: Drop the size return value of strlcat from hasTaintFlow
2023-11-10 13:15:57 +01:00
Jeroen Ketema
5e21a5d284
C++: Fix flow for return values of strlcat and strlcpy
2023-11-10 12:28:48 +01:00
Jeroen Ketema
ba51b65d84
C++: Fix hasRemoteFlowSource for fgets
...
Also add the test that exposed this. Note that the test would only have started
failing after `cpp/uncontrolled-process-operation` with the rewrite of the
query away from default taint tracking, which has not happened yet.
2023-11-10 11:56:23 +01:00