Henning Makholm
baacc6f66b
Java tests: add queries.xml
...
The `queries.xml` file defines which extractor the `codeql test` runner will use
to extract databases for the tests. In the future one will be able to write this
information in `qlpack.yml`, but we can't do that immediately because the
_existing_ CodeQL tooling would refuse to parse a `qlpack.yml` that has
the new field in it.
2019-12-07 02:38:02 +01:00
yo-h
ed97be459f
Merge pull request #2454 from aschackmull/java/explicit-mul-zero
...
Java: Allow explicit zero multiplication in java/evaluation-to-constant.
2019-12-06 18:13:43 -05:00
Jonas Jensen
57917bec17
Merge pull request #2480 from hvitved/dataflow/performance-tweaks
...
Data flow: Various performance tweaks
2019-12-03 18:44:11 +01:00
Henning Makholm
95c26a51af
remove java test EmptyInterface
...
This is a test of an internal query for the Semmle repository. It cannot
run against the public QL repository alone, and therefore should not be
tested here.
https://git.semmle.com/Semmle/code/pull/35690 adds the test back to the
internal repo.
2019-12-02 15:29:42 +01:00
Tom Hvitved
b3990c5a1d
Data flow: Revert reordering changes in `flowStore` and `flowRead`
2019-12-02 14:25:59 +01:00
Tom Hvitved
5baa133e6c
Data flow: Sync files
2019-12-02 13:41:17 +01:00
Jonas Jensen
5b24b1efc3
Merge remote-tracking branch 'upstream/rc/1.23' into mergeback-20191202
...
Conflicts solved:
javascript/extractor/src/com/semmle/js/extractor/Main.java
javascript/ql/test/query-tests/Statements/UseOfReturnlessFunction/tst.js
2019-12-02 09:57:34 +01:00
Anders Schack-Mulligen
333d0a69d2
Java/C++/C#: Bugfix for field flow through reverse read.
2019-11-29 09:38:24 +01:00
Anders Schack-Mulligen
2c3a6d7359
Java: Allow explicit zero multiplication in java/evaluation-to-constant.
2019-11-27 11:49:43 +01:00
Anders Schack-Mulligen
3d0e3aa1fd
Java: Fix a number of performance issues when toString is cached.
2019-11-27 09:06:15 +01:00
yo-h
8a8b795696
Merge pull request #2447 from aschackmull/java/cache-perf
...
Java: Improve performance by normalizing import order to reduce cache invalidation.
2019-11-26 16:26:53 -05:00
Anders Schack-Mulligen
deb6a6e5c6
Java: Improve performance by normalizing import order to reduce cache invalidation.
2019-11-26 17:20:01 +01:00
Anders Schack-Mulligen
18e1708036
Merge pull request #2412 from Cornelius-Riemenschneider/nullness-corr-cond
...
Java: Nullness library: track instanceof expressions in correlated conditions
2019-11-26 10:33:34 +01:00
Cornelius Riemenschneider
37f162106a
Fix formatting of file.
2019-11-25 17:04:38 +01:00
Cornelius Riemenschneider
3368169df8
Address review.
2019-11-25 14:54:50 +01:00
Tom Hvitved
a26efdf4c1
Java/C++/C#: Rename `DataFlowErasedType` back to `DataFlowType`
2019-11-25 11:43:58 +01:00
Cornelius Riemenschneider
0e7a08201f
Address review by Anders.
2019-11-22 12:19:06 +01:00
Jonathan Leitschuh
21193bd780
Java: Use of HTTP/FTP to download/upload Maven artifacts
...
This adds a security alert for the use of HTTP or FTP to download or upload
artifacts using Maven.
2019-11-21 13:35:29 -05:00
Cornelius Riemenschneider
5d4b6c3a8c
Nullness: Track correlated conditions of equality tests of variables.
2019-11-21 19:24:40 +01:00
Cornelius Riemenschneider
92f32a12d8
Add tests for nullness tracking by comparing variables.
2019-11-21 19:23:39 +01:00
Cornelius Riemenschneider
3e5324e772
More precise Nullness tracking by taking correlated instanceof expressions into account.
...
Fixes #2238 .
2019-11-21 18:38:27 +01:00
Cornelius Riemenschneider
d8aae1c126
Add tests to track nullness by instanceof checks.
2019-11-21 18:38:27 +01:00
Tom Hvitved
acc7d5298d
Data flow: Sync files
2019-11-20 14:10:02 +01:00
Tom Hvitved
6c0dbcfca2
Java/C++: Add `DataFlowErasedType` aliases
2019-11-20 14:09:53 +01:00
yh-semmle
de65f023d6
Merge pull request #2167 from aschackmull/java/dataflow-out-of-arg-refactor
...
Java/C++/C#: Refactor dataflow to simplify return flow.
2019-11-15 11:10:06 -05:00
Anders Schack-Mulligen
81a90943c0
Java: Fix range analysis bug where int was assumed.
2019-11-15 15:08:14 +01:00
Anders Schack-Mulligen
106b8cfbca
Java/C++/C#: Fix bad magic and bad join-order.
2019-11-14 13:17:17 +01:00
Anders Schack-Mulligen
6a2edce040
Merge pull request #2205 from rneatherway/java/hamcrest-nullness
...
Java: Respect Hamcrest assertThat(X, notNullValue())
2019-11-14 13:09:56 +01:00
Dave Bartolomeo
e89ecc19e3
Merge pull request #2302 from max-schaefer/test-qlpacks
...
Add `qlpack.yml` files for test folders.
2019-11-13 12:21:19 -07:00
yh-semmle
429c307832
Merge pull request #2304 from aschackmull/java/rangeanalysis-integral-fix
...
Java: Fix range analysis bug in integral inequality bounds.
2019-11-12 16:33:12 -05:00
Anders Schack-Mulligen
7619275c8b
Java: Fix range analysis bug in integral inequality bounds.
2019-11-12 17:28:40 +01:00
Anders Schack-Mulligen
8cd6b51763
Java: Add ConditionalExpr to overflow candidate pattern.
2019-11-12 17:27:18 +01:00
Max Schaefer
5b2e32b051
Add `qlpack.yml` files for test folders.
2019-11-12 15:03:02 +00:00
Anders Schack-Mulligen
e6d0a2eca5
Merge pull request #2215 from yh-semmle/java-remove-obsolete-queries
...
Java: remove some obsolete metric queries
2019-11-12 10:14:55 +01:00
Anders Schack-Mulligen
b0fecbce28
Merge pull request #2230 from yh-semmle/java-move-cwe502-lib
...
Java: move `UnsafeDeserialization.qll` to standard library location
2019-11-11 10:44:52 +01:00
Sauyon Lee
0040c9fb4c
Update links to OWASP cheat sheet
2019-11-06 20:21:47 -08:00
Robin Neatherway
7850d67a78
Remove TODO comment
...
I've checked Hamcrest versions 1.3, 2.0, 2.1 and 2.2
2019-11-06 17:47:02 +00:00
yh-semmle
e232f538e9
Java 13: update test options
2019-11-02 16:09:32 -04:00
yh-semmle
e8a65101bc
Java 13: add db stats for `@yieldstmt`
2019-11-02 16:09:32 -04:00
yh-semmle
de0869c216
Java 13: remove superfluous disjunct in `JumpStmt.getAPotentialTarget()`
2019-11-02 16:09:31 -04:00
yh-semmle
8fb4dbe092
Java 13: account for changes to switch expressions
2019-11-02 16:09:31 -04:00
yh-semmle
9f37237b4a
Java 13: add stmt kind `@yieldstmt` to dbscheme
2019-11-02 16:09:31 -04:00
Robin Neatherway
d3016e5b98
Run autoformatter
2019-10-31 11:21:57 +00:00
yh-semmle
8620b0513e
Java: move `UnsafeDeserialization.qll` to standard library location
2019-10-30 11:18:36 -04:00
Robin Neatherway
96f9a01355
Correct minor compilation errors in test code
2019-10-29 17:52:13 +00:00
Robin Neatherway
84202ff2e1
Java: Respect Hamcrest assertThat(X, notNullValue())
2019-10-29 17:52:13 +00:00
Anders Schack-Mulligen
d0842fc35d
Java/C++/C#: Minor refactor following review comment.
2019-10-28 16:31:22 +01:00
Anders Schack-Mulligen
0ffcf9ce64
Merge pull request #2192 from JLLeitschuh/feature/JLL/http_response_splitting_netty
...
Add CWE-113 check for io.netty.handler.codec.http.DefaultHttpHeaders
2019-10-28 15:01:20 +01:00
Anders Schack-Mulligen
379ef1d2f9
Java: Fix bad magic and join-order.
2019-10-28 10:40:06 +01:00
Jonathan Leitschuh
934eed97df
Apply suggestions from code review for netty DefaultHttpHeaders
...
Co-Authored-By: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2019-10-25 12:30:16 -04:00
yh-semmle
80fd5b2ada
Merge pull request #2175 from aschackmull/java/continue-in-false-loop
...
Java: Port C++ query cpp/continue-in-false-loop to Java.
2019-10-24 20:47:59 -04:00
Jonathan Leitschuh
dcbd6e0a11
Add CWE-113 check for io.netty.handler.codec.http.DefaultHttpHeaders
...
Closes #2185
2019-10-24 10:27:40 -04:00
Anders Schack-Mulligen
fe2988ab39
Merge pull request #2152 from yh-semmle/java-alert-suppression-annotations
...
Java: support LGTM alert suppression using `@SuppressWarnings` annotations
2019-10-24 15:04:29 +02:00
Anders Schack-Mulligen
3462624995
Java: Add test.
2019-10-23 16:24:26 +02:00
Henning Makholm
347d97c14c
qlpack.json is now qlpack.yml
2019-10-22 17:36:35 +02:00
Anders Schack-Mulligen
da57dbc528
Java: Port C++ query cpp/continue-in-false-loop.
2019-10-22 17:07:57 +02:00
Henning Makholm
fd768a1af6
Add some new-style suite definitions
2019-10-22 15:51:00 +02:00
Anders Schack-Mulligen
c37195b226
Java/C++/C#: Sync.
2019-10-22 11:42:35 +02:00
Anders Schack-Mulligen
2ffbb2ecd6
Java: Refactor dataflow to simplify return flow.
2019-10-22 11:42:35 +02:00
yh-semmle
28720679ad
Java: remove some obsolete metric queries
2019-10-19 20:55:46 -04:00
yh-semmle
afcde14403
Merge pull request #2085 from aschackmull/java/overflow-check-fp
...
Java: Add another overflow check pattern to UselessComparisonTest.
2019-10-18 11:01:24 -04:00
yh-semmle
155d14a185
Java: simplify `Extents.qll`
2019-10-18 09:46:00 -04:00
yh-semmle
4348241f72
Java: simplify `java/alert-suppression-annotations`
2019-10-18 09:45:49 -04:00
Anders Schack-Mulligen
27b8a46dac
Java: Exclude loop conditions from overflow check heuristic.
2019-10-18 11:58:46 +02:00
yh-semmle
1d415b3680
Java: enable `java/alert-suppression-annotations` in LGTM suite
2019-10-17 22:09:04 -04:00
yh-semmle
ee2c97f147
Java: add extra test for `java/alert-suppression-annotations`
2019-10-17 22:09:04 -04:00
yh-semmle
62521dca32
Java: account for multiple strings in `java/alert-suppression-annotations`
2019-10-17 22:09:04 -04:00
yh-semmle
f3a980deb6
Java: clarify predicate name in `java/alert-suppression-annotations`
2019-10-17 22:09:03 -04:00
yh-semmle
d165ce95f2
Java: tidy QLDoc in `Extents.qll`
2019-10-17 22:09:03 -04:00
yh-semmle
e3f828c588
Java: refine ranges in `java/alert-suppression-annotations`
2019-10-17 22:09:03 -04:00
yh-semmle
b2bc8382b0
Java: add alert-suppression query for `@SuppressWarnings("lgtm[...]")`
2019-10-17 22:09:02 -04:00
Pavel Avgustinov
7fa6c54731
Merge pull request #2119 from hmakholm/pr/qlpacks
...
Add qlpack.json files
2019-10-16 14:27:10 +01:00
yh-semmle
5aced3e432
Merge pull request #2128 from AlexTereshenkov/move-qll-java
...
Move qll file to support import from custom QL queries
2019-10-15 11:39:10 -04:00
Anders Schack-Mulligen
309961d493
Merge pull request #2118 from yh-semmle/java-non-sync-override
...
Java: restrict `java/non-sync-override` to immediate overrides
2019-10-15 16:40:00 +02:00
alexey
715f1ddaca
Move qll file to support import from custom QL queries
2019-10-15 14:55:09 +01:00
Tom Hvitved
cae7f9d805
Merge pull request #2099 from aschackmull/java/callcontext-bool-pruning
...
Java: Data-flow pruning based on call contexts.
2019-10-15 09:36:36 +02:00
Anders Schack-Mulligen
2be5c38615
Java: Address comments.
2019-10-14 14:59:14 +02:00
Henning Makholm
29167bbff8
Add qlpack.json files
...
Eventually these files will subsume the current `queries.xml` files
at the top of query-containing and library directories. For now they're
just here to support internal testing of the tooling support for them
we're writing on.
Format and contents is a work in progress. If you're not in Semmle,
don't depend on anything here making sense (or staying stable) until
you see the version tags increase to something nonzero.
2019-10-12 17:38:01 +02:00
yh-semmle
64db00ae6d
Java: refine type of parent column in `exprs` relation
2019-10-10 19:57:53 -04:00
yh-semmle
35552a8c0e
Java: restrict `java/non-sync-override` to immediate overrides
2019-10-10 19:56:42 -04:00
Anders Schack-Mulligen
312c573eb6
Java: Remove unneeded import.
2019-10-09 10:10:36 +02:00
Anders Schack-Mulligen
e123f97303
Java: Remove useless pruning.
2019-10-09 09:35:30 +02:00
Anders Schack-Mulligen
5e0ce81030
Java: Refactor to improve join-pipeline.
2019-10-08 17:15:06 +02:00
Anders Schack-Mulligen
20084fb3c0
Java: Fix pruning in partialPathStep.
2019-10-08 11:28:53 +02:00
Anders Schack-Mulligen
bf14889077
Java: Refactor to improve performance.
2019-10-08 11:28:35 +02:00
Anders Schack-Mulligen
3c4e877913
Java: Minor refactor.
2019-10-07 16:18:48 +02:00
Anders Schack-Mulligen
f8123679a1
Java: Qldoc updates.
2019-10-07 16:12:31 +02:00
Anders Schack-Mulligen
38aba7bfc1
Java: Fix qltest.
2019-10-07 15:51:42 +02:00
Anders Schack-Mulligen
75ebc098bb
Java: Fix semantic merge conflict.
2019-10-07 15:42:26 +02:00
Anders Schack-Mulligen
b581e38782
Java: Autoformat and sync post rebase.
2019-10-07 15:26:39 +02:00
Cornelius Riemenschneider
9ef61bd43c
Address more parts of Anders review.
2019-10-07 15:19:20 +02:00
Cornelius Riemenschneider
812a0bcb16
Address some parts of Anders' review.
2019-10-07 15:17:17 +02:00
Cornelius Riemenschneider
0f5dd5d7c7
Add one more test with a more complicated guard.
2019-10-07 15:14:42 +02:00
Cornelius Riemenschneider
393fb02dfa
Fix undesirable join order.
2019-10-07 15:14:41 +02:00
Tom Hvitved
eabfa31767
Synchronize data flow files
2019-10-07 15:13:48 +02:00
Tom Hvitved
46933ef65e
Java: Autoformat
2019-10-07 15:12:13 +02:00
Cornelius Riemenschneider
d79eaffd3a
Prune unreachable paths in the Java dataflow library based on call context.
...
We now detect patterns like
f(bool cond){
if(cond)
then A
else B
and prune branches for calls like f(true) or f(false).
This pruning is done both in the local (bigstep) flow graph
as well as in the inter-procedural dataflow graph.
2019-10-07 15:10:54 +02:00
Cornelius Riemenschneider
dba93b30e7
Add tests exhibiting false positives in the dataflow library, where call context is not used to prune branches.
2019-10-07 14:59:55 +02:00
Anders Schack-Mulligen
066a2f0d12
Java: Add another overflow check pattern to UselessComparisonTest.
2019-10-04 15:04:40 +02:00
Tom Hvitved
7f6e253425
Java: Update expected test output
2019-10-04 11:09:44 +02:00
Tom Hvitved
9b58d799cb
Java/C++/C#: Tweak `AccessPathNil::toString()`
...
Move the type annotation outside the brackets, to avoid prefixes such as
`[ : T]`.
2019-10-04 11:09:44 +02:00
yh-semmle
3313af5189
Merge pull request #2036 from aschackmull/java/eq-ssa-guard
...
Java: Improve guards for equal ssa variables.
2019-10-02 12:00:59 -04:00
Anders Schack-Mulligen
f87cb4d6ac
Java/C++/C#: Address review comments and fix test.
2019-10-02 14:32:17 +02:00
Anders Schack-Mulligen
f97958296d
Java/C++/C#: Sync.
2019-09-26 17:12:08 +02:00
Anders Schack-Mulligen
0afea80d53
Java: Improve guards for equal ssa variables.
2019-09-26 16:29:13 +02:00
Anders Schack-Mulligen
4221639155
Java: Improve taint/value distinction for flow through with fields.
2019-09-26 16:25:15 +02:00
Anders Schack-Mulligen
7c1594df13
Java: Slight precision improvement for getter/setter detection.
2019-09-25 10:14:49 +02:00
Anders Schack-Mulligen
f8f3a4b25f
Java: Minor additional type pruning.
2019-09-23 11:07:10 +02:00
Anders Schack-Mulligen
42a970b905
Java: Update qldoc.
2019-09-20 16:21:03 +02:00
Anders Schack-Mulligen
d9aa46d3b0
Java: Add missing field pruning.
2019-09-20 16:13:48 +02:00
Anders Schack-Mulligen
648335d46d
Java: Remove two unnecessary unbinds.
2019-09-20 16:12:56 +02:00
Tom Hvitved
6318cc9a71
Java: Update expected test output
2019-09-18 13:36:15 +02:00
Tom Hvitved
d8074ddfa6
Sync files
2019-09-18 13:36:15 +02:00
Anders Schack-Mulligen
2d620698d8
Java: Adjust qltest expected output.
2019-09-12 11:00:49 +02:00
Anders Schack-Mulligen
95e2f162d9
Java/C++/C#: Adjust toString of empty accesspath.
2019-09-12 11:00:49 +02:00
Anders Schack-Mulligen
0a4b15d40b
Java/C++/C#: Add nodes predicate to PathGraph.
2019-09-12 11:00:49 +02:00
Jonas Jensen
d51e5212fb
Merge remote-tracking branch 'upstream/master' into dataflow-TTwo
...
Conflicts:
cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll
cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll
cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll
cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll
cpp/ql/src/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll
cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll
cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll
cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll
cpp/ql/src/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll
cpp/ql/test/library-tests/dataflow/fields/flow.expected
csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll
csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll
csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll
csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll
csharp/ql/src/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll
java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl.qll
java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl2.qll
java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl3.qll
java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl4.qll
java/ql/src/semmle/code/java/dataflow/internal/DataFlowImpl5.qll
2019-09-08 21:08:43 +02:00
Anders Schack-Mulligen
6b85fe087a
Java: Restrict the output of Range Analysis to the best bounds.
2019-09-06 15:39:46 +02:00
Anders Schack-Mulligen
aa07020d9d
Java: Autoformat.
2019-09-06 09:03:45 +02:00
Jonas Jensen
9c9b7ac651
C#/C++/Java: Revert AccessPathNil.toString changes
...
This caused too many `*.expected` files to change, also in our internal
repo.
2019-09-02 15:59:36 +02:00
Jonas Jensen
a98992f0f9
C#/C++/Java: distinguish toString of nil from cons
2019-09-02 14:22:03 +02:00
Jonas Jensen
cdede8744f
C#/C++/Java: Prettier PartialAccessPath.toString
2019-09-02 14:05:50 +02:00
Jonas Jensen
c3bc9f8575
C#/C++/Java: Unbreak partial data flow support
...
Partial data flow had a semantic merge conflict with this branch. The
problem is that partial data flow doesn't (and shouldn't) cause the
initial pruning steps to run, but the length-2 access paths depend on
the `consCand` information that comes from that initial pruning. The
solution is to restore the old `AccessPath` class, now called
`PartialAccessPath` for use only by partial data flow.
With this change, partial data flow will in some cases allow more field
flow than non-partial data flow.
2019-09-02 14:02:39 +02:00
Jonas Jensen
dec0c3a0ee
C#/C++/Java: Make AccessPath abstract
...
This was requested by @hvitved in code review. There is no difference in
the generated DIL.
2019-09-02 13:14:30 +02:00
Jonas Jensen
b1be123e31
C#/C++/Java: Prettier AccessPath.toString
...
The `ppReprType` predicate should now be `none()` instead of `result=""`
to signal that there is nothing to print. That seems clearer to me.
2019-09-02 13:14:20 +02:00
Jonas Jensen
6c96a8d339
Java: Accept test changes
...
Note: the results in `partial` have regressed and will need to be fixed
in a follow-up commit.
2019-09-02 13:14:17 +02:00
Jonas Jensen
b2c94cc6b4
C++/C#/Java: Restore the AccessPathCons class
2019-09-02 13:14:13 +02:00
Jonas Jensen
fbe34015f3
C++/C#/Java: AccessPath class names reflect length
...
One -> ConsNil
Two -> ConsCons
2019-09-02 13:13:59 +02:00
Jonas Jensen
e8006bb2cc
C++/C#/Java: data flow AccessPath up to length 2
...
This commit does not include updates to test results.
2019-09-02 13:13:46 +02:00
yh-semmle
c359675fa9
Merge pull request #1802 from aschackmull/java/taint-step-extension-point
...
Java: Add a global extension point for taint steps.
2019-08-30 17:19:58 -04:00
Anders Schack-Mulligen
8a318ce4e7
Java: Extend test with graph.
2019-08-30 14:35:21 +02:00
Anders Schack-Mulligen
6582734733
Java: Add test.
2019-08-30 14:32:55 +02:00
Anders Schack-Mulligen
5e6326d1d5
Java/C++/C#: Add support for dataflow exploration by partial paths.
2019-08-30 14:32:55 +02:00
Luke Cartey
dfa371c65b
Java: Add missing SQL query APIs.
...
* executeLargeUpdate
* prepareCall
2019-08-30 10:40:49 +01:00
Anders Schack-Mulligen
ae98d4fd8e
Java: Change extension point to use a unit type.
2019-08-29 11:05:45 +02:00
Tom Hvitved
853a3aa998
Merge pull request #1799 from aschackmull/java/fieldflow-perf
...
Java/C++/C#: Improve performance of data flow with fields.
2019-08-28 16:30:25 +02:00
Luke Cartey
1669d283fe
Merge pull request #1795 from aschackmull/java/localexprflow
...
Java: Add localExprFlow and localExprTaint.
2019-08-28 14:04:49 +01: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
Pavel Avgustinov
cc854dd937
Merge branch 'master' of github.com:Semmle/ql into attribute
2019-08-23 09:55:35 +01: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
Anders Schack-Mulligen
ef0c6d01eb
Java: Add a global extension point for taint steps.
2019-08-22 16:38:59 +02:00
Tom Hvitved
0801e51175
Merge pull request #1790 from jbj/tainttracking-cross-language
...
C++/C#/Java: Shared TaintTrackingImpl.qll
2019-08-22 14:17:23 +02:00
Anders Schack-Mulligen
3aedadcb35
Java: Add localExprFlow and localExprTaint.
2019-08-22 11:25:23 +02:00
Jonas Jensen
ad9ee54b65
C++/C#/Java: defaultAdditionalTaintStep
2019-08-22 11:14:06 +02:00
yh-semmle
9012c3240f
Merge pull request #1789 from aschackmull/java/autoformat
...
Java: Autoformat.
2019-08-21 12:36:55 -04:00
Tom Hvitved
a2ffddec5f
Merge pull request #1785 from jbj/dataflow-recursion-prevention-shared
...
C++/C#/Java: Pyrameterize ConfigurationRecursionPrevention
2019-08-21 15:56:50 +02:00
Jonas Jensen
25701f203d
C++/C#/Java: Shared TaintTrackingImpl.qll
...
This file is now identical in all languages. Unifying this file led to
the following changes:
- The documentation spelling fixes and example from the C++ version
were copied to the other versions and updated.
- The steps through `NonLocalJumpNode` from C# were abstracted into a
`globalAdditionalTaintStep` predicate that's empty for C++ and Java.
- The `defaultTaintBarrier` predicate from Java is now present but empty
on C++ and C#.
- The C++ `isAdditionalFlowStep` predicate on
`TaintTracking::Configuration` no longer includes `localFlowStep`.
That should avoid some unnecessary tuple copying.
2019-08-21 14:55:54 +02:00
Anders Schack-Mulligen
629c19e719
Java: Autoformat.
2019-08-21 14:38:17 +02:00
Pavel Avgustinov
cb3551b4d6
Merge commit '76982404' into attribute
2019-08-21 12:44:07 +01:00
Jonas Jensen
863bf523d6
C++/C#/Java: Autoformat
2019-08-21 13:24:01 +02:00
Jonas Jensen
fdd3b901f7
C/C#/Java: Share ConfigurationRecursionPrevention
...
This class was copy-pasted in all `DataFlowN.qll` files without using
the identical-files system to keep the copies in sync. The class is now
moved to the `DataFlowImplN.qll` files.
This also has the effect of preventing recursion through first data flow
library copy for C/C++. Such recursion has been deprecated for over a
year, and some forms of recursions are already ruled out by the library
implementation.
2019-08-21 13:04:10 +02:00
Jonas Jensen
6fc3a62edb
C++/C#/Java: Change another caller of localFlow
...
There was also a use of `localFlowStep` in `DataFlowImplCommon` that
should now be `simpleLocalFlowStep`.
2019-08-21 10:20:15 +02:00
Jonas Jensen
c9ea5ad9a3
C#/Java: Remove `cached` from wrapper predicate
2019-08-21 09:43:13 +02:00
Jonas Jensen
4b7813b98e
C++/C#/Java: Split localFlowStep predicate in two
...
There's now a `localFlowStep` predicate for use directly in queries and
other libraries and a `simpleLocalFlowStep` for use only by the global
data flow library. The former predicate is intended to include field
flow, but the latter may not.
This will let Java and C# (and possibly C++ IR) avoid getting two kinds
of field flow at the same time, both from SSA and from the global data
flow library. It should let C++ AST add some form of field flow to
`localFlowStep` without making it an input to the global data flow
library.
2019-08-21 09:27:01 +02:00
Pavel Avgustinov
7176b438c4
Merge commit '7bfed6e517cbcabfe06cf614981baee8cbde5342' into attribute
2019-08-20 14:08:57 +01:00
Tom Hvitved
7ab9c8b90d
Java/C++/C#: `flowCandFwdRead()` refactor
2019-08-20 14:44:04 +02:00
Tom Hvitved
14378ee41a
Java/C++/C#: Remove some `unbind()` calls from shared data flow implementation
2019-08-20 13:59:01 +02:00
Jonas Jensen
f1e6e36ce6
Java: Remove wrong definition of taint tracking
...
This explanation, taken from C/C++, was not correct for Java.
2019-08-20 13:45:38 +02:00
Jonas Jensen
9ac0cdd2a2
Java: Don't use the deprecated Configuration2
2019-08-20 13:45:37 +02:00
Jonas Jensen
aeb2323128
Java: Use pyrameterized modules for TaintTracking
2019-08-20 13:45:37 +02:00
Tom Hvitved
a0c834c83d
Java/C++/C#: Improve data flow join orders for field flow
2019-08-20 10:14:08 +02:00
Anders Schack-Mulligen
6ff4fe38ec
Java/C++/C#: Add field flow support for stores in nested fields.
2019-08-19 14:41:06 +02:00
yh-semmle
73d8e16cd0
Java: remove obsolete `VCS.qll` and associated queries
2019-08-18 14:53:46 -04:00
Pavel Avgustinov
127c33700c
Add Java stubs readme
2019-08-17 18:57:50 +01:00
Pavel Avgustinov
c92eb58300
Add j2objc license
2019-08-17 16:31:18 +01:00
Pavel Avgustinov
b52ea1e21b
Add Apache Shiro third-party notice
2019-08-17 16:31:18 +01:00
Anders Schack-Mulligen
9e4f2f8594
Java: Don't use default dataflow in libs imported by default.
2019-08-16 13:27:53 +02:00
Anders Schack-Mulligen
1938ac4937
Java/C++/C#: Sync.
2019-08-14 10:32:15 +02:00
Anders Schack-Mulligen
0c56f955e8
Java: Fix bad join order.
2019-08-14 10:10:19 +02:00
Anders Schack-Mulligen
411bc16f44
Java/C++/C#: Address review comment.
2019-08-13 16:57:48 +02:00
Anders Schack-Mulligen
9e902066ad
Java/C++/C#: Elaborate qldoc.
2019-08-13 16:57:48 +02:00
Anders Schack-Mulligen
4550175b16
Java/C++/C#: Add support for BarrierGuards.
2019-08-13 16:57:48 +02:00
yh-semmle
5e910a4808
Merge pull request #1724 from aschackmull/java/google-xmlreader
...
Java: Treat SecureJDKXercesXMLReader as a secure XMLReader.
2019-08-13 09:52:32 -04:00
Tom Hvitved
36043d04bd
Merge pull request #1729 from xiemaisi/data-flow-nodes-location
...
Java/C++/C#: Provide path-node locations via `hasLocationInfo`, not `getLocation`.
2019-08-13 12:22:59 +02:00
Max Schaefer
eb8087f4ea
Java/C++/C#: Provide path-node locations via `hasLocationInfo`, not `getLocation`.
2019-08-12 12:52:30 +01:00
Anders Schack-Mulligen
41763e6025
Java: Treat SecureJDKXercesXMLReader as a secure XMLReader.
2019-08-09 16:00:41 +02:00
Anders Schack-Mulligen
a50ea54ff6
Java: Fix tests.
2019-08-08 12:03:01 +02:00
Anders Schack-Mulligen
b3e56d5b04
Java: Fix copy-paste typo.
2019-08-08 11:44:44 +02:00
Anders Schack-Mulligen
20e6f5594f
Java: Improve barriers for the CWE-190 Arithmetic* queries.
2019-08-07 15:22:23 +02:00
yh-semmle
033879f5a6
Merge pull request #1639 from aschackmull/java/in-out-barriers
...
Java/C++/C# DataFlow: Add support for in/out barriers on sources and sinks.
2019-08-07 01:07:19 -04:00
yh-semmle
9e4405f385
Merge pull request #1688 from aschackmull/java-cookbook/int-literal-value
...
Java Cookbook: Slight improvement to the IntegerLiteral pattern.
2019-08-05 20:37:58 -04:00
yh-semmle
7e90728c67
Merge pull request #1679 from aschackmull/java/reader-taint
...
Java: Adjust taint steps for Reader::read.
2019-08-05 12:46:12 -04:00
Anders Schack-Mulligen
a80cb262fc
Java/C++/C#: Elaborate qldoc.
2019-08-05 16:28:25 +02:00
Anders Schack-Mulligen
9ebb83497d
Java/C++/C#: Fix small mistake.
2019-08-05 15:34:12 +02:00
Anders Schack-Mulligen
2dc83c539c
Java/C++/C#: Sync dataflow.
2019-08-05 12:07:32 +02:00
Anders Schack-Mulligen
f8804943ee
Java: Change in/out barriers to be explicit in the configuration.
2019-08-05 12:05:12 +02:00
Anders Schack-Mulligen
15c61b57f7
Java Cookbook: Slight improvement to the IntegerLiteral pattern.
2019-08-05 11:03:30 +02:00
Jonas Jensen
73d8bf38a9
Merge pull request #1680 from aschackmull/cookbook/autoformat
...
Cookbook examples: Autoformat
2019-08-05 10:24:56 +02:00
Anders Schack-Mulligen
b1b1ede6b0
Java: Improve the precision of java/hardcoded-credential-api-call.
2019-08-02 16:50:58 +02:00
Anders Schack-Mulligen
9b74e9c4a4
Java: Autoformat cookbook examples.
2019-08-02 15:27:28 +02:00
Anders Schack-Mulligen
4ffc41277a
Java: Adjust taint steps for Reader::read.
2019-08-02 14:21:06 +02:00
Anders Schack-Mulligen
1a779179e7
Merge pull request #1666 from yh-semmle/java-xxe-qhelp
...
Java: update XXE qhelp with note on processing limits
2019-08-01 10:01:53 +02:00
yh-semmle
dc45ba5627
Java: update XXE qhelp with note on processing limits
2019-07-31 15:45:28 -04:00
semmle-qlci
1d806971ed
Merge pull request #1634 from aibaars/cookbook
...
Approved by aschackmull, dave-bartolomeo, hvitved, markshannon, xiemaisi, yh-semmle
2019-07-31 14:31:28 +01:00
yh-semmle
37395877a7
Merge pull request #1633 from aschackmull/java/taint-string-concat
...
Java: Add taint step for String::concat.
2019-07-30 00:21:52 -04:00
Arthur Baars
ccde7cf6cf
Add @id to example queries
2019-07-26 17:47:11 +02:00
Arthur Baars
bdce7d07c1
Move 'snippet' queries to 'snippets' folders
2019-07-26 17:47:11 +02:00
Arthur Baars
30860daac4
Add cookbook queries
2019-07-26 17:47:11 +02:00
yh-semmle
a1b4d09b42
Merge pull request #1630 from aschackmull/java/switchexpr-tostring
...
Java: Add toString override for SwitchExpr.
2019-07-26 11:32:24 -04:00