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