Tom Hvitved
922e52f061
Merge pull request #3257 from hvitved/csharp/dataflow/tests
...
C#: Update data flow tests
2020-04-16 11:47:45 +02:00
Chris Gavin
4e981d8e70
Merge rc/1.24 into master.
2020-04-14 21:30:29 +01:00
Dave Bartolomeo
95a6dd01c6
C#: Accept test output
2020-04-14 11:11:36 -04:00
Tom Hvitved
a9b88b6eaa
C#: Update data flow tests
2020-04-14 09:31:10 +02:00
Dave Bartolomeo
1bde11706e
C++: Connect InitializeIndirection to UnmodeledDefinition
...
The IR generation for `InitializeIndirection` currently connects its load operand to the result of the corresponding `InitializeParameter` instruction. This isn't exactly wrong, but it doesn't fit the IR invariant of "All unmodeled uses consume `UnmodeledDefinition`". Our current code doesn't care, because we just throw away all of the existing def-use information, modeled or otherwise, when we build unaliased SSA. However, some upcoming SSA changes don't work correctly if this invariant is broken.
I've added the trivial IR generation change, along with a new sanity query.
2020-04-13 18:37:47 -04: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
Pavel Avgustinov
6737e99d65
Merge pull request #3209 from hmakholm/baselib-extractor
...
Add extractor field in base language QL packs
2020-04-09 15:24:49 +01:00
Robert Marsh
7e299e7494
C++/C#: Document ReturnIndirectionInstruction::getParameter
2020-04-08 16:41:07 -07:00
Robert Marsh
c38ccaaab6
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
2020-04-08 12:32:35 -07:00
Tom Hvitved
6685a5ed4d
Merge pull request #3136 from calumgrant/cs/buildless-extraction
...
C#: Improvements to buildless extraction
2020-04-07 08:52:00 +02:00
Henning Makholm
d1ff3211ef
Add extractor fields to test qlpack.yml files.
2020-04-06 19:21:41 +02:00
Henning Makholm
bf579dedd4
Add extractor field in base language QL packs
2020-04-06 18:48:01 +02:00
Calum Grant
0d86866ba3
Merge pull request #3160 from hvitved/csharp/null-maybe-fp
...
C#: Add false-positive test for NullMaybe.ql
2020-04-06 14:30:31 +01:00
Calum Grant
6cce0de9b2
Merge pull request #3124 from hvitved/csharp/dataflow/sources-and-sinks
...
C#: Introduce `RemoteFlowSink` class
2020-04-06 12:36:14 +01:00
Robert
1096e5d947
Merge pull request #3163 from robertbrignull/code_scanning_suites
...
Add code-scanning suites
2020-04-06 08:45:40 +01:00
Tom Hvitved
c8c706a0ba
C#: Un-deprecate PublicCallableParameterFlowSource
2020-04-06 09:01:44 +02:00
Tom Hvitved
4e2d6c0250
C#: Add missing QL doc
2020-04-03 12:45:56 +02:00
Mathias Vorreiter Pedersen
0b12c1519b
C++/C#: Sync identical files
2020-04-03 10:06:37 +02:00
Robert Marsh
a061811939
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
...
Pick up new test for user-defined swap functions
2020-04-01 17:32:55 -07:00
Tom Hvitved
42e180d6c4
Merge pull request #3060 from aschackmull/dataflow/no-param-to-same-param-flow
...
Dataflow: Exclude param-param flow through with identical params.
2020-04-01 09:42:12 +02:00
Robert Marsh
25f3f67c4a
Merge branch 'master' into rdmarsh/cpp/ir-flow-through-outparams
...
Fixes test conflicts and reveals a bug in parameter handling
2020-03-31 12:54:00 -07:00
Tom Hvitved
4ca5e3755f
C#: Add false-positive test for NullMaybe.ql
2020-03-31 14:06:16 +02:00
Tom Hvitved
9fa9c10361
Merge pull request #2921 from aschackmull/dataflow/consistency-checks
...
Java: Add data-flow consistency checks.
2020-03-30 12:47:41 +02:00
Anders Schack-Mulligen
caf0d1528f
Merge pull request #3155 from max-schaefer/add-module-comment
...
Data flow: Add module doc comment for `TaintTrackingImpl.qll`
2020-03-30 12:07:08 +02:00
Max Schaefer
e5e94e3357
Data flow: Add module doc comment for TaintTrackingImpl.qll
...
Modelled after the correponding comment for `DataFlowImpl.qll`.
2020-03-30 10:35:47 +01:00
Robert Brignull
90fad6f762
add code scanning suites
2020-03-27 17:03:23 +00:00
Mathias Vorreiter Pedersen
7890a322c8
C++/C#/Java: Sync identical files
2020-03-27 11:51:38 +01:00
Calum Grant
b94b4b7c91
C#: Fix tests
2020-03-26 20:40:40 +00:00
Calum Grant
782f2b5b50
Merge pull request #3073 from hvitved/csharp/null-maybe-fp
...
C#: Add test for `cs/dereferenced-value-may-be-null`
2020-03-26 18:55:54 +00:00
Dave Bartolomeo
7879dde8b8
Merge pull request #3097 from jbj/detect-conflated-memory
...
C++: Implement Instruction.isResultConflated
2020-03-26 14:52:47 -04:00
Tom Hvitved
a8660d446e
C#: Fix typo
2020-03-26 14:54:03 +01:00
Tom Hvitved
db8d61c3be
C#: Remove compiler warning in Remote.qll
2020-03-26 12:26:17 +01:00
Tom Hvitved
54677189de
C#: Introduce RemoteFlowSink class
2020-03-25 20:05:39 +01:00
Tom Hvitved
142737dc61
C#: Move HtmlSinks from XSS.qll into separate file
2020-03-25 20:05:39 +01:00
Tom Hvitved
fddbce0b7b
C#: Move all predefined sources and sinks into security/dataflow/flow{sinks,sources}
2020-03-25 20:05:39 +01:00
Dave Bartolomeo
1edd492abf
C++: Late fix for PR feedback
...
I missed this suggestion before I merged the original PR. Fixing it now before I forget.
2020-03-25 10:10:30 -04:00
Dave Bartolomeo
376779421d
Merge pull request #2975 from rdmarsh2/printir-generate-all
...
C++/C#: generate IR for funcs excluded in PrintIR
2020-03-25 09:45:02 -04:00
Tom Hvitved
7ac25d2439
C#: Add more tests for cs/information-exposure-through-exception
2020-03-25 14:33:49 +01:00
Jonas Jensen
2b2667aef7
Merge remote-tracking branch 'upstream/master' into detect-conflated-memory
...
Conflicts:
cpp/ql/src/semmle/code/cpp/ir/implementation/aliased_ssa/IRSanity.qll
cpp/ql/src/semmle/code/cpp/ir/implementation/raw/IRSanity.qll
cpp/ql/src/semmle/code/cpp/ir/implementation/unaliased_ssa/IRSanity.qll
cpp/ql/test/library-tests/ir/ir/aliased_ssa_sanity.expected
cpp/ql/test/library-tests/ir/ir/aliased_ssa_sanity_unsound.expected
cpp/ql/test/library-tests/ir/ir/raw_sanity.expected
cpp/ql/test/library-tests/ir/ir/unaliased_ssa_sanity.expected
cpp/ql/test/library-tests/ir/ir/unaliased_ssa_sanity_unsound.expected
cpp/ql/test/library-tests/ir/ssa/aliased_ssa_sanity.expected
cpp/ql/test/library-tests/ir/ssa/aliased_ssa_sanity_unsound.expected
cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_sanity.expected
cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_sanity_unsound.expected
cpp/ql/test/library-tests/syntax-zoo/aliased_ssa_sanity.expected
cpp/ql/test/library-tests/syntax-zoo/raw_sanity.expected
cpp/ql/test/library-tests/syntax-zoo/unaliased_ssa_sanity.expected
csharp/ql/src/semmle/code/csharp/ir/implementation/raw/IRSanity.qll
csharp/ql/src/semmle/code/csharp/ir/implementation/unaliased_ssa/IRSanity.qll
csharp/ql/test/library-tests/ir/ir/raw_ir_sanity.expected
csharp/ql/test/library-tests/ir/ir/unaliased_ssa_sanity.expected
2020-03-25 11:55:39 +01:00
Dave Bartolomeo
2b69cc9738
C#: Make IRConfiguration.qll just forward to the implementation
...
Just like C++ already does.
2020-03-24 13:33:50 -04:00
Jonas Jensen
8f419d1676
C++: Fix conflated-memory sanity query
...
I had included `InitializeNonLocal` in the recursion because it made
everything look better in the presence of a bug that's since been fixed.
Taking it out means the sanity test is again aligned with the old
`isChiForAllAliasedMemory`.
2020-03-24 16:46:59 +01:00
Jonas Jensen
4e588869d8
C++: Sync identical files
2020-03-24 16:46:42 +01:00
Jonas Jensen
29c4c8c0b2
C#: Fixup to follow C++ changes
2020-03-23 20:39:43 +01:00
Jonas Jensen
999051d20e
C++: QLDoc terminology: object -> mem allocation
2020-03-23 20:32:47 +01:00
Dave Bartolomeo
c5ac357bfc
C++/C#: Fix bad overlap sanity failures
...
`Instruction.getDefinitionOverlap()` depends on `SSAConstruction::getMemoryOperandDefinition()`, which in turn depends on `SSAConstruction::hasMemoryOperandDefinition()`. When the definition in question came from a `Chi` instruction, `hasMemoryOperandDefinition()` incorrectly bound `overlap` to the overlap relationship between the original (non-`Chi`) instruction and the use. The fix is to make use of the `actualDefLocation` parameter to `getDefinitionOrChiInstruction()`, which specifies the location for the result of the `Chi` in that case.
2020-03-23 14:57:41 -04:00
Dave Bartolomeo
a2741da8e2
C++/C#: Add sanity test for invalid overlap from getDefinitionOverlap()
...
The result of `getDefinitionOverlap()` should never be `MayPartiallyOverlap`, because if that were the case, we should have inserted as `Chi` instruction and hooked the definition up to that instead.
There are quite a few existing failures.
2020-03-23 14:37:06 -04:00
Anders Schack-Mulligen
f29f0f418f
Dataflow: Exclude flow param-param flow through with identical params.
2020-03-23 17:27:53 +01:00
Jonas Jensen
13465921a3
Merge pull request #3092 from dbartol/dbartol/VarArgIR2_ElectricBoogaloo
...
C++: Better IR for varargs
2020-03-23 14:13:54 +01:00
Luke Cartey
9eee16b2d6
Merge pull request #3091 from hvitved/csharp/xpath-injection-more-sinks
...
C#: Teach XPath injection query about `XPathNavigator`
2020-03-23 09:39:26 +00:00
Anders Schack-Mulligen
888c504f55
Merge pull request #2903 from hvitved/dataflow/performance
...
Data flow: Refactoring + performance improvements
2020-03-23 10:01:20 +01:00