Commit Graph

2336 Commits

Author SHA1 Message Date
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
Jonas Jensen
e9a029cba3 C++: Local field flow using global library
This commit removes fields from the responsibilities of `FlowVar.qll`.
The treatment of fields in that file was slow and imprecise.

It then adds another copy of the shared global data flow library, used
only to find local field flow, and it exposes that local field flow
through `localFlow` and `localFlowStep`.

This has a performance cost. It adds two cached stages to any query that
uses `localFlow`: the stage from `DataFlowImplCommon`, which is shared
with all queries that use global data flow, and a new stage just for
`localFlowStep`.
2019-09-02 11:17:27 +02:00
Jonas Jensen
4f57f37b31 C++: Test to show false flow through object copy 2019-09-02 11:16:48 +02:00
Jonas Jensen
8ee87fd9fc C++: Make TaintTracking2 QLDoc more like DataFlow2 2019-09-02 09:43:52 +02:00
Jonas Jensen
26c81eaae9 C++: Mention localExpr{Flow,Taint} in module QLDoc 2019-09-02 09:43:23 +02:00
semmle-qlci
0cf872ed32 Merge pull request #1846 from hvitved/csharp/autoformat
Approved by jbj
2019-09-02 08:31:43 +01:00
Jonas Jensen
f1d7fde49d C++: Use localExprFlow in existing queries
This shortens the queries a bit and ensures test coverage of the new
predicate.
2019-09-02 09:29:12 +02:00
Jonas Jensen
63311739a5 C++: Add localExprFlow and localExprTaint
This is for ODASA-8053.
2019-09-02 09:29:10 +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
Tom Hvitved
75eb7f92a2 C++: Sync identical files 2019-08-30 09:54:05 +02:00
zlaski-semmle
f2025116d5 Merge pull request #1771 from geoffw0/qldoceg8
CPP: Add syntax examples to QLDoc in NameQualifiers.qll
2019-08-29 15:16:37 -07:00
Geoffrey White
2b1871fd2b CPP: Remove the old test. I don't think preserving a duplicate test of deprecated queries is helpful. 2019-08-29 18:18:23 +01:00
Geoffrey White
ed7586d829 CPP: Add a combined test for the combined query. 2019-08-29 18:18:22 +01:00
Geoffrey White
ed53aef4dd CPP: Deprecate the two old queries. 2019-08-29 17:47:42 +01:00
Geoffrey White
7c14c68486 CPP: Add a new, combined Japanese era query. 2019-08-29 17:47:42 +01:00
Geoffrey White
b441b65918 CPP: Give the two japanese era queries unique @names. 2019-08-29 17:47:42 +01:00
Nick Rolfe
36b42def1c Merge pull request #1841 from ian-semmle/valuetext
C++: Split valuetext off into its own table
2019-08-29 17:42:14 +01:00
Geoffrey White
11da14c5f2 Merge pull request #1838 from jbj/leap-year-name
C++: Change name of UncheckedReturnValueForTimeFunctions.ql
2019-08-29 17:32:31 +01:00
Geoffrey White
1215da2d6c Merge pull request #1827 from jbj/sbb-tidy
C++: Tidy up SubBasicBlocks.qll
2019-08-29 15:42:40 +01:00
Geoffrey White
a84f19238b CPP: Add a scoped enum example. 2019-08-29 15:38:17 +01:00
Ian Lynagh
c08eb7e8c7 C++: Tweak the getValueText() code 2019-08-29 14:59:05 +01:00
Jonas Jensen
be7be1fb38 C++: Improve name/descr. of leap year queries 2019-08-29 15:53:51 +02:00
Ian Lynagh
28832c9021 C++: Add a comment 2019-08-29 10:32:34 +01:00
Calum Grant
d2bee79370 Merge pull request #1600 from AndreiDiaconu1/ircsharp
C#: Initial port of IR for C#
2019-08-29 09:26:34 +01:00
Ian Lynagh
395197432f C++: Update stats for valuetext 2019-08-28 22:52:14 +01:00
Geoffrey White
2e0c1af6c4 Merge pull request #1836 from jbj/xheader-undef
C++: Support x-macros that are #undef'ed in header
2019-08-28 17:16:50 +01:00
Ian Lynagh
cc031183bc C++: Add an upgrade script 2019-08-28 16:06:28 +01: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
Ian Lynagh
6d18b4e894 C++: If we don't have a valuetext, then see if one of our conversions does 2019-08-28 14:49:51 +01:00
Ian Lynagh
95794f9227 C++: Handle values with no valuetext 2019-08-28 14:27:08 +01:00
Ian Lynagh
754612d257 C++: Split valuetext off into its own table 2019-08-28 14:09:13 +01:00
Jonas Jensen
d4f8e73a66 C++: Change name of UncheckedReturn...Functions.ql
The previous name was identical to the name of
`Adding365DaysPerYear.ql`. It may have been a copy-paste error.
2019-08-28 14:05:31 +02:00
AndreiDiaconu1
c74898ec9f Synced files
Synced the files that are needed for this PR
2019-08-28 12:25:14 +01:00
Dave Bartolomeo
609ca034c0 C#/C++: Share IR implementation 2019-08-28 12:25:13 +01:00
Jonas Jensen
2c253f360a C++: Support x-macros that are #undef'ed in header
This fixes a false positive on https://github.com/zduka/tpp.
2019-08-28 13:03:16 +02:00
Jonas Jensen
e7dfb3e61b C++: Test for x-macro FP observed in the wild 2019-08-28 13:03:09 +02:00
Jonas Jensen
8c610e4f68 C++: Don't use deprecated interface in test 2019-08-28 08:31:05 +02:00
Jonas Jensen
b98d6379e9 C++: Restore and deprecate getPosInBasicBlock
This predicte was still used in a test, so it might be used in external
code too.
2019-08-28 08:29:06 +02:00
Jonas Jensen
3700a631a6 C++: Performance fix for existsCompleteWithName 2019-08-27 16:28:57 +02:00
Jonas Jensen
4cae5917cb C++: Remove one nomagic and explain the other 2019-08-26 21:48:18 +02:00
Jonas Jensen
2332dada1a C++: s/pos/index/ in SubBasicBlocks 2019-08-26 21:35:58 +02:00
Jonas Jensen
92c354e8e8 C++: Simplify SubBasicBlock::getNumberOfNodes 2019-08-26 21:11:42 +02:00
Jonas Jensen
2b94bb9eda C++: Use the word "rank" to denote a rank
Previously, the word "position" was used ambiguously in this library.
2019-08-26 16:13:08 +02:00
Jonas Jensen
17ee3f555c C++: Sync the two copies of SubBasicBlocks.qll
These files are now added to `identical-files.json` so they will remain
in sync.
2019-08-26 16:01:36 +02:00
Pavel Avgustinov
deacc23465 Merge pull request #1824 from jbj/sbb-perf
C++: Optimize SubBasicBlocks library
2019-08-26 13:02:43 +01:00
Jonas Jensen
5e674825e3 C++: Optimize SubBasicBlock::getPosInBasicBlock() 2019-08-26 12:47:40 +02:00
Jonas Jensen
d4f1cf97fd C++: Optimize SubBasicBlock::getNode(int) 2019-08-26 12:22:37 +02:00
Jonas Jensen
be24c6418b C++: Optimize SubBasicBlock::getNumberOfNodes() 2019-08-26 12:22:34 +02:00