Mathias Vorreiter Pedersen
2f7766a557
C++: Autoformat.
2024-05-20 09:04:24 +01:00
codeqlhelper
1d8d45b3aa
Static variables are initialized to zero or null by compiler
...
Static variables are initialized to zero or null by compiler, no need to get an initializer of them
2024-05-19 21:48:43 +08:00
Geoffrey White
53d4a10108
Update cpp/ql/src/Critical/DoubleFree.qhelp
...
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2024-05-08 17:15:08 +01:00
Geoffrey White
088f8297b6
C++: Use nullptr.
2024-05-08 14:04:21 +01:00
Geoffrey White
3fd6bc9b5c
C++: Fix qhelp format.
2024-05-08 11:46:07 +01:00
Geoffrey White
486226814a
C++: Add a second example.
2024-05-08 11:40:29 +01:00
Geoffrey White
575b66a054
C++: Clarify the recommendation and example.
2024-05-07 16:52:50 +01:00
Geoffrey White
dd95a2abab
C++: Move qhelp.
2024-05-07 16:35:21 +01:00
Mathias Vorreiter Pedersen
c3cf425079
C++: Use interpolation to avoid a bad join order.
2024-04-16 16:24:08 +01:00
Mathias Vorreiter Pedersen
e1884c193b
C++: Add tests (and fix a missing quote in the alert message).
2024-04-16 14:20:19 +01:00
Mathias Vorreiter Pedersen
439afd97ba
C++: Small performance optimization.
2024-04-16 13:54:58 +01:00
Mathias Vorreiter Pedersen
132bb9f1d6
C++: Address (my own) review comments.
2024-04-16 13:53:27 +01:00
Mathias Vorreiter Pedersen
8a92a4250f
C++: Autoformat.
2024-04-09 17:53:33 +01:00
codeqlhelper
af2a7eadc3
Reduce false alarms of InconsistentNullnessTesting.ql
...
We should ignore `checked` in a macro to avoid too many false alarms,
2024-04-09 00:07:40 +08:00
codeqlhelper
fb15a4ea11
Reduce the false alarms of GlobalUseBeforeInit.ql
2024-04-09 00:03:05 +08:00
Mathias Vorreiter Pedersen
bd0ddec630
C++: Fix join order in 'cpp/double-free'.
2024-04-02 09:59:53 +01:00
Mathias Vorreiter Pedersen
7fb64268bd
Merge pull request #15997 from MathiasVP/simplify-guard-in-missing-check-scanf
...
C++: Simplify use of guard conditions in `cpp/missing-check-scanf`
2024-03-21 10:16:12 +00:00
Mathias Vorreiter Pedersen
f31bb1391d
C++: Simplify 'checkedForEof'.
2024-03-20 16:59:39 +00:00
Mathias Vorreiter Pedersen
5476f42d2c
C++: Simplify use of 'GuardCondition's in 'cpp/missing-check-scanf'.
2024-03-20 16:44:43 +00:00
Mathias Vorreiter Pedersen
14aff5c94c
C++: Convert 'cpp/missing-check-scanf' to a path-problem query.
2024-03-20 14:54:53 +00:00
Mathias Vorreiter Pedersen
c9dbb7c5a9
C++: Rewrite 'cpp/missing-check-scanf' to use standard dataflow configurations.
2024-03-20 12:01:57 +00:00
Mathias Vorreiter Pedersen
decede51dc
C++: Use the new predicate in 'ScanfChecks.qll'.
2024-03-18 16:07:57 +00:00
Mathias Vorreiter Pedersen
ebd1595fbe
C++: Fix FP by concluding that a less-than-zero check also implies a not-equal-to-EOF check.
2024-01-29 16:24:36 +00:00
Mathias Vorreiter Pedersen
41f44f598a
C++: Explicitly check that a check for EOF isn't present.
2024-01-29 11:33:14 +00:00
Benjamin Rodes
da10e6ca5b
Moving FlowAfterFree and UseAfterFree.qll as a general purpose lib.
2024-01-22 11:18:03 -05:00
Benjamin Rodes
833ef9d6d6
Further reorg of libraries and predicates to allow for more reusable and consistent libraries.
2024-01-18 11:17:24 -05:00
Benjamin Rodes
967526b285
Separating out use after free logic into a library and a ql so the query can be expanded easily.
2024-01-18 10:59:17 -05:00
Mathias Vorreiter Pedersen
39dafd6f6a
C++: Suggestions to #15343 ( #39 )
...
* C++: Change the interface of 'FlowAfterFree' so that the module it takes
a single module as a parameter.
* C++: Add another predicate to the module signature.
* C++: Convert the use-after-free and double-free libraries to use new interface.
* C++: Accept test changes.
2024-01-17 11:02:46 -05:00
Benjamin Rodes
a0ef7955b1
Updating FlowAfterFree to not enforce dominance of source/sink. DoubleFree and UseAfterFree queries now enforce dominance.
2024-01-16 13:15:36 -05:00
Mathias Vorreiter Pedersen
aafde4d18d
C++: Fix joins in 'cpp/use-after-free'.
2023-12-18 14:49:09 +01:00
Mathias Vorreiter Pedersen
0543ed115e
C++: Add barrier for array lookups in 'cpp/double-free' and 'cpp/use-after-free'.
2023-12-15 14:57:17 +00:00
Mathias Vorreiter Pedersen
3dea467dcc
Merge pull request #15047 from MathiasVP/add-puns-for-addresses-of-arguments
...
C++: Add `PostUpdateNode`s for addresses of outgoing arguments
2023-12-12 13:55:13 +00:00
Mathias Vorreiter Pedersen
97f2be9b82
C++: Fix QLDoc.
2023-12-12 13:45:18 +00:00
Mathias Vorreiter Pedersen
cec785c8cc
C++: Respond to review comments.
2023-12-12 11:16:41 +00:00
Mathias Vorreiter Pedersen
f284fde93c
C++: Update QLDoc.
2023-12-12 11:09:36 +00:00
Alexander Eyers-Taylor
c883ce8a5e
Apply suggestions from code review
...
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2023-12-11 13:50:35 +00:00
Mathias Vorreiter Pedersen
90b06c2046
C++: Switch the source of use-after-free and double-free to be post-update nodes.
2023-12-08 14:41:29 +00:00
Alex Eyers-Taylor
da5c2d9bad
CPP: Use guard libraries to find equalities with zero.
2023-12-08 13:30:30 +00:00
Alexander Eyers-Taylor
2e92689810
CPP: Apply suggestions from code review of incorrect scanf check
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2023-12-04 18:32:03 +00:00
Alex Eyers-Taylor
f3f53570a4
CPP: Fix metadata and add a change-note.
2023-12-04 12:19:31 +00:00
Alex Eyers-Taylor
3e9aeac004
CPP: Fix sscanf false positives in older linux repos
2023-11-28 12:07:05 +00:00
Alex Eyers-Taylor
9eb5b23f54
CPP: Fix query formatting
2023-11-27 15:55:44 +00:00
Alex Eyers-Taylor
12e24a2b44
CPP: Exclude incorrect scanf checks from missing scanf checks
2023-11-24 16:57:59 +00:00
Alex Eyers-Taylor
f48e8b6062
CPP: Add query for detecteing incorrect error checking for scanf
2023-11-24 14:53:10 +00:00
Mathias Vorreiter Pedersen
7084dc1a88
C++: Promote 'cpp/use-after-free' and 'cpp/double-free' to Code Scanning.
2023-10-03 09:22:47 +02:00
Alex Eyers-Taylor
6b0ae0f312
CPP: Remove unned argument from use-after-free
2023-09-28 17:53:32 +01:00
Alex Eyers-Taylor
d0849311a6
CPP: Fix use after free FPs by elimnatiing freeing nodes rather than freeing expressions.
2023-09-20 18:47:57 +01:00
Mathias Vorreiter Pedersen
71fe6f5d4b
C++: Use fully converted expressions in 'cpp/use-after-free' and 'cpp/double-free'.
2023-09-12 19:28:57 +01:00
Jeroen Ketema
0c0720a962
C++: Improve use-after-free example code
...
* Remove the mismatch between `new` and `free` and use `delete` instead
* Make the function `void`, so people copying the code will not forget
to add a `return`.
* Balance out the `...` for omitted code.
2023-08-03 11:06:15 +02:00
Jeroen Ketema
52ab215560
C++/Swift: Remove none() dataflow configuration predicates
...
These now have default implementations that are also `none()`
2023-07-12 23:49:29 +02:00