Commit Graph

4510 Commits

Author SHA1 Message Date
Robert Marsh
fb6e578618 C++: move IR range analysis to experimental 2020-06-24 12:50:14 -07:00
dilanbhalla
0552f9b0cc memory unsafe scan functions 2020-06-24 11:47:34 -07:00
Geoffrey White
7af79abdbc C++: Use the ArrayFunction model in Dereferenced.qll. 2020-06-24 19:06:05 +01:00
Geoffrey White
d258aaff26 C++: Extend the memcpy model to include 'bcopy'. 2020-06-24 19:05:38 +01:00
Geoffrey White
d259e8e8df C++: Correct StrCpy.hasTaintFlow. 2020-06-24 18:34:02 +01:00
Geoffrey White
c3d275d0e7 C++: Clean up SprintfBW and comment Sprintf. 2020-06-24 18:34:02 +01:00
Geoffrey White
c681e6999d C++: Refine the strcat and strcpy models, have BufferWrite depend on them so that information isn't duplicated. 2020-06-24 18:34:02 +01:00
Mathias Vorreiter Pedersen
7530dc2132 C++: Hide operand nodes from path explanations to make the review diff smaller. 2020-06-24 18:28:23 +02:00
Mathias Vorreiter Pedersen
5aa1b13136 C++: Make the pre update node for ExplicitFieldStoreQualifierNode an operand node. This fixes the IR dataflow consistency errors. 2020-06-24 18:27:53 +02:00
Mathias Vorreiter Pedersen
470ee0059d C++: Alternate dataflow between operands and instructions 2020-06-24 18:27:12 +02:00
Mathias Vorreiter Pedersen
d7a9d3d8bc C++: Introduce operand dataflow node 2020-06-24 18:26:17 +02:00
Geoffrey White
ff0a9bfc48 C++: QLDoc Stmt.qll, Block.qll. 2020-06-24 13:57:29 +01:00
Geoffrey White
ed32250636 C++: Deprecate Member.qll. 2020-06-24 13:57:28 +01:00
Geoffrey White
f1aac04bdf C++: Deprecate overly specific parts of Type.qll. 2020-06-24 13:57:28 +01:00
Geoffrey White
e43ddd3f78 C++: QLDoc Type.qll. 2020-06-24 13:57:28 +01:00
Geoffrey White
6bcc1a0220 C++: QLDoc NameQualifiers.qll, Namespace.qll, NestedFields.qll. 2020-06-24 13:57:27 +01:00
Anders Schack-Mulligen
941177ee25 Merge pull request #3762 from hvitved/dataflow/clear-contents
Data flow: Model field clearing
2020-06-24 10:19:50 +02:00
Geoffrey White
afcc6ac712 Merge pull request #3766 from rdmarsh2/rdmarsh/cpp/add-qldoc-3
C++: Add QLDocs for Initializer.qll-Macro.qll and model classes
2020-06-24 07:31:48 +01:00
Mathias Vorreiter Pedersen
30d9c6b9e4 Merge pull request #3776 from geoffw0/qldoc
C++: QLDoc ObjectiveC.qll, BufferWrite.qll, FileWrite.qll, OutputWrite.qll
2020-06-23 22:23:03 +02:00
Robert Marsh
edaa43ab0b C++: respond to PR comments on qldoc 2020-06-23 09:23:08 -07:00
Geoffrey White
fbaf398e7a C++: QLDoc FileWrite and OutputWrite. 2020-06-23 16:57:22 +01:00
Geoffrey White
e01f050db8 C++: QLDoc BufferWrite.qll. 2020-06-23 16:29:00 +01:00
Geoffrey White
dea9a13e44 C++: QLDoc ObjectiveC.qll (deprecated). 2020-06-23 16:28:51 +01:00
Tom Hvitved
a3e7fd60f2 Data flow: Enable syntax highlighting in QLDoc snippets 2020-06-23 16:54:34 +02:00
Geoffrey White
dd19ee47a1 C++: Clean up ConversionConstructor. 2020-06-23 11:22:59 +01:00
Tom Hvitved
ff751ac0f8 Data flow: Sync files 2020-06-23 10:55:12 +02:00
Tom Hvitved
83050d96f8 C++: Stub implementations for clearsContent() 2020-06-23 10:55:12 +02:00
Tom Hvitved
c057e82efa Data flow: Sync files 2020-06-23 10:55:11 +02:00
Jonas Jensen
3747bd98f3 Merge pull request #3694 from geoffw0/models
C++: Extend the GetsFunction and SystemFunction models.
2020-06-23 10:15:32 +02:00
Mathias Vorreiter Pedersen
55ce5ce47a Merge pull request #3754 from jbj/revert-flat-structs
C++: Revert #3419 to fix OpenJDK performance
2020-06-23 08:58:08 +02:00
Robert Marsh
c1eb712841 C++: QLDoc for data and taint models 2020-06-22 17:25:55 -07:00
Robert Marsh
231b85cb11 C++: File-level QLDoc for publicly imported models 2020-06-22 11:43:43 -07:00
Geoffrey White
466f36c7e1 C++: Autoformat. 2020-06-22 16:04:32 +01:00
Jonas Jensen
5a5df4de26 Revert "Merge pull request #3419 from MathiasVP/flat-structs"
There was unfortunately a semantic merge conflict between #3419 and
 #3587 that caused a performance regression on (at least) OpenJDK.

