Commit Graph

11815 Commits

Author SHA1 Message Date
Shati Patel
90cce2a2f4 Merge pull request #3367 from shati-patel/docs-links
Docs: update outdated links
2020-04-28 12:05:33 +01:00
Shati Patel
7a4b6a62d7 Update outdated links 2020-04-28 11:52:49 +01:00
James Fletcher
73c29ec189 Merge pull request #3346 from jf205/sd-48
Learn CodeQL docs: add note about path queries to data flow tutorials
2020-04-27 09:12:51 +01:00
Mathias Vorreiter Pedersen
38ebb81036 Merge pull request #3352 from jbj/SuspiciousAddWithSizeof-select
C++: Speed up SuspiciousAddWithSizeof select
2020-04-24 18:27:25 +02:00
Jonas Jensen
718f4cd3f9 C++: Speed up SuspiciousAddWithSizeof select
This `select` clause had become very slow after we started caching
`ElementBase::toString` because the query used string concatenation to
produce alert messages, and those string concatenations were done very
early in the pipeline, producing lots of strings that would be discarded
moments later.

By using `$@` to interpolate elements into strings, the concatenation is
done outside of QL.

Testing on a Chromium snapshot, this commit takes us from

    #select#ff ................ 6m2s

to

    #select#cpe#134#fff ....... 15.2s
2020-04-24 16:18:18 +02:00
Mathias Vorreiter Pedersen
7df45a9bb4 Merge pull request #3316 from jbj/arithTypesMatch-perf
C++: inline arithTypesMatch predicate
2020-04-24 09:13:02 +02:00
james
5e87bc998e docs: add note about path queries 2020-04-23 20:30:28 +01:00
Shati Patel
9c12fa32e1 Merge pull request #3318 from shati-patel/lexer-unique
Highlight "unique" as a keyword in CodeQL docs
2020-04-23 09:18:39 +01:00
Mathias Vorreiter Pedersen
cfecc9cafa Merge pull request #3319 from jbj/Declaration-not-abstract
C++: Make `Declaration` not abstract
2020-04-23 08:36:18 +02:00
Taus
cf9114761f Merge pull request #3321 from felicitymay/1.24/move-python-change-notes
1.24: Move python change notes into rc/1.24 branch
2020-04-22 19:42:12 +02:00
Felicity Chapman
523f1068b8 Editorial suggestions
We don't hyphenate "QL-library" and there were a few typos. Feel free to further revise this if I've changed the meaning too much.

As discussed separately, I was unable to raise this as a PR in GitHub.com and had to resort to a direct commit.

(cherry picked from commit e29468135d)
2020-04-22 18:15:43 +01:00
Taus
ac8cca37e8 Apply suggestions from code review
Co-Authored-By: Felicity Chapman <felicitymay@github.com>
(cherry picked from commit 44b570f7b6)
2020-04-22 18:15:43 +01:00
Taus Brock-Nannestad
63234aae40 Python: Finalise change notes for 1.24.
(cherry picked from commit e97d88c158)
2020-04-22 18:15:42 +01:00
Jonas Jensen
448bd2be87 C++: Make Declaration not abstract
It looks like this change will stop `SignedOverflowCheck.ql` from
needlessly re-evaluating several cached stages.
2020-04-22 17:34:18 +02:00
Shati Patel
321eb44370 Highlight "unique" as a keyword 2020-04-22 15:54:50 +01:00
Jonas Jensen
7a3663976b C++: inline arithTypesMatch predicate
This predicate is effectively a Cartesian product between all enum
types. It's infeasible to compute it in full, so luckily the optimizer
has been able to apply enough magic to make it feasible. That's not a
robust solution, and it has indeed broken on at least one version of the
1.24 release candidate.

