semmle-qlci
887daeca12
Merge pull request #290 from esben-semmle/js/autobind-classes
...
Approved by xiemaisi
2018-10-08 12:37:30 +01:00
Tom Hvitved
ff2abe0356
C#: Add qldoc to getTypeArgumentRanked()
2018-10-08 13:33:50 +02:00
Geoffrey White
4fb6611dbe
CPP: Change note for #264 .
2018-10-08 12:19:45 +01:00
Geoffrey White
f706d2a96c
CPP: Change notes.
2018-10-08 12:19:45 +01:00
Tom Hvitved
49644bfb47
Merge remote-tracking branch 'upstream/master' into mergeback-2018-10-08
2018-10-08 11:48:56 +02:00
Jonas Jensen
799c034a5e
Merge pull request #282 from rdmarsh2/rdmarsh/cpp/simple-range-analysis-caching
...
C++: add cached module to SimpleRangeAnalysis
2018-10-08 11:44:35 +02:00
Jonas Jensen
628540cf7b
Merge remote-tracking branch 'upstream/rc/1.18' into mergeback-20181008
2018-10-08 09:55:31 +02:00
Jonas Jensen
0644e0ffb2
Merge pull request #286 from geoffw0/wrongtype16
...
CPP: Fix WrongTypeFormatArguments.ql char16_t * issues (and others)
2018-10-08 09:50:02 +02:00
Esben Sparre Andreasen
a668f906bc
JS: recognize binding decorators on classes
2018-10-08 07:58:12 +02:00
Geoffrey White
e2a001f925
Merge pull request #285 from jbj/primitive-bb-joinorder
...
C++: Speed up primitive basic block calculation
2018-10-06 19:47:49 +01:00
Geoffrey White
e0140f9112
CPP: Change some uses of WideCharType to Wchar_t.
2018-10-05 22:03:47 +01:00
Geoffrey White
ecf8e5d936
CPP: Add backticks.
2018-10-05 21:42:16 +01:00
Geoffrey White
d649835f45
CPP: Add an explanatory comment on WideCharType and Wchar_t.
2018-10-05 21:41:35 +01:00
Robert Marsh
c0cf16ab2e
C++: move expr predicactes to cached module
2018-10-05 09:34:16 -07:00
Geoffrey White
99816d77e3
CPP: Additional test case fixed in combination with typedef work.
2018-10-05 17:13:50 +01:00
Geoffrey White
998b28b359
CPP: Change note.
2018-10-05 16:52:06 +01:00
Geoffrey White
67a7b75b84
CPP: Simplify getAFormatterWideType.
2018-10-05 16:40:54 +01:00
Geoffrey White
605db444a6
CPP: Fix for consistency.
2018-10-05 16:40:54 +01:00
Geoffrey White
94ff2e5693
CPP: Lets just not report when we're not sure.
2018-10-05 16:40:54 +01:00
Geoffrey White
2841897e3a
CPP: Make getAFormatterWideType more general and move it into FormattingFunction.qll.
2018-10-05 16:40:54 +01:00
Geoffrey White
580471ab1d
CPP: Replace stripTopLevelSpecifiers to emulate old behaviour.
2018-10-05 16:40:54 +01:00
Geoffrey White
89c56486b5
CPP: Test getDefaultCharType etc.
2018-10-05 16:40:54 +01:00
Geoffrey White
e2be19b555
CPP: New mechanism for string types in printf.qll.
2018-10-05 16:40:54 +01:00
Geoffrey White
1af6c10888
CPP: Add a test where different word sizes are present.
2018-10-05 16:40:54 +01:00
Geoffrey White
800555865a
CPP: More test cases.
2018-10-05 16:40:54 +01:00
Geoffrey White
2af56b89b1
CPP: Add a test where different wide types are present.
2018-10-05 15:32:36 +01:00
Geoffrey White
39f030b8f7
CPP: Annotate test.
2018-10-05 15:32:36 +01:00
Geoffrey White
e74721e3a4
CPP: Test fixes as a result of changes.
2018-10-05 15:32:36 +01:00
Geoffrey White
6e5207ce3c
CPP: Allow declarations of library printf functions in source (repairs most of the tests).
2018-10-05 15:32:36 +01:00
Robert Marsh
fe8f7e9624
C++: consider attributes when finding wide string functions
2018-10-05 15:32:36 +01:00
Robert Marsh
5b8925c699
C++: document new predicate
2018-10-05 15:32:36 +01:00
Robert Marsh
a3459ddf08
C++: add support for custom wide character sizes
...
Certain Microsoft projects, such as CoreCLR and ChakraCore, use a
library called the PAL, which enables two-byte strings in the printf
family of functions, even when built on a platform with four-byte
strings. This adds support for determining the size of a wide character
from the definitions of such functions, rather than assuming that they
match the compiler's wchar_t.
2018-10-05 15:32:35 +01:00
Jonas Jensen
11e03b3161
C++: Fix primitive_basic_block_member join order
...
This predicate looked like a join of two already-computed predicates,
but it was a bit more complicated because the `*` operator expands into
two cases: the reflexive case and the transitive case. The join order
for the transitive case placed the `PrimitiveBasicBlock` charpred call
_after_ the `member_step+` call, which means that all the tuples of
`member_step+` passed through the pipeline.
This commit changes the implementation by fully writing out the
expansion of `*` into two cases, where the base case is manually
specialised to make sure the join orderer doesn't get tempted into
reusing the same strategy for both cases. This speeds up the predicate
from 2m38s to 1s on a snapshot of our own C/C++ code.
2018-10-05 14:26:04 +02:00
Jonas Jensen
265852058d
C++: Faster implementation of BB entry node
...
The existing implementation of `primitive_basic_block_entry_node` was
"cleverly" computing two properties about `node` with a single
`strictcount`: whether `node` had multiple predecessors and whether any
of those predecessors had more than once successor. This was fast enough
on most snapshots, but on the snapshot of our own code it took 37
seconds to compute `primitive_basic_block_entry_node` and its auxiliary
predicates. This is likely to have affected other large snapshots too.
With this change, the property is computed like in our other languages,
and it brings the run time down to 4 seconds.
2018-10-05 14:20:03 +02:00
Robert Marsh
f3539e472c
C++: add cached module to SimplerangeAnalysis
2018-10-04 15:25:10 -07:00
Jonas Jensen
4720c5ab60
Merge pull request #264 from raulgarciamsft/users/raulga/c6276
...
C++: incorrect string type conversion
2018-10-04 21:06:07 +02:00
Jonas Jensen
7691c0a345
Merge pull request #280 from pavgust/imp/use-in-own-init
...
UseInOwnInitialiser: Refactor logic slightly.
2018-10-04 20:25:36 +02:00
Max Schaefer
989a82fd1e
Merge pull request #271 from asger-semmle/ts-expansive-types
...
TypeScript: test case for type expansion through function type parameter
2018-10-04 19:23:54 +01:00
semmle-qlci
03f2d8f605
Merge pull request #247 from aschackmull/java/dispatchflow-typepruning
...
Approved by yh-semmle
2018-10-04 18:22:44 +01:00
Robert Marsh
d6f6d67c13
Merge pull request #281 from kevinbackhouse/GlobalValueNumberingBugFix
...
Workaround for getFullyConverted returning multiple results.
2018-10-04 09:54:36 -07:00
Anders Schack-Mulligen
1c2807e5e7
Java: Add missing private annotations.
2018-10-04 17:33:10 +02:00
Kevin Backhouse
6df9bc855a
Workaround for getFullyConverted returning multiple results.
2018-10-04 15:40:18 +01:00
Pavel Avgustinov
6d77a791ac
UseInOwnInitialiser: Refactor logic slightly.
...
By pulling out the class `VariableAccessInInitialiser`, we can
avoid some redundant work on pathological databases, improving
performance.
2018-10-04 14:25:59 +01:00
semmle-qlci
262cb998fc
Merge pull request #278 from hvitved/csharp/metrics-queries-xml
...
Approved by pavgust
2018-10-04 14:10:40 +01:00
semmle-qlci
98254e87e1
Merge pull request #132 from denislevin/denisl/js/HttpToFileAccessTest
...
Approved by xiemaisi
2018-10-04 14:06:46 +01:00
semmle-qlci
30412caa16
Merge pull request #276 from jbj/PointlessComparison-templates
...
Approved by kevinbackhouse
2018-10-04 12:34:52 +01:00
Asger F
8bc92bd534
TS: test case for type expansion through type parameter bound
2018-10-04 12:05:05 +01:00
Asger F
c2a5f99d9c
JS: include referer header as reflected XSS source
2018-10-04 10:53:10 +01:00
Asger F
dc26bdc5e7
JS: Move isThirdPartyControllable into RequestInputAccess
2018-10-04 10:36:49 +01:00
Tom Hvitved
4ca10986cb
C#: Remove queries.xml from the Metrics folder
2018-10-04 11:13:01 +02:00