Cornelius Riemenschneider
f75b969ffc
C++: Only include sum of LoC in the new non-alert summary queries for now.
2021-03-15 11:32:10 +00:00
Mathias Vorreiter Pedersen
5667901a2a
C++: Accept test changes after merge from main (which changed the path explanations).
2021-03-11 21:16:57 +01:00
Mathias Vorreiter Pedersen
a2d75c4fed
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2021-03-11 18:06:37 +01:00
Cornelius Riemenschneider
97ab842010
C++: Update summary queries.
2021-03-11 12:44:30 +00:00
Mathias Vorreiter Pedersen
01cc2f2c77
Merge pull request #5366 from MathiasVP/better-path-explanation-for-this-indirection
...
C++: Replace 'Argument -1 indirection' with 'This indirection'
2021-03-11 10:48:44 +01:00
Jonas Jensen
e1adf5e8b0
Merge pull request #5218 from MathiasVP/no-write-side-effects-for-const-pointer-params
...
C++: Don't generate write side effects for const parameter indirections
2021-03-11 09:48:05 +01:00
Mathias Vorreiter Pedersen
55da16c4a9
C++: Accept test changes.
2021-03-11 09:27:45 +01:00
Mathias Vorreiter Pedersen
bc36e0db43
C++: Accept more test changes.
2021-03-10 16:51:13 +01:00
Mathias Vorreiter Pedersen
0b6589c8be
C++: Accept test changes.
2021-03-10 15:47:06 +01:00
Mathias Vorreiter Pedersen
19d08d7b40
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2021-03-09 12:35:44 +01:00
Mathias Vorreiter Pedersen
7207a17f6f
C++: Accept more tests.
2021-03-08 16:50:12 +01:00
Dave Bartolomeo
863497c695
C++: Update naming of queries and paths to use "summary" instead of "metrics"
2021-03-05 14:36:26 -05:00
Mathias Vorreiter Pedersen
748f5344ff
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
2021-03-02 10:43:37 +01:00
Mathias Vorreiter Pedersen
72daf2eef9
C++: Make the tests more realistic by actually using the local variable for something. Otherwise it looks like a zero-initialization of a buffer, which the query now tries to exclude.
2021-02-26 09:19:05 +01:00
Dave Bartolomeo
2e02625f22
C++: Summary metrics queries
...
This is a first attempt at implementing, for C++, the set of summary queries that we expect all languages to implement to help diagnose extraction failures and build configuration problems. See the spec in [this document](https://docs.google.com/document/d/1V3zpkj0OGh8GEUVwACRx7fiafE5zklujAftZaYUyf9s/edit?usp=sharing ). The five queries are:
- Total number of source files (including .c/.cpp and header files)
- Total number of lines of text across all text files
- Total number of lines of code across all text files
- Number of lines of text in each source file
- Number of lines of code in each source file
I've added some simple unit tests that cover all five of these.
2021-02-25 12:53:39 -05:00
Mathias Vorreiter Pedersen
d33209388d
C++: Fix test annotations. Also exclude static locals from the query and add a testcase for this.
2021-02-25 13:25:11 +01:00
Mathias Vorreiter Pedersen
ef8b734863
C++: Move tests out of experimental and merge with old existing tests from the other memset PRs.
2021-02-24 18:02:16 +01:00
Mathias Vorreiter Pedersen
299f371715
C++: Accept more test changes.
2021-02-19 16:01:31 +01:00
Mathias Vorreiter Pedersen
25beadcb05
Update cpp/ql/test/query-tests/Security/CWE/CWE-079/semmle/CgiXss/search.c
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-02-17 11:54:24 +01:00
Mathias Vorreiter Pedersen
f5d5460dde
C++: Fix testcase.
2021-02-17 10:53:31 +01:00
Mathias Vorreiter Pedersen
fa44cedd38
C++: Add isBarrier to CgiXss.ql.
2021-02-16 18:58:28 +01:00
Mathias Vorreiter Pedersen
fd596ebbbb
C++: Move cpp/unsigned-difference-expression-compared-zero out of experimental.
2021-02-04 16:10:34 +01:00
Jonas Jensen
e3bdebf7a0
Merge pull request #5077 from jbj/revert-nested-fields
...
C++: Revert #4784
2021-02-03 14:07:28 +01:00
Jonas Jensen
064568c36d
Revert "Merge pull request #4784 from MathiasVP/mathiasvp/reverse-read-take-3"
...
This reverts commit 1b3d69d617 , reversing
changes made to 527c41520e .
2021-02-03 08:49:37 +01:00
Jonas Jensen
aa9ab41e30
Merge pull request #5059 from geoffw0/mswprintf
...
C++: Exclude custom vprintf implementations from primitiveVariadicFormatter.
2021-02-02 15:13:25 +01:00
Geoffrey White
708d3870ee
C++: Actually it's more appropriate to remove the implementation of vswprintf.
2021-02-02 13:42:27 +00:00
Geoffrey White
4e904dd87d
C++: Repair the test.
2021-02-02 13:08:46 +00:00
Geoffrey White
eed2aee17d
C++: Effect on tests.
2021-02-02 10:59:14 +00:00
Jonas Jensen
1b3d69d617
Merge pull request #4784 from MathiasVP/mathiasvp/reverse-read-take-3
...
C++: Support longer access paths in IR field flow
2021-01-25 10:36:03 +01:00
Geoffrey White
81205f37c5
C++: Fix test annotation.
2021-01-06 11:45:17 +00:00
Geoffrey White
18890c4a77
C++: Use isAdditionalBarrier in the SqlTainted query.
2021-01-05 11:33:39 +00:00
Geoffrey White
01b204ea30
C++: Add a test case with a tainted integer.
2021-01-04 15:35:18 +00:00
Geoffrey White
7a3f9c7895
C++: Add a test (cleaned up) that was previously in the internal repo.
2021-01-04 15:35:18 +00:00
Mathias Vorreiter Pedersen
77aa9615c0
C++: Accept test changes in paths.
2020-12-22 09:14:55 +01:00
Mathias Vorreiter Pedersen
f5e4725642
C++: Propagate flow from instruction's to non-exact operands for arrays and unions, and accept test changes.
2020-12-18 13:54:34 +01:00
Jonas Jensen
fd7dec7f20
Merge pull request #4824 from geoffw0/modelchanges5
...
C++: Add cases in the Allocation model.
2020-12-18 09:16:01 +01:00
Geoffrey White
93dfeac3c8
C++: Make specsAreKnown more accurate.
2020-12-15 17:43:28 +00:00
Geoffrey White
94dea9f71d
C++: Add a test of unknown format specifiers (with specsAreKnown check disabled).
2020-12-15 17:40:32 +00:00
Geoffrey White
899d1ab6d8
C++: Add tests of strdup (and variants) as allocators.
2020-12-14 13:50:11 +00:00
Geoffrey White
99b01e7d36
C++: Additional test case for FormattingFunction.
2020-11-30 15:25:51 +00:00
Cornelius Riemenschneider
7f13d4c356
C++: Improve EscapesTree analysis in the presence of temporary objects.
2020-11-25 10:41:15 +01:00
Cornelius Riemenschneider
e68352bcde
C++: Add testcase for false positive.
2020-11-25 10:40:33 +01:00
Mathias Vorreiter Pedersen
2e6a3cd33b
Merge branch 'main' into unsafe-use-of-this-query
2020-11-19 13:03:29 +01:00
Mathias Vorreiter Pedersen
072adaa279
C++: Require that no override of the called pure virtual function exists in any base class. This removes the false positive in the testcase. Based on the results on LGTM we have agreed to set the @precision to very-high.
2020-11-19 12:10:57 +01:00
Robert Marsh
29eacbd28b
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
...
Update for submodule bump
2020-11-13 12:22:41 -08:00
Mathias Vorreiter Pedersen
0a6a22562b
C++: Respond to more review comments.
...
- Remove post-dominance requirement. It was really just hiding good
results.
- Fix test annotations. Turns out Clang and GCC's 'undefined behavior'
warning didn't align with the C++ standard.
2020-11-13 15:44:33 +01:00
Jonas Jensen
8bb9e8a4af
Merge pull request #4592 from geoffw0/varnotused
...
C++: Work around two false positive issues with the UnusedLocals.ql query
2020-11-13 14:53:58 +01:00
Mathias Vorreiter Pedersen
b249777bfb
C++: Respond to review comments.
2020-11-13 10:44:06 +01:00
Robert Marsh
275d75295c
Merge branch 'main' into rdmarsh/cpp/use-taint-configuration-dtt
...
Fix test conflict
2020-11-12 13:28:10 -08:00
Mathias Vorreiter Pedersen
f417831a23
C++: Add two more tests to 'unsafe use of this'. First, test that post-dominance removes some results. Second, that a cast to the pure virtual function's defining class (skipping past a derived class that overrides the function) followed by a call to the function still results in an alert. This is also undefined behavior.
2020-11-12 15:51:04 +01:00