Commit Graph

19777 Commits

Author SHA1 Message Date
Jonas Jensen
52e4058903 C++: Fix lambda_capture upgrade query join order
When this query was run as an upgrade script, the optimizer picked a bad
join order, making the upgrade very slow on large databases. It picked a
bad join order because upgrade scripts are run with no stats.
2019-08-24 15:33:50 +02:00
Taus Brock-Nannestad
76c0113155 Python: Update change note for 1.22. 2019-08-24 15:32:26 +02:00
Tom Hvitved
f17c670f90 Merge pull request #1814 from felicity-semmle/1.22/csharp-finalize-change-notes
C# 1.22: Finalize change notes
2019-08-24 14:59:10 +02:00
Felicity Chapman
0ef81b5932 Merge pull request #1 from asger-semmle/class-change-notes
JS: Add change note about CHA
2019-08-24 13:31:55 +01:00
Asger F
28d0e890a8 JS: Add change note about CHA 2019-08-24 13:23:34 +01:00
Jonas Jensen
bd9bebc096 Merge pull request #1811 from felicity-semmle/1.22/cpp-finalize-change-notes
C/C++ 1.22: finalize change notes
2019-08-24 14:09:01 +02:00
Felicity Chapman
71ac4003f5 Finalize release notes 2019-08-24 12:30:33 +01:00
Felicity Chapman
64dbb88efe Minor tidy up to release notes 2019-08-24 12:10:53 +01:00
semmle-qlci
fc59dd6819 Merge pull request #1788 from asger-semmle/additional-type-tracking-step
Approved by xiemaisi
2019-08-24 11:55:16 +01:00
Geoffrey White
c164d9390c Add a note about QLDoc comments
The changes aren't finished in this release, but there widespread enough we should acknowledge them.

Originally https://github.com/Semmle/ql/pull/1812.
2019-08-24 11:48:07 +01:00
Felicity Chapman
88a6cc0914 Update change-notes/1.22/analysis-cpp.md
Co-Authored-By: Nick Rolfe <nickrolfe@gmail.com>
2019-08-24 11:40:38 +01:00
Nick Rolfe
ead003e440 Merge pull request #1813 from pavgust/attribute
Improve attribution on some stub files
2019-08-24 11:40:32 +01:00
Felicity Chapman
9ccb0af133 Tidy up release notes 2019-08-24 11:37:07 +01:00
Felicity Chapman
22833251db Minor tidying up 2019-08-24 10:55:50 +01:00
Felicity Chapman
7a6f33890f Fix sort order for table 2019-08-24 10:48:42 +01:00
Taus
c6c307ffef Merge pull request #1810 from markshannon/python-speedup-slow-predicate
Python: Prevent bad magic in one predicate.
2019-08-24 11:35:09 +02:00
Pavel Avgustinov
da29d99560 Merge branch 'master' of github.com:Semmle/ql into attribute 2019-08-23 21:47:31 +01:00
semmle-qlci
af469fdeb8 Merge pull request #1773 from xiemaisi/js/undocumented-parameter-precision
Approved by esben-semmle
2019-08-23 21:29:10 +01:00
Mark Shannon
8909c3d6ab Python: Fix tags and message for CWE-312 queries. 2019-08-23 15:20:19 +01:00
Mark Shannon
20fc64c673 Python: Prevent bad magic in one predicate. 2019-08-23 15:08:19 +01:00
Tom Hvitved
16f40fd45a C#: Consolidate CFG tests 2019-08-23 15:25:01 +02:00
Jonas Jensen
1c51c34685 Merge pull request #1700 from geoffw0/lambdacaptureelement
CPP: Make LambdaCaptures Elements
2019-08-23 14:38:12 +02:00
Jonas Jensen
ec268c12f7 Merge pull request #1794 from aschackmull/java/changenotes-dataflow
Java/C#/C++: Add change notes for in/out barriers and barrierguards.
2019-08-23 11:55:33 +02:00
Anders Schack-Mulligen
66ea66582e Java/C#/C++: Add change notes for in/out barriers and barrierguards. 2019-08-23 11:42:07 +02:00
Anders Schack-Mulligen
2bea0a459a Java/C++/C#: Sync. 2019-08-23 11:34:17 +02:00
Anders Schack-Mulligen
6e97f22b43 Java/C++/C#: Improve performance of pruning in field flow. 2019-08-23 11:32:45 +02:00
Mark Shannon
06f5545f39 Merge pull request #1798 from taus-semmle/python-regex-support-short-mode-flags
Python: Support short mode flags (e.g. `re.M`) in regexes. (ODASA-8056)
2019-08-23 10:07:03 +01:00
Pavel Avgustinov
cc854dd937 Merge branch 'master' of github.com:Semmle/ql into attribute 2019-08-23 09:55:35 +01:00
semmle-qlci
cf24c9ff4a Merge pull request #1804 from asger-semmle/template-literal-tag
Approved by esben-semmle
2019-08-23 09:37:38 +01:00
james
aea7d5689f docs: address review comments 2019-08-23 09:32:58 +01:00
Geoffrey White
fbeb79729b CPP: Upgrade script. 2019-08-23 08:44:30 +01:00
Geoffrey White
cf6ada5758 CPP: Update stats. 2019-08-23 08:44:29 +01:00
Geoffrey White
29000c411c CPP: Make LambdaCapture an Element. 2019-08-23 08:44:29 +01:00
Geoffrey White
6462da736b CPP: Another test case. 2019-08-23 08:44:29 +01:00
Geoffrey White
19a0d4697e CPP: More thorough test of LambdaCapture. 2019-08-23 08:44:29 +01:00
Tom Hvitved
c5d9d74c0a C#: Nested field flow 2019-08-23 09:25:05 +02:00
Ziemowit Laski
e6f7f16aee [CPP-387] Address more feedback. 2019-08-22 17:52:12 -07:00
Robert Marsh
23b74b5521 Merge pull request #1750 from dave-bartolomeo/dave/ZooKeeper
C++: Minimal IR support for `GNUVectorType`
2019-08-22 14:34:59 -07:00
Calum Grant
ff20a2ceb9 Merge pull request #1761 from hvitved/csharp/dataflow/fields
C#: Data flow through fields
2019-08-22 20:46:00 +01:00
Dave Bartolomeo
a84a7e8c8a C++: Fixup after rebase 2019-08-22 11:36:15 -07:00
Dave Bartolomeo
8a9528b1a8 C++: Accept test output after fixes for PointerAdd element sizes 2019-08-22 10:43:31 -07:00
Dave Bartolomeo
3108d97ea5 C++: Minimal IR support for GNUVectorType
Lack of support for the GCC vector extensions was causing a bunch of sanity failures in the syntax zoo. This PR adds minimal IR generation support for these types.

