Commit Graph

78658 Commits

Author SHA1 Message Date
Pavel Avgustinov
3182274ce8 Merge pull request #87 from lukecartey/csharp/ccyclomatic-kind
C#: Fix @kind property of CCyclomaticComplexity
2018-08-23 03:50:36 -07:00
semmle-qlci
3b09ab97bf Merge pull request #92 from jbj/XMLFile-is-File
Approved by ian-semmle
2018-08-23 11:15:12 +01:00
Jonas Jensen
fc0330beb6 C++: Make XMLFile extend File again
Commit a1e44041e made `XMLFile` no longer extend `File`. I'm guessing
this was necessary in the branch where `File` was an IPA-typed `Element`
and `XMLFile` was not, but it broke compilation of some of our internal
queries.
2018-08-23 10:09:42 +02:00
Max Schaefer
2187b0c245 Merge pull request #89 from esben-semmle/js/sharpen-type-confusion
JS: remove emptiness checks from the type confusion `x.length` sinks
2018-08-23 08:04:09 +01:00
Dave Bartolomeo
bba7f16790 C++: Simplify TranslatedExpr hierarchy a bit
I introduced some unnecessary base classes in the `TranslatedExpr` hierarchy with a previous commit. This commit refactors the hierarchy a bit to align with the following high-level description:
`TranslatedExpr` represents a translated piece of an `Expr`. Each `Expr` has exactly one `TranslatedCoreExpr`, which produces the result of that `Expr` ignoring any lvalue-to-rvalue conversion on its result. If an lvalue-to-rvalue converison is present, there is an additional `TranslatedLoad` for that `Expr` to do the conversion. For higher-level `Expr`s like `NewExpr`, there can also be additional `TranslatedExpr`s to represent the sub-operations within the overall `Expr`, such as the allocator call.
2018-08-22 17:13:03 -07:00
Max Schaefer
1aa7a2cfc2 Merge pull request #80 from asger-semmle/ts-typescript3.0
TypeScript: support TypeScript 3.0 features
2018-08-22 20:19:18 +01:00
calumgrant
7c521708ac Merge pull request #76 from hvitved/csharp/cfg/generic-splitting
C#: Generic control flow graph splitting
2018-08-22 18:18:33 +01:00
Esben Sparre Andreasen
20b48a2d24 JS: support relational indexof comparison sanitizers 2018-08-22 15:58:47 +02:00
Esben Sparre Andreasen
b4c77b8344 JS: s/can not/cannot/ 2018-08-22 14:08:14 +02:00
Esben Sparre Andreasen
218c0cb51a JS: address review comments 2018-08-22 13:54:07 +02:00
Esben Sparre Andreasen
fef257b1ec JS: remove emptiness checks from the type confusion x.length sinks 2018-08-22 13:25:22 +02:00
Nick Rolfe
61bd003cf9 Merge pull request #86 from ian-semmle/typo
C++: Fix a copy/paste error in a comment
2018-08-22 10:18:38 +01:00
Asger F
35aa2e6fbb TypeScript: update test output 2018-08-22 10:18:38 +01:00
Asger F
1569f73ed8 TypeScript: update stats 2018-08-22 10:18:38 +01:00
Asger F
4eeaf63a3a TypeScript: update related test output 2018-08-22 10:18:38 +01:00
Asger F
d26aa04642 TypeScript: support optional and rest elements in static tuple type 2018-08-22 10:18:38 +01:00
Asger F
96005d2147 TypeScript: support unknown static type 2018-08-22 10:18:38 +01:00
Asger F
9a9bbac99e TypeScript: support syntax for unknown types 2018-08-22 10:18:38 +01:00
Asger F
4a9eb0fd3f TypeScript: Add tests for OptionalTypeExpr and RestTypeExpr 2018-08-22 10:18:38 +01:00
Asger F
241ce10da4 TypeScript: support syntax for rest elements in tuple types 2018-08-22 10:18:38 +01:00
Asger F
204b2a3002 TypeScript: support syntax for optional tuple type elements 2018-08-22 10:18:38 +01:00
semmle-qlci
7e7e30c01c Merge pull request #73 from esben-semmle/js/cleartext-logging-query
Approved by xiemaisi
2018-08-22 08:04:36 +01:00
semmle-qlci
7661a98909 Merge pull request #68 from esben-semmle/determinate-1-cfa-type-inference
Approved by xiemaisi
2018-08-22 08:02:27 +01:00
semmle-qlci
bcfd02f62d Merge pull request #85 from esben-semmle/js/format-string-taint-step
Approved by xiemaisi
2018-08-21 21:47:53 +01:00
Esben Sparre Andreasen
2b9f5c3fa2 JS: remove check for test-environment in js/clear-text-logging 2018-08-21 22:32:52 +02:00
Esben Sparre Andreasen
3636708d30 JS: extract and expose StringConcatenationTaintStep in TaintTracking 2018-08-21 22:32:52 +02:00
Esben Sparre Andreasen
7607b6beff JS: use DataFlow::SourceNode in two additional locations 2018-08-21 22:32:52 +02:00
Esben Sparre Andreasen
6950bfe915 JS: review fixups in documentation and comments 2018-08-21 22:32:52 +02:00
Esben Sparre Andreasen
605695e117 JS: review fixups in documentation 2018-08-21 22:08:10 +02:00
Esben Sparre Andreasen
19e5db75a3 JS: make AnalyzedFunction public and move getAReturnValue there 2018-08-21 22:08:10 +02:00
Esben Sparre Andreasen
ac947f10e7 JS: address some review comments 2018-08-21 22:08:08 +02:00
Esben Sparre Andreasen
21c895368d JS: change notes for improved inter-procedural type inference 2018-08-21 22:07:40 +02:00
Esben Sparre Andreasen
6f5fb2a9fe JS: update queries and tests for improved type inference 2018-08-21 22:07:38 +02:00
Esben Sparre Andreasen
3692667af2 JS: improve inter-procedural type inference for "local functions" 2018-08-21 22:07:11 +02:00
Esben Sparre Andreasen
4e45ad2d5a JS: generalize inter procedural IIFE type inference 2018-08-21 21:59:30 +02:00
Dave Bartolomeo
b9a8293610 C++: IR translation for NewExpr and NewArrayExpr
These expressions are a little trickier than most because they include an implicit call to an allocator function. The database tells us which function to call, but we have to synthesize the allocation size and alignment arguments ourselves. The alignment argument, if it exists, is always a constant, but the size argument requires multiplication by the element count for most `NewArrayExpr`s. I introduced the new `TranslatedAllocationSize` class to handle this.
2018-08-21 11:10:29 -07:00
Dave Bartolomeo
07c08f83a6 Create common base class for NewExpr and NewArrayExpr 2018-08-21 11:10:28 -07:00
Nick Rolfe
44ae7b68f0 Merge pull request #63 from ian-semmle/unused_db_types
C++: Remove some unused DB types
2018-08-21 18:27:35 +01:00
Jonas Jensen
3bc9323844 Merge pull request #84 from rdmarsh2/rdmarsh/cpp/macro-get-expr-conversions
C++: exclude conversion in MacroInvocation.getExpr
2018-08-21 19:15:42 +02:00
Jonas Jensen
2481bc7ba2 Merge pull request #72 from dave-bartolomeo/dave/InitMemory
C++: Make `InitializeParameter` and `Uninitialized` return memory results
2018-08-21 19:04:20 +02:00
Esben Sparre Andreasen
eb356d8d0b Merge branch 'master' into js/format-string-taint-step 2018-08-21 15:47:31 +02:00
Luke Cartey
70abf2d58f C#: CCyclomaticComplexity - Fix @kind property.
CCyclomaticComplexity is a metric query, so needs a @kind treemap
instead of @kind table.
2018-08-21 14:42:05 +01:00
Luke Cartey
014c4e8579 C#: Update qlpath to fix metric queries.
The Metrics folder has a queries.xml file which is required when
building a full distribution, as the Metrics folder gets copied into
odasa-csharp-metrics directory. However, in QL for Eclipse this doesn't
compile because it prevents import lookup at the top level. Modifying
the qlpath file to include the top-level directory on the library path
fixes the problem.
2018-08-21 14:36:33 +01:00
semmle-qlci
6969466202 Merge pull request #83 from esben-semmle/js/bitwise-indexof-sanitizer
Approved by xiemaisi
2018-08-21 14:17:20 +01:00
Luke Cartey
4f57456df1 C#: ZipSlip - Add spaces into bad example. 2018-08-21 13:06:29 +01:00
Luke Cartey
6453153393 C#: ZipSlip - Address review comments in module. 2018-08-21 12:18:27 +01:00
Luke Cartey
6959d80a28 C#: ZipSlip - Update help, compile and test samples. 2018-08-21 12:17:48 +01:00
Ian Lynagh
8a4040e4e0 C++: Update stats 2018-08-21 11:22:19 +01:00
Ian Lynagh
176b7cb8bc C++: Remove some unused DB types 2018-08-21 11:22:19 +01:00
Ian Lynagh
68959cae3a C++: Fix a copy/paste error in a comment 2018-08-21 11:20:06 +01:00