Tom Hvitved
c92c96fa78
Data flow: Compute local big step relation per stage
2024-08-26 09:15:27 +02:00
Geoffrey White
20672acb74
Merge pull request #17110 from geoffw0/memfree
...
C++: Improve cpp/memory-may-not-be-freed
2024-07-31 15:59:42 +01:00
Geoffrey White
4aea4c0323
C++: Simple fix.
2024-07-31 14:46:25 +01:00
Geoffrey White
c04428dedc
C++: Add test cases for the memory freed queries.
2024-07-31 14:03:56 +01:00
Geoffrey White
1456012b54
C++: Additional test cases for cpp/use-after-free.
2024-07-23 18:02:14 +01:00
Geoffrey White
4920039a00
C++: Test spacing.
2024-07-23 18:01:30 +01:00
Mathias Vorreiter Pedersen
bcabc88649
C++: Accept test changes.
2024-06-13 10:59:46 +01:00
Mathias Vorreiter Pedersen
eec259279a
C++: Add another FP test. We already have tests for this, but it doesn't hurt to have another one, I guess.
2024-06-13 10:57:49 +01:00
Geoffrey White
315f439135
C++: Add test case for reassignment to UseAfterFree.ql.
2024-05-02 16:40:28 +01:00
Geoffrey White
57a53891e9
C++: Effect of recent QL changes.
2024-04-23 18:12:05 +01:00
Geoffrey White
b6703bc25c
C++: Add test cases inspired by QA results differences.
2024-04-23 18:06:12 +01:00
Mathias Vorreiter Pedersen
fb9fc14f3d
C++: Accept test changes in paths.
2024-04-16 11:09:22 +01:00
Mathias Vorreiter Pedersen
6f08790065
C++: Accept test changes.
2024-04-13 01:00:48 +01:00
Mathias Vorreiter Pedersen
352e7de07d
C++: Accept test changes.
2024-04-02 10:43:10 +01:00
Mathias Vorreiter Pedersen
3ea39a2553
C++: Add some query tests.
2024-03-13 11:39:34 +00:00
Anders Schack-Mulligen
7eb5e1833d
C++: Add empty provenance column to expected files.
2024-02-09 11:32:08 +01:00
Benjamin Rodes
2181fcf284
Updating .expected to account for new free/deallocation sources.
2024-01-22 10:36:24 -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
9a0e2e57ba
Updating .expected
2024-01-16 13:18:25 -05:00
Mathias Vorreiter Pedersen
82b9f1b31c
C++: Accept test changes.
2023-12-15 14:57:31 +00:00
Mathias Vorreiter Pedersen
0c100eb122
C++: Accept test changes.
2023-12-14 14:44:58 +00:00
Mathias Vorreiter Pedersen
a6104ad878
C++: Fix test annotations.
2023-12-12 11:06:18 +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
Mathias Vorreiter Pedersen
e648058d30
C++: Accept test changes.
2023-12-07 23:11:28 +00:00
Alex Eyers-Taylor
26b0363707
CPP: Add test demonstrating use-after-free false negatives.
2023-10-23 17:01:52 +01:00
Alex Eyers-Taylor
2860c0c0d4
CPP: Move test into correct file.
2023-09-27 18:42:26 +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
Alex Eyers-Taylor
9de6230bbf
CPP: Add use after free false positive example.
2023-09-20 18:34:47 +01:00
Mathias Vorreiter Pedersen
b03054b1ed
C++: Make sure some instruction also gives back the 'ParenthesisExpr's.
2023-09-12 19:46:42 +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
Mathias Vorreiter Pedersen
f1c4fa2345
C++: When we generate a string for the node we avoid multiple results by only using the 0'th result from the 'asExpr' predicate. However, when we want to convert between nodes and expressions we don't care about which one we get.
2023-09-01 14:04:52 +01:00
Mathias Vorreiter Pedersen
16d62186c0
C++: Use this new predicate everywhere we need to convert an instruction to an expression.
2023-09-01 13:32:25 +01:00
Alex Eyers-Taylor
8b1b1618c4
CPP: Add tests for false positive in memory vulnerability queries.
2023-08-29 11:17:44 +01:00
Alex Eyers-Taylor
689fda43ed
CPP: Add delete/delete[] calls to the IR.
2023-08-29 11:17:43 +01:00
Mathias Vorreiter Pedersen
b32d55a21d
C++: Accept test changes.
2023-05-22 18:26:29 -07:00
Mathias Vorreiter Pedersen
533e1d818b
C++: Add some use-after-free FPs.
2023-04-19 17:01:55 +01:00
Mathias Vorreiter Pedersen
b2d4a82932
C++: Fix annotations.
2023-04-13 11:13:15 +01:00
Mathias Vorreiter Pedersen
1ac5db3a98
C++: Fix annotations.
2023-04-13 11:07:12 +01:00
Mathias Vorreiter Pedersen
31b71ea163
C++: Fix annotations.
2023-04-13 11:04:51 +01:00
Mathias Vorreiter Pedersen
40dde93beb
C++: Fix FP and accept test changes.
2023-04-13 11:00:08 +01:00
Mathias Vorreiter Pedersen
23a7cd943f
C++: Fix missing result and accept test changes.
2023-04-13 10:50:46 +01:00
Mathias Vorreiter Pedersen
416f8d5ac9
C++: Fix test annotations.
2023-04-13 10:47:17 +01:00
Mathias Vorreiter Pedersen
c76dbebd9b
C++: Ensure that the 'use-after-free' query is run on 'test_free.cpp'.
2023-04-13 10:47:07 +01:00
Mathias Vorreiter Pedersen
3c88590df2
C++: Accept test changes for the new use-after-query.
2023-04-11 15:21:21 +01:00
Mathias Vorreiter Pedersen
a8151b4ee4
C++: Add double-free tests.
2023-04-11 15:21:21 +01:00
erik-krogh
33165f4f55
CPP: update expected output
2022-09-23 14:45:59 +02:00
Anders Fugmann
44752d5ee0
C++: Model strdupa and strndupa string functions returning memory allocated with alloca
2021-08-18 13:12:08 +02:00
Geoffrey White
244966e216
C++: Add a test with strdup.
2021-03-30 14:49:05 +01:00
Jonas Jensen
75873bb4a6
C++: Detect non-allocating placement new
...
This adds a `NewOrNewArrayExpr.getPlacementPointer` predicate and uses
it in `Alloc.qll` to detect when a `new`-expression is not an
allocation.
User-defined replacements for `operator new` may not be allocations
either, but the code continues to assume that they are. It's possible
that we want to change this assumption in the future or leave it up to
individual queries to decide on which side to err. It's hard to
statically tell whether `operator new` has been overloaded in a
particular file because it can be overloaded by a definition that is not
in scope but is only linked together with that file.
2018-11-22 11:31:19 +01:00
Jonas Jensen
a17debac3e
C++: Placement-new tests for MemoryNeverFreed.ql
2018-11-22 10:48:18 +01:00