Added `VectorAggregateLiteral`, and factored most of `ArrayAggregateLiteral` out into the common base class `ArrayOrVectorAggregateLiteral`. I'd be happy to merge these all into `ArrayAggregateLiteral` if we don't care about the distinction.

Made a few tweaks to `TranslatedArrayExpr` to compute the element type by looking at the result type of the `ArrayExpr`, not the type of the base operand. Note that this means that for `T a[10]; a[i] = foo;`, the result of the `PointerAdd` for `a[i]` will now be `glvalue<T>`, not `T*`. This is actually more faithful to the source language, and has no semantic difference on the IR.

Added some missing `getInstructionElementSize()` overrides.

Added the new `BuiltIn` opcode, renamed the existing `BuiltInInstruction` to `BuiltInOperationInstruction`, and made any `BuiltInOperation` that we don't specifically handle translate to `BuiltIn`. `BuiltInOperationInstruction` now has a way to get the specific `BuiltInOperation`.

Added `getCanonicalQLClass()` overrides for `GNUVectorType` and `BuiltInOperation`.

Added a simple IR test for vector types.
2019-08-22 10:43:30 -07:00
Asger F
45d4b83fc8 TS: Extract type args to tagged template exprs 2019-08-22 18:07:29 +01:00
Jonas Jensen
f5a63e3a91 Merge pull request #1801 from geoffw0/lambdar
CPP: Update taint test comments.
2019-08-22 18:45:41 +02:00
Nick Rolfe
bea1f687e7 Merge pull request #1796 from mgrettondann/enable-usingentry-getenclosingelement
C++: Add support for UsingEntry.getEnclosingElement
2019-08-22 17:01:57 +01:00
Taus Brock-Nannestad
92f48191c2 Update test results for UndefinedGlobal.ql. 2019-08-22 17:53:36 +02:00
Geoffrey White
a70975f95f CPP: Update test comments. 2019-08-22 15:40:38 +01:00
Anders Schack-Mulligen
ef0c6d01eb Java: Add a global extension point for taint steps. 2019-08-22 16:38:59 +02:00
Geoffrey White
c007d4ffd7 Merge pull request #1781 from jbj/dataflow-location-workaround
C++: Workaround for lambda expression locations
2019-08-22 15:36:22 +01:00
james
372243aa1a docs: some more slide fixes 2019-08-22 15:30:37 +01:00