Mathias Vorreiter Pedersen
e147a6032e
C++: Replace 'IRType' with 'Type' in dataflow. This means we're more compatible with the old AST library.
2022-10-06 17:26:56 +01:00
Mathias Vorreiter Pedersen
65a538ed41
C++: Exclude a few more operands from the dataflow graph. These aren't ever used for dataflow, and it should give us a slight speedup.
2022-10-06 17:22:09 +01:00
Mathias Vorreiter Pedersen
3fcb825e7f
C++: Change a few indirectionIndex ranges from '[0 .. n - 1]' to '[1 .. n]'. This simplifies some arithmetic in a few predicates.
2022-10-06 17:21:09 +01:00
Mathias Vorreiter Pedersen
fa12bd3cdf
C++: Fix spelling.
2022-09-30 11:22:26 +01:00
Mathias Vorreiter Pedersen
483ff58c39
C++: Replace the giant list of predicate parameters with a module signature.
2022-09-30 10:36:03 +01:00
Mathias Vorreiter Pedersen
6d5de66e6a
C++: Add QLDoc to the parameterized module components in 'Allocation.qll'.
2022-09-30 10:04:57 +01:00
Mathias Vorreiter Pedersen
2a514d60d4
C++: Add 'isBarrierIn' to prevent path duplication.
2022-09-29 19:55:58 +01:00
Mathias Vorreiter Pedersen
a9710453f4
C++: Add class with heuristics to detect allocations.
2022-09-29 19:54:03 +01:00
Mathias Vorreiter Pedersen
769ff5c6f3
C++: Add 'isAdditionalFlowStep' predicates for both configurations in the product dataflow library and use them to fix missing results in the 'cpp/overrun-write' query.
2022-09-28 15:17:04 +01:00
Robert Marsh
82bbe67267
Merge pull request #10593 from MathiasVP/fix-fp-on-cwe-193
...
C++: Fix FPs on `cpp/invalid-pointer-deref`
2022-09-27 17:38:17 -04:00
Tom Hvitved
df2b586e7c
Merge pull request #10577 from hvitved/dataflow/get-a-read-content-fan-in
...
Data flow: Fix bad join-order when getAReadContent has large fan-in
2022-09-27 20:04:58 +02:00
Mathias Vorreiter Pedersen
549eca1b17
C++: Fix 'implicit use of this'.
2022-09-27 16:29:30 +01:00
Mathias Vorreiter Pedersen
e4305948ef
C++: Fix FP on CWE-193 by blocking flow through back-edges of phi nodes.
2022-09-27 16:28:03 +01:00
Tom Hvitved
335e1a8233
Address review comments
2022-09-27 13:36:52 +02:00
Mathias Vorreiter Pedersen
0c79c2836c
Merge pull request #10573 from erik-krogh/cpp-unqueryable
...
C: deprecate/delete some unused code
2022-09-27 10:13:24 +01:00
Tom Hvitved
45fc62f16b
Data flow: Sync files
2022-09-26 20:39:48 +02:00
Tom Hvitved
1273db5a22
Data flow: Fix bad join-order when getAReadContent has large fan-in
...
Before (terminated before completion)
```
Evaluated relational algebra for predicate DataFlowImplForHttpClientLibraries#c536b619::store#5#fffff@e5ef07bh with tuple counts:
151500 ~0% {4} r1 = SCAN DataFlowImplCommon#4f8df883::Cached::store#4#ffff OUTPUT In.1, In.0, In.2, In.3
150500 ~0% {5} r2 = JOIN r1 WITH DataFlowImplCommon#4f8df883::Cached::MkTypedContent#fff_20#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2, Lhs.3, Rhs.1
149500 ~0% {5} r3 = JOIN r2 WITH num#DataFlowImplForHttpClientLibraries#c536b619::TNodeNormal#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.3, Lhs.4, Rhs.1
148500 ~0% {5} r4 = JOIN r3 WITH num#DataFlowImplForHttpClientLibraries#c536b619::TNodeNormal#ff ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.2, Lhs.4, Rhs.1
2003849000 ~0% {5} r5 = JOIN r4 WITH DataFlowPublic#e1781e31::ContentSet::getAReadContent#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4
105066500 ~9036% {5} r6 = JOIN r5 WITH project#DataFlowImplForHttpClientLibraries#c536b619::readSet#4#ffff ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.4, Lhs.2, Rhs.1
return r6
```
After
```
Evaluated relational algebra for predicate DataFlowImplForHttpClientLibraries#c536b619::readProj#2#ff@302620cn with tuple counts:
1461867 ~0% {2} r1 = SCAN DataFlowPrivate#462ff392::Cached::TContent#f OUTPUT In.0, In.0
3549054 ~1% {2} r2 = JOIN r1 WITH DataFlowPublic#e1781e31::ContentSet::getAReadContent#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
5772824 ~5% {2} r3 = JOIN r2 WITH project#DataFlowImplForHttpClientLibraries#c536b619::readSet#4#ffff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
return r3
Evaluated relational algebra for predicate DataFlowImplForHttpClientLibraries#c536b619::store#5#fffff@016cd9o1 with tuple counts:
267905 ~0% {4} r1 = SCAN DataFlowImplCommon#4f8df883::Cached::store#4#ffff OUTPUT In.1, In.0, In.2, In.3
267905 ~0% {5} r2 = JOIN r1 WITH DataFlowImplCommon#4f8df883::Cached::MkTypedContent#fff_20#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2, Lhs.3, Rhs.1
267905 ~0% {5} r3 = JOIN r2 WITH num#DataFlowImplForHttpClientLibraries#c536b619::TNodeNormal#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.3, Lhs.4, Rhs.1
267905 ~0% {5} r4 = JOIN r3 WITH num#DataFlowImplForHttpClientLibraries#c536b619::TNodeNormal#ff ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.2, Lhs.4, Rhs.1
2109240 ~0% {5} r5 = JOIN r4 WITH DataFlowImplForHttpClientLibraries#c536b619::readProj#2#ff ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.4, Lhs.2, Rhs.1
return r5
```
2022-09-26 20:37:53 +02:00
erik-krogh
0f1a8a6f5b
deleted unused internal code
2022-09-26 20:20:52 +02:00
erik-krogh
b83ca08854
deprecate class documented as deprecated
2022-09-26 20:09:54 +02:00
Anders Schack-Mulligen
1687d08587
Dataflow: Sync.
2022-09-26 16:10:03 +02:00
Dave Bartolomeo
3bd456e52d
Merge pull request #10565 from github/post-release-prep/codeql-cli-2.11.0
...
Post-release preparation for codeql-cli-2.11.0
2022-09-23 18:13:59 -04:00
github-actions[bot]
6cef0af5df
Post-release preparation for codeql-cli-2.11.0
2022-09-23 21:01:40 +00:00
Mathias Vorreiter Pedersen
73f279d6e7
Merge pull request #10555 from MathiasVP/testcase-for-php-cve
...
C++: Fix missing bounds in range analysis
2022-09-23 16:55:51 +01:00
Mathias Vorreiter Pedersen
f3212fe01c
C++: Autoformat.
2022-09-23 13:00:22 +01:00
Mathias Vorreiter Pedersen
ac03242cfc
C++: Add an SSAVariable for pointer-arithmetic expressions in guards.
2022-09-23 12:21:31 +01:00
Tom Hvitved
8b424d181a
Merge pull request #10505 from hvitved/dataflow/viable-impl-in-ctx-consistency
...
Data flow: Guard against `viableImplInCallContext` not being a subset of `viableCallable`
2022-09-23 10:38:48 +02:00
github-actions[bot]
f5cf8cffa3
Release preparation for version 2.11.0
2022-09-22 20:14:12 +00:00
Dave Bartolomeo
cee0e8e137
Merge pull request #10532 from github/henrymercer/3.7-mergeback
...
Final mergeback from `rc/3.7`
2022-09-22 13:42:59 -04:00
Tom Hvitved
ad6b870f94
Data flow: Sync files
2022-09-22 15:01:33 +02:00
Tom Hvitved
f0f4fe7286
Merge pull request #10444 from hvitved/ruby/stmt-sequence-post-update
...
Ruby: Add post-update nodes for compound arguments
2022-09-22 13:18:51 +02:00
Henry Mercer
f8f99af8b7
Bump the minor version of packs we regularly release
2022-09-22 12:14:19 +01:00
Tom Hvitved
db8b6ac69a
Data flow: Sync files
2022-09-21 11:02:24 +02:00
Andrew Eisenberg
58e4861b45
Merge branch 'main' into rc/3.7
2022-09-20 12:43:20 -07:00
Mathias Vorreiter Pedersen
74ccec75c8
C++: Sync identical files.
2022-09-20 13:37:54 +01:00
Mathias Vorreiter Pedersen
79654d978d
C++: Sync identical files.
2022-09-20 12:57:21 +01:00
Mathias Vorreiter Pedersen
7c41219376
Merge pull request #10438 from MathiasVP/invalid-pointer-deref-query
...
C++: Add a `cpp/invalid-pointer-deref` query to experimental
2022-09-20 10:41:31 +01:00
Erik Krogh Kristensen
a4cd913aea
Merge pull request #10312 from erik-krogh/fix-caseDiff
...
ensure consistent casing of names
2022-09-19 10:43:12 +02:00
Mathias Vorreiter Pedersen
dc00643ad1
C++: More QLDoc.
2022-09-16 17:14:29 +01:00
github-actions[bot]
67ce442674
Post-release preparation for codeql-cli-2.10.5
2022-09-16 14:23:44 +00:00
Mathias Vorreiter Pedersen
b8a5aa5d85
C++: Fix a couple of range analysis issues:
...
1. The new query is expecting pointer arithmetic operations to generate
range-analysis bounds, but this wasn't true on main.
2. The bounds generated by `boundFlowCond` was incorrectly inferred as
non-strict when comparing a pointers (unlike when comparing values of
integral types). This gave FPs in the new query.
This also fixes a couple of missing results in existing queries that
use the new range-analysis library.
2022-09-15 17:46:52 +01:00
Mathias Vorreiter Pedersen
d981f898e4
C++: Add flow states to the product dataflow library.
2022-09-15 15:54:09 +01:00
Mathias Vorreiter Pedersen
7f6b400b78
Merge pull request #10366 from MathiasVP/use-use-flow-in-experimental
...
C++: Use-use flow in `experimental`
2022-09-13 09:30:48 +01:00
Mathias Vorreiter Pedersen
6e4b3c242f
Merge pull request #10377 from geoffw0/deprecate-pointsto
...
C++: Put a warning on the PointsTo library.
2022-09-12 16:25:40 +01:00
Mathias Vorreiter Pedersen
d2b150eaf5
C++: Fix QLDoc on the model predicates used by the new experimental use-use code.
2022-09-12 16:00:49 +01:00
Mathias Vorreiter Pedersen
bb1c088fe0
C++: Undo changes to iterator models.
2022-09-12 15:58:49 +01:00
Geoffrey White
842af4bf74
C++: Specifically suggest DataFlow as an alternative.
2022-09-12 14:25:45 +01:00
erik-krogh
bae4490620
add change-note
2022-09-12 12:12:18 +02:00
Geoffrey White
8ac3e10896
C++: Put a warning on the PointsTo library.
2022-09-09 18:03:23 +01:00
Mathias Vorreiter Pedersen
6dcfe0348b
C++: Copy over the required changes to non-experimental libraries.
2022-09-09 17:26:58 +01:00
Mathias Vorreiter Pedersen
5509562fe6
C++: Repair a few broken models that were incorrectly a pointer
...
as tainted (instead of the pointee), or vice versa. Because of
existing dataflow pointer/pointee conflation we never noticed that,
but since this PR removes those imprecisions we now need to update
these models.
2022-09-09 17:04:36 +01:00