Mathias Vorreiter Pedersen
9aefdca7a7
Merge pull request #15875 from MathiasVP/bring-back-type-barriers-in-non-constant-format
...
C++: Clean up `cpp/non-constant-format`
2024-03-14 10:51:23 +00:00
Geoffrey White
19cc620f18
C++: Effect of 'Fix dataflow node <> expression problem on prvalues' from main.
2024-03-14 09:47:38 +00:00
Geoffrey White
f208594067
Merge branch 'main' into mad
2024-03-14 09:44:45 +00:00
Mathias Vorreiter Pedersen
dacf7d73d9
Merge pull request #15918 from MathiasVP/fix-as-expr-for-temps
...
C++: Fix dataflow node <> expression problem on prvalues
2024-03-14 09:38:46 +00:00
Mathias Vorreiter Pedersen
a24432bacc
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
2024-03-14 09:23:33 +00:00
Mathias Vorreiter Pedersen
c375497fa5
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
2024-03-14 09:16:04 +00:00
Mathias Vorreiter Pedersen
a839c92979
C++: Fix mapping issue between dataflow nodes and expressions when the expression is a prvalue.
2024-03-13 22:59:09 +00:00
Mathias Vorreiter Pedersen
2fc0922b29
Merge branch 'main' into bring-back-type-barriers-in-non-constant-format
2024-03-13 22:46:35 +00:00
Mathias Vorreiter Pedersen
d1c253b519
C++: Accept test changes.
2024-03-13 22:41:32 +00:00
Mathias Vorreiter Pedersen
61597f5ac7
C++: This commit does two things:
...
1. It fixes a logic error in the cannotContainString predicate.
2. It reverts the changes to the `isSource` predicate that required the external
function to be within the source root.
The change to `isSource` was meant to fix the a performance problem that occurred
because of the logic error in the cannotContainString predicate. However, now that
the logic error is fixed this is no longer necessary 🎉
2024-03-13 22:40:06 +00:00
Jeroen Ketema
866a3934d4
C++: suppress destructors with reuse expressions until proper support is added
2024-03-13 20:17:00 +01:00
Jeroen Ketema
67b3670d06
Merge pull request #15901 from jketema/destructors11
...
C++: Introduce re-use expressions in the database scheme
2024-03-13 18:27:28 +01:00
Geoffrey White
8d3fc735ea
C++: Fix compilation issue in UseAfterFree.qll.
2024-03-13 17:03:00 +00:00
Geoffrey White
f52b6e0449
C++: Add more test cases for taint through qualifier fields.
2024-03-13 16:20:12 +00:00
Geoffrey White
6019a38266
C++: Add more test cases for indirection (4).
2024-03-13 16:20:08 +00:00
Geoffrey White
23da0c16c7
C++: Add more test cases for indirection (3).
2024-03-13 16:20:04 +00:00
Geoffrey White
7c4927c2e3
C++: Add more test cases for indirection (2).
2024-03-13 16:19:58 +00:00
Geoffrey White
fcda0c9819
C++: Add more test cases for indirection (1).
2024-03-13 15:35:28 +00:00
Geoffrey White
c17a36ec07
C++: Add more test cases for taint through qualifiers.
2024-03-13 15:30:13 +00:00
Mathias Vorreiter Pedersen
b638d4d0ba
Merge pull request #15900 from MathiasVP/glib-alloc-and-dealloc
...
C++: Add models for `GLib` allocation and deallocation
2024-03-13 15:29:46 +00:00
Geoffrey White
92d57ab504
C++: Correct some existing cases that are in fact indirect.
2024-03-13 15:26:21 +00:00
Jeroen Ketema
8d5eab401d
C++: Introduce re-use expressions in the database scheme
2024-03-13 13:28:27 +01:00
Mathias Vorreiter Pedersen
8d504d8b32
Merge pull request #15899 from jketema/destructors10
...
C++: Add IR tests for the destruction of temporaries
2024-03-13 11:56:04 +00:00
Mathias Vorreiter Pedersen
465c3c18e3
C++: Add change note.
2024-03-13 11:49:26 +00:00
Mathias Vorreiter Pedersen
3ea39a2553
C++: Add some query tests.
2024-03-13 11:39:34 +00:00
Mathias Vorreiter Pedersen
bcd36b1994
C++: Recognize glib allocations and deallocations.
2024-03-13 11:39:15 +00:00
Geoffrey White
9aad43f649
C++: Add indirect test models.
2024-03-13 11:34:36 +00:00
Jeroen Ketema
3ef1ab49ea
C++: Add IR tests for the destruction of temporaries
2024-03-13 12:00:02 +01:00
Geoffrey White
cbacd51337
C++: Make Argument[-1] refer to *this rather than this.
2024-03-12 17:51:43 +00:00
Geoffrey White
22d5e9bbfb
C++: Add test cases involving pointer qualifiers.
2024-03-12 17:47:11 +00:00
Mathias Vorreiter Pedersen
ab6e2f9364
C++: Accept test regression.
2024-03-12 15:04:49 +00:00
Geoffrey White
900c8b71d8
C++: Complete the SummaryCall class.
2024-03-12 14:23:00 +00:00
Mathias Vorreiter Pedersen
51f5740707
C++: Exclude functions that aren't declared inside the source root. This fixes performance on ImageMagick.
2024-03-12 14:20:16 +00:00
Mathias Vorreiter Pedersen
6a563c161e
C++: Simplify the definition of 'isNonConst'. On ImageMagick I get the same exact sources before and after.
2024-03-12 14:20:09 +00:00
Mathias Vorreiter Pedersen
179a7d500e
C++: Handle 'wchar_t' types that may be defined as unsigned short in C. This brings back SAMATE results.
2024-03-12 14:19:48 +00:00
Geoffrey White
a27949cffa
C++: Set certain = true in storeStepImpl.
2024-03-12 14:08:20 +00:00
Tom Hvitved
dddba3228b
Merge pull request #15867 from hvitved/dataflow/ap-limit
...
Data flow: Add `ConfigSig::accessPathLimit`
2024-03-12 14:57:51 +01:00
Mathias Vorreiter Pedersen
1a42e55095
Merge pull request #15820 from MathiasVP/add-type-confusion-query
...
C++: Add a new query for detecting type confusion vulnerabilities
2024-03-12 10:29:22 +00:00
Tom Hvitved
1c57e99686
C++: Implement new data flow interface
2024-03-11 20:56:38 +01:00
Mathias Vorreiter Pedersen
9854ed4b89
C++: Delete comment.
2024-03-11 18:54:53 +00:00
Mathias Vorreiter Pedersen
2345907a52
C++: Reintroduce the 'cannotContainString' optimization that was removed in #15516 .
2024-03-11 18:49:03 +00:00
Mathias Vorreiter Pedersen
f97b6e2848
C++: Stop conflating pointers and indirections in the query.
2024-03-11 18:48:19 +00:00
Mathias Vorreiter Pedersen
32e532ff3c
C++: Some cleanup to avoid conflating the case of a function returning something as a return value, and a function updating one of its arguments.
2024-03-11 18:42:42 +00:00
Henry Mercer
c325ff8a23
Mark lines of code queries as telemetry queries
...
The new file coverage metrics are available in all supported GHES
versions. This PR tags lines of code queries as telemetry queries. Lines
of code information will still be available in the SARIF file, but it
will no longer be displayed in the logging output of the CLI.
The one exception is the metric queries for Java/Kotlin that provides
separate lines of code information for Java and Kotlin. I've kept these
since separate file coverage information for languages like Java and
Kotlin is only available for GHES 3.12 and later.
2024-03-11 16:40:31 +00:00
Mathias Vorreiter Pedersen
7b0df57d7a
C++: Remove the two configurations that depend on flow state to speed up performance on ChakraCore.
2024-03-11 13:56:22 +00:00
Geoffrey White
026a13b4db
C++: Change Node/Node0.getEnclosingCallable back to returning Declaration.
2024-03-11 12:22:55 +00:00
Tom Hvitved
da66281fef
Sync files
2024-03-11 13:02:04 +01:00
Geoffrey White
4bc272da73
C++: Doc correction and TODOs for interpretOutput, interpretInput.
2024-03-11 10:16:46 +00:00
Geoffrey White
e8d0f1fa3e
C++: Comments.
2024-03-08 18:25:01 +00:00
Mathias Vorreiter Pedersen
761f6d3a7e
C++: Disable field flow from the 'cpp/type-confusion' query to fix performance on ChakraCore.
2024-03-07 15:24:04 -08:00