This reverts commit 982fb38807, reversing
changes made to b841cacb83.
2020-06-22 14:09:06 +02:00
Geoffrey White
104298e09a Merge branch 'master' into models5 2020-06-22 10:59:15 +01:00
Tom Hvitved
72e6c9c2b1 Data flow: Use accessPathLimit() in partial flow as well 2020-06-22 10:08:51 +02:00
Pavel Avgustinov
00f1e57d0c Update cpp-security-extended.qls 2020-06-19 20:16:24 +01:00
Jonas Jensen
09d7ed092b Merge pull request #3612 from dbartol/github/codeql-c-analysis-team/69_union
C++: Share `TInstruction` across IR stages
2020-06-19 16:03:11 +02:00
Geoffrey White
c18e0aa21a C++: Add a TODO comment. 2020-06-19 14:30:56 +01:00
Geoffrey White
ab8d1ea723 C++: Model ConversionConstructor instead of all Constructors. 2020-06-19 10:55:10 +01:00
Anders Schack-Mulligen
8107fbadc2 Merge pull request #3456 from hvitved/dataflow/precise-field-types
Data flow: Track precise types during field flow
2020-06-19 11:50:10 +02:00
Geoffrey White
3f4ebd285f C++: Move models into models dir. 2020-06-19 10:26:07 +01:00
Geoffrey White
e0651b2c19 Merge remote-tracking branch 'upstream/master' into models5 2020-06-19 10:15:25 +01:00
Geoffrey White
03c6d7a7e5 Merge pull request #3654 from jbj/controlsBlock-perf
C++: Speed up IRGuardCondition::controlsBlock
2020-06-17 17:53:10 +01:00
Anders Schack-Mulligen
74eab3cbc0 Dataflow: Fix qltest. 2020-06-17 17:23:35 +02:00
Anders Schack-Mulligen
cedfaf6aaf Dataflow: autoformat 2020-06-17 17:09:55 +02:00
Anders Schack-Mulligen
543ab71dfe Dataflow: minor review fixes. 2020-06-17 17:03:22 +02:00
Geoffrey White
33fab08975 C++: Autoformat. 2020-06-17 15:53:05 +01:00
Dave Bartolomeo
687d6d2643 C++: Replace TRawInstruction() calls
Replace most direct calls to `TRawInstruction()` with calls to `getInstructionTranslatedElement()` and `getInstructionTag()`, matching existing practice. One tiny RA diff in an inconsequential join order in `getInstructionVariable`.
2020-06-17 10:52:32 -04:00
Geoffrey White
833f5b0cf3 C++: Add flow through assignment operators. 2020-06-17 15:47:37 +01:00