Mathias Vorreiter Pedersen
4e4ffbd790
Update cpp/change-notes/2021-02-24-memset-may-be-deleted.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-02-26 09:48:21 +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
Robert Marsh
290b1c624e
C++: cache the IR stage Operand class
2021-02-25 13:10:39 -08:00
Mathias Vorreiter Pedersen
faadcd913e
C++: Exclude memsets that clear a variable that has no other uses.
2021-02-25 21:27:12 +01:00
Mathias Vorreiter Pedersen
2777ca445e
Update cpp/ql/src/Security/CWE/CWE-014/MemsetMayBeDeleted.ql
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-02-25 19:49:58 +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
9e7c9d0ea0
C++: Respond to review comments. Relax the escaping requirements on the local variable being used in memset.
2021-02-25 18:22:48 +01:00
Mathias Vorreiter Pedersen
3f26b2940d
Update cpp/ql/src/Security/CWE/CWE-014/MemsetMayBeDeleted.ql
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-02-25 15:48:48 +01: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
Jonas Jensen
2b54c33904
Merge pull request #5257 from MathiasVP/doh-its-2021-mathias
...
C++: Turns out we're in 2021 and not 2020.
2021-02-25 09:30:08 +01:00
Mathias Vorreiter Pedersen
70a953b633
C++: Add change-note.
2021-02-24 18:02:16 +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
c44fbaaf3c
C++: Promote memset query out of experimental.
2021-02-24 18:01:41 +01:00
Mathias Vorreiter Pedersen
fc4162ba1a
C++: Turns out we're in 2021 and not 2020.
2021-02-24 17:15:51 +01:00
Geoffrey White
358a8fee7d
C++: 'side-effect free'.
2021-02-24 09:25:11 +00:00
Geoffrey White
431a004127
C++: QLDoc.
2021-02-23 19:10:03 +00:00
Robert Marsh
0b2daf7679
C++: filter operands of removed IR instructions
2021-02-22 14:41:21 -08:00
Geoffrey White
362c12caea
Merge pull request #5217 from MathiasVP/model-bsd-sockets-part-3
...
C++: Implement models for poll, accept and select
2021-02-22 18:34:59 +00:00
Mathias Vorreiter Pedersen
f908d2f1de
C++: Remove hasTaintFlow from poll and select functions.
2021-02-22 08:54:43 +01:00
Mathias Vorreiter Pedersen
576a872316
C++: Address review comments.
2021-02-19 20:24:02 +01:00
Mathias Vorreiter Pedersen
299f371715
C++: Accept more test changes.
2021-02-19 16:01:31 +01:00
Geoffrey White
79338052ad
C++: Add CWE-676 tag.
2021-02-19 14:55:31 +00:00
Mathias Vorreiter Pedersen
4f23c3546f
C++: Don't generate WriteSideEffect instructions for const parameter indirections.
2021-02-19 15:15:51 +01:00
Mathias Vorreiter Pedersen
fef824c37a
C++: Implement models for poll, accept and select.
2021-02-19 14:03:54 +01:00
Geoffrey White
c4cca83019
Merge pull request #5196 from MathiasVP/fix-dataflow-regression-const-member-function
...
C++: Fix missing dataflow "out of" const member functions
2021-02-18 16:43:38 +00:00
Mathias Vorreiter Pedersen
88263cb89e
Merge pull request #5114 from geoffw0/codeqltestdoc
...
Documentation: Make our policy for copied example code clear and visible.
2021-02-18 10:43:17 +01:00
Mathias Vorreiter Pedersen
3082d70345
Merge branch 'main' into fix-dataflow-regression-const-member-function
2021-02-18 09:34:51 +01:00
Cornelius Riemenschneider
ebcecca9f1
Merge pull request #5157 from geoffw0/modelsbsl2
...
C++: Improve Iterator models
2021-02-17 18:04:07 +01:00
Mathias Vorreiter Pedersen
908f24d23f
C++: Fix missing AST flow.
2021-02-17 14:33:58 +01:00
Mathias Vorreiter Pedersen
e0dca2be20
Merge pull request #5185 from MathiasVP/block-integral-types-in-cgixss-query
...
C++: Add isBarrier to cpp/cgi-xss
2021-02-17 12:44:45 +01:00
Geoffrey White
ec79094957
Merge pull request #5191 from MathiasVP/regression-test-const-member-function
...
C++: Add test for missing flow due to const specifier
2021-02-17 10:59:20 +00: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
Geoffrey White
c07a60818c
C++: Simplify IteratorAssignArithmeticOperator.
2021-02-17 10:49:28 +00:00
Mathias Vorreiter Pedersen
e1c4406fd4
Merge pull request #5187 from geoffw0/modelsbsl5
...
C++: Support BSL in Allocation.qll, Deallocation.qll.
2021-02-17 11:48:53 +01:00
Mathias Vorreiter Pedersen
6db75df943
Merge pull request #5186 from geoffw0/modelsbsl4
...
C++: More models work
2021-02-17 11:46:23 +01:00
Mathias Vorreiter Pedersen
1b148c4c90
C++: Add reduced testcase demonstrating the problem in codeql-c-analysis-team/issues/231.
2021-02-17 11:20:00 +01:00
Mathias Vorreiter Pedersen
f5d5460dde
C++: Fix testcase.
2021-02-17 10:53:31 +01:00
Robert Marsh
6aeec5872d
Merge branch 'main' into rdmarsh2/cpp/operand-reuse
2021-02-16 15:42:58 -08:00
Geoffrey White
3323683ab2
C++: Support BSL in Allocation.qll, Deallocation.qll.
2021-02-16 19:19:06 +00:00
Geoffrey White
d068ede65b
Merge pull request #5180 from criemen/bsl-stdcontainer
...
C++: Refactor StdContainer.qll.
2021-02-16 18:53:08 +00:00
Geoffrey White
58230d6d0a
C++: Model BSL in Fread.qll.
2021-02-16 18:00:51 +00:00
Mathias Vorreiter Pedersen
fa44cedd38
C++: Add isBarrier to CgiXss.ql.
2021-02-16 18:58:28 +01:00
Geoffrey White
e17d539883
C++: Model BSL in Getenv.qll.
2021-02-16 17:56:48 +00:00
Geoffrey White
735e014b43
C++: Model BSL in Gets.qll.
2021-02-16 17:22:59 +00:00
Cornelius Riemenschneider
f7f8dd49c6
Merge pull request #5156 from geoffw0/modelsbsl
...
C++: Improve StdSet and StdPair models
2021-02-16 18:00:23 +01:00
Cornelius Riemenschneider
3fb42194a5
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-02-16 17:58:45 +01:00
Geoffrey White
92df1f7a3d
Merge pull request #5165 from criemen/bsl-model-identity
...
C++: Refactor IdentityFunction.qll.
2021-02-16 16:32:57 +00:00
Geoffrey White
c32e54e902
Merge pull request #5176 from criemen/bsl-smartptr
...
BSL support for smart pointers and other std classes.
2021-02-16 16:21:50 +00:00
Cornelius Riemenschneider
173b16ae21
Merge pull request #5169 from criemen/bsl-pure
...
C++: Model bsl functions in Pure.qll.
2021-02-16 17:19:11 +01:00
Cornelius Riemenschneider
80eaf0b67a
Merge pull request #5174 from criemen/bsl-str
...
Model bsl functions in Str*.qll
2021-02-16 17:18:40 +01:00