Mathias Vorreiter Pedersen
777755a241
C++: Add alias models for 'fopen'.
2024-04-05 19:02:23 +01:00
Mathias Vorreiter Pedersen
54e4103e71
C++: Fix another multiple parents problem.
2024-04-05 18:07:53 +01:00
Mathias Vorreiter Pedersen
f1d2dac648
C++: Fix a bug where the destructor attached to a 'new' expression would
...
have multiple parents (the 'new' expression, the call to 'operator new',
and the size expression). This happens because the latter two are
'TranslatedExpr's that return the 'new' expression as their expression
even though they don't technically represent the translation of this
expression.
To prevent this bug we tell the IR construction that the latter two
handle their destructors explicitly which means that IR construction
doesn't try to synthesize them.
2024-04-05 14:46:27 +01:00
Mathias Vorreiter Pedersen
d279e3f17a
C++: Suppress destructor calls for the right-hand side of logical operations since these are also conditional.
2024-04-05 09:47:11 +01:00
Mathias Vorreiter Pedersen
f098b8eb82
C++: Make sure the edge kind out of a throw is an 'ExceptionEdge' even if destructors are called.
2024-04-04 20:01:52 +01:00
Geoffrey White
bdc3d10cdb
C++: QLDoc SummaryCall, SourceCallable and SummarizedCallable.
2024-04-04 17:13:59 +01:00
Mathias Vorreiter Pedersen
180888616b
C++: Properly handle the case where a TranslatedElement has no children.
2024-04-04 16:02:01 +01:00
Mathias Vorreiter Pedersen
73602dca92
C++: Also suppress destructor calls on throwing ternary expressions.
2024-04-04 14:51:11 +01:00
Mathias Vorreiter Pedersen
796fcfec6c
C++: Handle conversions in 'isInConditionalEvaluation'.
2024-04-04 14:44:16 +01:00
Mathias Vorreiter Pedersen
a756f14e77
C++: Only report implicit destructors if we need to translate them.
2024-04-04 14:41:23 +01:00
Robert Marsh
17e8c95e7f
C++: suppress destructors on conditional temporaries
2024-04-04 11:28:10 +01:00
Robert Marsh
75c453fd30
C++: Unsuppress temporary destructors in IR
2024-04-04 10:29:59 +01:00
Geoffrey White
a8742ea111
C++: PascalCase and US spelling fixes.
2024-04-03 14:17:55 +01:00
Tom Hvitved
1dc13cc169
Merge pull request #15923 from hvitved/shared-xml-impl
...
Properly shared `XML.qll` implementation
2024-04-03 11:39:50 +02:00
Geoffrey White
f2ef4ad6ac
C++: Update for the provenance changes.
2024-04-02 16:15:08 +01:00
Geoffrey White
57beb73bf7
C++: Update for the dataflow hasLocationInfo -> getLocation change made on main.
2024-04-02 16:15:06 +01:00
Geoffrey White
f1ead2554f
C++: Trivial merge fixes.
2024-04-02 16:15:05 +01:00
Geoffrey White
33164c8a43
Merge branch 'main' into mad
2024-04-02 16:14:53 +01:00
Jeroen Ketema
3c8c45872e
Merge pull request #16060 from jketema/qual-fix
...
C++: Output destructor calls for delete expressions
2024-04-02 11:49:51 +02:00
Jeroen Ketema
01183800a6
C++: Fix formatting
2024-04-02 11:38:19 +02:00
Jeroen Ketema
9190bf25ce
C++: Add example to QLDoc
2024-04-02 11:35:43 +02:00
Jeroen Ketema
a5d4fad806
C++: Output destructor calls for delete expressions
2024-04-02 10:32:03 +02:00
github-actions[bot]
8e61c6625b
Post-release preparation for codeql-cli-2.17.0
2024-04-01 15:27:42 +00:00
github-actions[bot]
ec97d9a304
Release preparation for version 2.17.0
2024-04-01 13:46:57 +00:00
Geoffrey White
fa26b55452
C++: Add models-as-data models for ZMQ networking library + wiring.
2024-03-28 21:50:07 +00:00
Geoffrey White
5618001c3f
C++: More QLDoc refinement.
2024-03-28 21:50:07 +00:00
Geoffrey White
03d0d984e3
C++: Remove duplicate TDataFlowCallable's and fix three places where we assumed a source callable (two of them would have caused lost results).
2024-03-28 11:39:43 +00:00
Geoffrey White
a55f07ac68
C++: QLDoc FlowSummaryNode.
2024-03-28 10:17:39 +00:00
Jeroen Ketema
9eb51a9b9e
C++: Add value category column to the expr_reuse relation
2024-03-27 22:49:40 +01:00
Geoffrey White
103932fec8
C++: Resolve discussed TODO comment.
2024-03-27 16:44:50 +00:00
Geoffrey White
507ada1951
C++: Sort out the localFlow / simpleLocalFlow confusion (and the same for taint).
2024-03-27 16:05:35 +00:00
Mathias Vorreiter Pedersen
7bb2b57394
Merge pull request #15964 from rdmarsh2/rdmarsh2/cpp/temp-destructors-extended
...
C++: IR translation for destruction of temporaries with extended lifetimes
2024-03-27 11:58:48 +00:00
Jeroen Ketema
27c6e2421c
C++: Add VariableTemplateInstantiation class
...
This adds some uniformity, as we already had `FunctionTemplateInstantiation` and
`ClassTemplateInstantiation` classes.
2024-03-27 11:35:13 +01:00
Mathias Vorreiter Pedersen
3bfaab9182
C++: Remove debugging conjunct.
2024-03-26 17:01:06 +00:00
Mathias Vorreiter Pedersen
6a8c592900
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/FlowSteps.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2024-03-26 16:59:18 +00:00
Mathias Vorreiter Pedersen
d610d721a4
C++: Add file QLDoc.
2024-03-26 16:47:39 +00:00
Mathias Vorreiter Pedersen
e3744c435a
C++: Add change note.
2024-03-26 16:44:16 +00:00
Mathias Vorreiter Pedersen
2075716df7
C++: Add 'TaintInheritingContent'.
2024-03-26 16:37:22 +00:00
Henry Mercer
0646744928
Merge branch 'main' into henrymercer/merge-back-rc-3.13
2024-03-26 12:59:12 +00:00
Geoffrey White
8fbbc2b6d8
C++: Improve QLDoc.
2024-03-26 11:21:25 +00:00
Geoffrey White
ce52cbb428
C++: Disambiguate *n1..n2 doc.
2024-03-25 18:22:28 +00:00
github-actions[bot]
f67b5f9158
Post-release preparation for codeql-cli-2.16.6
2024-03-25 18:17:15 +00:00
Geoffrey White
76780d74d9
C++: Unify four implementations of repeatStars. Note that the recursive approach is faster for very large strings (well over 100 stars), while the concat approach appears to be faster for short strings and does not require an upper bound.
2024-03-25 18:10:21 +00:00
Geoffrey White
95db7aa776
C++: Clean up argument / parameter position logic.
2024-03-25 18:10:21 +00:00
Geoffrey White
58737b1d7e
C++: We *could* support .Argument with no index, but I'm not convinced we can do so efficiently, so lets not.
2024-03-25 17:08:15 +00:00
github-actions[bot]
71ab804274
Release preparation for version 2.16.6
2024-03-25 16:58:08 +00:00
Geoffrey White
cf35fd4dee
C++: Improve ExternalFlow.qll doc.
2024-03-25 16:52:09 +00:00
Geoffrey White
dec5fc0f48
C++: Switch MAD syntax from *Argument[0] style to Argument[*0] style.
2024-03-25 11:20:55 +00:00
Geoffrey White
b598b4ac45
C++: Fix for field content indirection (1-based).
2024-03-25 11:20:55 +00:00
Geoffrey White
73e95d67b9
C++: Implement Field indirection.
2024-03-25 11:20:55 +00:00