Robert Marsh
09321ee062
C++: refactor escape analysis for performance
2019-03-07 13:14:51 -08:00
Robert Marsh
6f76c13385
C++: fix unused variable warning
2019-03-07 13:14:50 -08:00
Robert Marsh
726f38c802
C++: refactor alias analysis for performance
2019-03-07 13:14:50 -08:00
Robert Marsh
c70bd285de
C++: assume arguments to virtual functions escape
2019-03-07 13:14:49 -08:00
Robert Marsh
2c94a8887d
C++: test for virtual functions in escape analysis
2019-03-07 13:14:49 -08:00
Robert Marsh
6089172554
C++: escape analysis for this parameters
2019-03-07 13:14:49 -08:00
Robert Marsh
466e110338
C++: add new interprocedural escape analysis
2019-03-07 13:14:48 -08:00
Robert Marsh
bd39698528
C++: test changes for interproc escape analysis
2019-03-07 13:14:48 -08:00
Calum Grant
f6828fa5e5
Merge pull request #1053 from hvitved/csharp/dispatch-tweak
...
C#: `Dispatch.qll` performance tweaks
2019-03-07 16:21:29 +00:00
semmle-qlci
9dccd9f62c
Merge pull request #1050 from asger-semmle/prototype-instance-methods
...
Approved by xiemaisi
2019-03-07 16:10:29 +00:00
Max Schaefer
b85f44643a
Merge pull request #1049 from asger-semmle/js-type-tracking
...
JS: Add TypeTracking library
2019-03-07 16:09:19 +00:00
calum
fe4cdfdae0
C#: Minimise the test further.
2019-03-07 15:46:36 +00:00
calum
b358f87570
C#: Improve performance.
2019-03-07 14:56:07 +00:00
Mark Shannon
ef1c08e351
Python: Fix up OsGuard class.
2019-03-07 14:21:03 +00:00
calum
6cf2aee2ce
C#: Fix failed CIL test.
2019-03-07 12:58:50 +00:00
Asger F
56977b80a0
JS: update comment
2019-03-07 11:35:41 +00:00
Asger F
d4566af271
JS: update test output
2019-03-07 11:27:07 +00:00
Tom Hvitved
397cc56a6f
C#: Cache DataFlow::Node::getLocation()
2019-03-07 12:16:12 +01:00
Tom Hvitved
e6f7632d4c
C#: Introduce data flow return nodes
...
Before this change,
```
flowOutOfCallableStep(CallNode call, ReturnNode ret, OutNode out, CallContext cc)
```
would compute all combinations of call sites `call` and returned expressions `ret`
up front.
Now, we instead introduce explicit return nodes, so each callable has exactly
one return node (as well as one for each `out`/`ref` parameter). There is then
local flow from a returned expression to the relevant return node, and
`flowOutOfCallableStep()` computes combinations of call sites and return nodes.
Not only does this result in better performance, it also makes `flowOutOfCallableStep()`
symmetric to `flowIntoCallableStep()`, where each argument is mapped to a parameter,
and not to all reads of that parameter.
2019-03-07 12:16:06 +01:00
Tom Hvitved
e6630cda6b
C#: Use explicit recursion in data flow predicate
2019-03-07 12:16:01 +01:00
Tom Hvitved
738d1117f2
C#: Avoid recomputing flowThroughCallableLibraryOutRef() between queries
2019-03-07 12:15:53 +01:00
Tom Hvitved
397ff84898
C#: Cache Ssa::ExplicitDefinition::getADefinition()
2019-03-07 12:15:44 +01:00
calum
173fbc806c
C#: Fix extractor to avoid the recursive eval of TypeArgumentList and update test results.
2019-03-07 09:44:18 +00:00
Raul Garcia
492ec9eb59
Update .gitignore
2019-03-06 17:13:25 -08:00
Raul Garcia
2e0c337a94
2n part of ICryptoTransform.
...
Detecting potential unsafe usage (object shared across multiple threads) on variables captured by Lambda
2019-03-06 17:12:33 -08:00
Robert Marsh
0efb110512
C++: docs for AllocaInLoop
2019-03-06 09:35:17 -08:00
Mark Shannon
7aef32e63f
Python: Add basic taint-tracking configuration. Should help avoid cross-talk between flows and brings the interface closer to that of the other languages.
2019-03-06 15:48:03 +00:00
Calum Grant
c087394917
Merge pull request #1030 from hvitved/csharp/structural-comparison
...
C#: Speedup structural comparison library
2019-03-06 15:47:44 +00:00
Jonas Jensen
57732ee6f9
Merge pull request #1008 from geoffw0/wprintf
...
CPP: Clean up and fix FormattingFunction, FormatLiteral
2019-03-06 15:08:29 +00:00
calum
3c6ef8dbf7
C#: Refactor additionalJumpStep for performance.
2019-03-06 15:04:39 +00:00
Taus
2f77cde63f
Merge pull request #1042 from markshannon/python-ignore-dead-objects
...
Python: Ignore dead entities from library trap files.
2019-03-06 15:47:56 +01:00
Asger F
f21871d275
JS: relax instantiation requirement for .prototype field
2019-03-06 14:31:37 +00:00
Asger F
96f1d91150
JS: Add a new test
2019-03-06 14:31:37 +00:00
Tom Hvitved
7825642954
C#: Dispatch.qll performance tweaks
2019-03-06 14:54:36 +01:00
Tom Hvitved
d0c442a950
C#: Use explicit recursion in TupleExpr::isReadAccess()
2019-03-06 14:54:25 +01:00
Max Schaefer
48c0949705
Merge pull request #1036 from asger-semmle/hide-implicit-ssa-defs
...
JS: Omit uninteresting nodes from path explanations
2019-03-06 13:30:11 +00:00
semmle-qlci
420b14b1e7
Merge pull request #1029 from jcreedcmu/jcreed/surgery
...
Approved by xiemaisi
2019-03-06 13:27:21 +00:00
Asger F
732ddbcbbd
JS: Mark API as experimental
2019-03-06 13:04:34 +00:00
Asger F
81476cff0b
JS: Expand test case with call/return matching for backtracking
2019-03-06 12:58:52 +00:00
Asger F
3422fa328d
JS: Add test
2019-03-06 12:50:59 +00:00
Asger F
e6a1374218
JS: Make separate type for back-tracking types
2019-03-06 12:50:50 +00:00
Calum Grant
4bdcfec674
Merge pull request #990 from hvitved/csharp/cfg/get-a-thrown-exception
...
C#: Reduce size of `getAThrownException()`
2019-03-06 12:31:00 +00:00
Asger F
0b2c94684d
JS: Add TypeTracker library
2019-03-06 11:52:28 +00:00
Geoffrey White
693937367d
Merge pull request #1047 from jbj/dataflow-StmtExpr
...
C++: Data flow through StmtExpr
2019-03-06 10:33:12 +00:00
Geoffrey White
2bac7f1516
CPP: Deprecate old mechanisms FormattingFunction.isWideCharDefault and FormatLiteral.isWideCharDefault.
2019-03-06 10:23:46 +00:00
Geoffrey White
5b8a6c8335
CPP: Remove no longer used FormatLiteral.getEffectiveCharConversionChar.
2019-03-06 10:23:45 +00:00
Geoffrey White
e1447787e3
CPP: Remove dubious case from FormatLiteral.getMaxConvertedLength.
2019-03-06 10:23:45 +00:00
Geoffrey White
1b71accbfe
CPP: Fix a bug in FormattingFunction.getDefaultCharType.
2019-03-06 10:23:45 +00:00
Geoffrey White
e59b3c28e4
CPP: Modernize FormatLiteral.getConversionType1b.
2019-03-06 10:23:45 +00:00
Geoffrey White
ac708a569e
CPP: Clean up formatting in FormatLiteral.getEffectiveCharConversionChar somewhat.
2019-03-06 10:23:45 +00:00