On a Chromium snapshot where I ran the LGTM suite overnight, the
`m#MistypedFunctionArguments::arithTypesMatch#bb` predicate (magic for
`arithTypesMatch`) took 170m5s. That was commit b69fdf5 from the
internal repo. I tried to reproduce it in VSCode, this time with commit
646646, but it wasn't quite as bad: the predicate took only 38 seconds.
In any case, making the problematic predicate `pragma[inline]` removes
the slow magic and makes the `MistypedFunctionArguments.ql` query
faster.
2020-04-22 15:14:07 +02:00
semmle-qlci
9fae953969 Merge pull request #3262 from asger-semmle/js/api-deprecation-and-renaming
Approved by erik-krogh
2020-04-21 15:45:13 +01:00
Asger Feldthaus
997b44928e JS: Autoformat 2020-04-21 10:14:28 +01:00
Jonas Jensen
4259904c5e Merge pull request #3301 from Semmle/felicitymay-124-fix-typo
Fix error in 3287
2020-04-20 17:36:45 +02:00
Asger Feldthaus
4fc79e38ec JS: Also fix typo in test case 2020-04-20 15:24:51 +01:00
Felicity Chapman
dc83ac61b5 Fix error in 3287
@jbj - apologies for the over-eager merge of #3287. This should fix the error you highlighted.
2020-04-20 15:12:43 +01:00
Asger Feldthaus
d4978905f8 JS: Use SendCallback/ReceiveCallback in getAck 2020-04-20 15:12:04 +01:00
Jonas Jensen
9b61650cba Merge pull request #3298 from MathiasVP/no-inline-std-string-constructor
C++: Add pragma[noinline] to StdStringConstructor
2020-04-20 15:10:05 +02:00
Mathias Vorreiter Pedersen
7ba4526f50 C++: Add noinline to StdString constructor 2020-04-20 13:36:41 +02:00
Felicity Chapman
962f13ee13 Merge pull request #3287 from felicitymay/1.24/SD-61-Cpp-finalize-notes
1.24 release: finalize change notes for C/C++
2020-04-20 09:07:58 +01:00
Felicity Chapman
3bfcd618c0 Merge pull request #3286 from felicitymay/1.24/SD-61-JS-finalize-notes
1.24 release: finalize change notes for JavaScript
2020-04-20 09:07:47 +01:00
yo-h
26f624d2d4 Merge pull request #3285 from felicitymay/1.24/SD-61-Java-finalize-notes
1.24 release: finalize change notes for Java
2020-04-17 17:04:38 -04:00
Felicity Chapman
05d0d844bd Editorial changes 2020-04-17 14:44:14 +01:00
Calum Grant
dbff9b6fc7 Merge pull request #3284 from felicitymay/1.24/SD-61-CS-finalize-notes
1.24 release: finalize change notes for C#
2020-04-17 14:13:39 +01:00
Felicity Chapman
d5145d9f0a Sort table alphabetically 2020-04-17 14:05:21 +01:00
Felicity Chapman
c1323886b6 Update change-notes/1.24/analysis-javascript.md
Co-Authored-By: Esben Sparre Andreasen <esbena@github.com>
2020-04-17 13:30:49 +01:00
Felicity Chapman
01a31c1065 Minor editorial changes 2020-04-17 12:50:20 +01:00
Felicity Chapman
ee12e6a00b Sort alphabetically 2020-04-17 12:35:33 +01:00
Geoffrey White
e5dc14ac95 Merge pull request #3271 from jbj/1.24-change-note
C++: Tidy up 1.24 change notes
2020-04-17 12:33:24 +01:00
Felicity Chapman
67e8a5c8d8 Minor editorial changes 2020-04-17 12:11:33 +01:00
Felicity Chapman
81b3b4884c Add LGTM info for new queries and comment detail
Plus minor editorial changes
2020-04-17 12:09:27 +01:00
Felicity Chapman
08d1a2c5ea Reorder table and remove empty sections 2020-04-17 11:30:18 +01:00
Jonas Jensen
7dab89ef56 C++: More details about lib implementation changes
This commit mostly restores the previous note about library changes but
avoids mentioning queries in the library section.
2020-04-17 10:32:28 +02:00
Jonas Jensen
9191190248 C++: Spaceship operator change note 2020-04-17 10:18:17 +02:00
Jonas Jensen
7e67dcca6f C++: Tidy up 1.24 change notes
- Merged the two notes for `cpp/uncontrolled-allocation-size` into one.
- Added note about renaming of a query id.
- Moved the use of IR in queries from the library section to the queries
  section, rephrasing the note in terms of query results/performance
  rather than library implementation.
- Grouped, without text changes, the three notes about the `Allocation`
  library
- Grouped all the notes about standard-library models, abbreviating them
  to eliminate the common text.
- Removed the note about `strlen` (#2647) since that should no longer
  affect the results of queries or IR data flow after we started using
  unsound IR for data flow.
2020-04-15 16:08:57 +02:00
Jonas Jensen
6eba3380dd Merge pull request #3241 from geoffw0/alloc-size2
C++ Improvements to TaintedAllocationSize.ql
2020-04-15 12:58:19 +02:00
Asger Feldthaus
679259944f JS: Address review comments 2020-04-15 10:27:32 +01:00
Geoffrey White
2aa64db40e Merge remote-tracking branch 'upstream/rc/1.24' into alloc-size2 2020-04-15 10:09:54 +01:00
Asger Feldthaus
6668a7a546 JS: Add backwards-compatible predicates to SocketIO 2020-04-14 15:57:19 +01:00
Felicity Chapman
bc250506a1 Merge pull request #3227 from felicitymay/update-references
Update some out of date information
2020-04-14 14:56:05 +01:00
Felicity Chapman
c570ebe5bd Merge branch 'rc/1.24' into update-references 2020-04-14 14:10:26 +01:00
Geoffrey White
92187d9e71 C++: Change note. 2020-04-14 14:00:46 +01:00
Mathias Vorreiter Pedersen
721e9d532a Merge pull request #2704 from rdmarsh2/rdmarsh/cpp/ir-flow-through-outparams
C++: IR dataflow edges through outparams
2020-04-14 14:20:34 +02:00
Robert Marsh
8779177839 C++: accept minor test change 2020-04-13 14:03:02 -07:00
Robert Marsh
a5e7db73b2 Merge branch 'rc/1.24' into rdmarsh/cpp/ir-flow-through-outparams
For submodule consistency
2020-04-13 12:02:59 -07:00