Mathias Vorreiter Pedersen
|
9da7c9f696
|
C++: Use heuristic allocation in 'cpp/overrun-write'.
|
2023-05-10 08:22:56 +01:00 |
|
Kasper Svendsen
|
c46898cb75
|
C++: Make implicit this receivers explicit
|
2023-05-09 15:35:54 +02:00 |
|
Mathias Vorreiter Pedersen
|
2021f46f19
|
C++: Add QLDoc to 'getOverflow'.
|
2023-05-09 08:52:08 +01:00 |
|
Robert Marsh
|
b7653ec92d
|
C++: ignore cast arrays in constant off-by-one query
|
2023-05-04 16:39:02 -04:00 |
|
Robert Marsh
|
3abf5d1bd2
|
C++: stitch paths in array off-by-one query
|
2023-05-04 16:28:05 -04:00 |
|
Mathias Vorreiter Pedersen
|
2587f8ed96
|
C++: Only alert on the largest possible overflow.
|
2023-05-04 17:29:31 +01:00 |
|
Mathias Vorreiter Pedersen
|
faf846bd58
|
C++: Disable flow through nodes that are sources of phi edges' back edges.
|
2023-04-28 11:36:42 +01:00 |
|
Mathias Vorreiter Pedersen
|
7eee589304
|
Merge pull request #12569 from andersfugmann/andersfugmann/use_after_free
C++: Implement use-after-free and double-free queries using the new IR use-use dataflow
|
2023-04-17 08:01:58 +01:00 |
|
Mathias Vorreiter Pedersen
|
d1e3c1b407
|
C++: Fix joins in 'select' of 'cpp/constant-array-overflow'.
|
2023-04-12 11:39:35 +01:00 |
|
Mathias Vorreiter Pedersen
|
17fe5f2317
|
C++: Change the id of the experimental double-free query to not overlap with the new non-experimental one.
|
2023-04-11 15:21:21 +01:00 |
|
Jeroen Ketema
|
9123657fd2
|
C++: Update product flow to match data flow naming
|
2023-04-06 17:13:12 +02:00 |
|
Jeroen Ketema
|
886abd1231
|
C++: Fix typo
|
2023-04-06 17:11:03 +02:00 |
|
Jeroen Ketema
|
39272def2d
|
C++: Clean up the ProductFlow FlowStates
|
2023-04-06 17:10:44 +02:00 |
|
Jeroen Ketema
|
4e12924521
|
C++: Refactor ProductFlow to have a DataFlow::ConfigSig-like interface
|
2023-04-06 17:10:40 +02:00 |
|
Jeroen Ketema
|
8e7eec173b
|
C++: inline isInvalidPointerDerefSink
|
2023-04-06 12:49:10 +02:00 |
|
Jeroen Ketema
|
f98576bcb4
|
C++: Fix number of join order problems in memory corruption queries
|
2023-04-06 10:53:18 +02:00 |
|
Mathias Vorreiter Pedersen
|
f007083ef0
|
C++: Switch back to a 'Bound' instead of a 'SemBound'.
|
2023-04-04 09:43:23 +01:00 |
|
Mathias Vorreiter Pedersen
|
c19edc5f0b
|
C++: Fix Code Scanning errors.
|
2023-04-03 15:17:37 +01:00 |
|
Mathias Vorreiter Pedersen
|
aa337c72c2
|
C++: Update import paths in tests and experimental queries.
|
2023-04-03 15:17:37 +01:00 |
|
Mathias Vorreiter Pedersen
|
cbd4662696
|
Merge branch 'main' into skip-safe-conversions-in-range-analysis
|
2023-03-27 21:18:49 +01:00 |
|
Jeroen Ketema
|
213c4b0818
|
C++: Fix join-order problem in cpp/overrun-write
Before on Wireshark:
```
[2023-03-27 12:59:25] Evaluated non-recursive predicate OverrunWriteProductFlow#fb5ce006::isSinkPairImpl#5#fffff@2ba90584 in 99742ms (size: 52640).
Evaluated relational algebra for predicate OverrunWriteProductFlow#fb5ce006::isSinkPairImpl#5#fffff@2ba90584 with tuple counts:
1047588019 ~1% {3} r1 = JOIN DataFlowUtil#47741e1f::InstructionNode#fff_20#join_rhs WITH OverrunWriteProductFlow#fb5ce006::bounded#3#fff_102#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
67558965 ~0% {4} r2 = JOIN r1 WITH Instruction#577b6a83::CallInstruction::getArgument#fbf_201#join_rhs ON FIRST 1 OUTPUT Rhs.2, Lhs.1, Lhs.2, Rhs.1
613572640 ~0% {5} r3 = JOIN r2 WITH ArrayFunction#ca0b6b68::ArrayFunction::hasArrayWithVariableSize#2#dispred#fff_201#join_rhs ON FIRST 1 OUTPUT Lhs.3, Rhs.1, Lhs.1, Lhs.2, Rhs.2
52640 ~0% {4} r4 = JOIN r3 WITH Instruction#577b6a83::CallInstruction::getStaticCallTarget#0#dispred#ff ON FIRST 2 OUTPUT Lhs.0, Lhs.4, Lhs.2, Lhs.3
52640 ~0% {4} r5 = JOIN r4 WITH Instruction#577b6a83::CallInstruction::getArgument#fbf ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.3, Lhs.0
52640 ~0% {5} r6 = JOIN r5 WITH DataFlowUtil#47741e1f::InstructionNode#fff_20#join_rhs ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.1
52640 ~0% {5} r7 = JOIN r6 WITH Instruction#577b6a83::Instruction::getUnconvertedResultExpression#0#dispred#ff ON FIRST 1 OUTPUT Lhs.3, Lhs.4, Lhs.1, Lhs.2, Rhs.1
return r7
```
After:
```
[2023-03-27 13:56:36] Evaluated non-recursive predicate OverrunWriteProductFlow#fb5ce006::isSinkPairImpl#5#fffff@f936aapd in 777ms (size: 52640).
Evaluated relational algebra for predicate OverrunWriteProductFlow#fb5ce006::isSinkPairImpl#5#fffff@f936aapd with tuple counts:
565480 ~5% {2} r1 = SCAN Instruction#577b6a83::CallInstruction::getStaticCallTarget#0#dispred#ff OUTPUT In.1, In.0
4420 ~1% {3} r2 = JOIN r1 WITH ArrayFunction#ca0b6b68::ArrayFunction::hasArrayWithVariableSize#2#dispred#fff ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.2
4420 ~0% {3} r3 = JOIN r2 WITH Instruction#577b6a83::CallInstruction::getArgument#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.0
4420 ~0% {4} r4 = JOIN r3 WITH DataFlowUtil#47741e1f::InstructionNode#fff_20#join_rhs ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.1
4420 ~0% {4} r5 = JOIN r4 WITH Instruction#577b6a83::Instruction::getUnconvertedResultExpression#0#dispred#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.3, Rhs.1
4420 ~3% {4} r6 = JOIN r5 WITH Instruction#577b6a83::CallInstruction::getArgument#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2, Lhs.3
52825 ~0% {5} r7 = JOIN r6 WITH OverrunWriteProductFlow#fb5ce006::bounded#3#fff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Rhs.2
52640 ~0% {5} r8 = JOIN r7 WITH DataFlowUtil#47741e1f::InstructionNode#fff_20#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1, Lhs.4, Lhs.3
return r8
```
|
2023-03-27 14:28:22 +02:00 |
|
Mathias Vorreiter Pedersen
|
125c013052
|
Merge branch 'main' into skip-safe-conversions-in-range-analysis
|
2023-03-24 17:01:11 +00:00 |
|
Anders Schack-Mulligen
|
978c5f7bd8
|
Java/C++: Autoformat
|
2023-03-23 13:06:19 +01:00 |
|
Anders Schack-Mulligen
|
72415c7c2c
|
C++: Rename references.
|
2023-03-23 13:06:19 +01:00 |
|
Mathias Vorreiter Pedersen
|
d325082db3
|
C++: Fix another place that assumed that 'Expr' was always 'Instruction'.
|
2023-03-22 16:51:39 +00:00 |
|
Jeroen Ketema
|
2fdfa0808a
|
C++: Refactor experimental queries to use DataFlow::ConfigSig
|
2023-03-21 09:16:59 +01:00 |
|
Ed Minnix
|
2d5944fb0e
|
Refactor DataFlow configurations to use "Config" naming convention
|
2023-03-19 17:44:07 -04:00 |
|
Nicky Mouha
|
dc09c9218e
|
Update IfStatementAdditionOverflow.ql
|
2023-03-12 01:05:18 -05:00 |
|
Jeroen Ketema
|
661160a98e
|
C++: Update PrivateCleartextWrite with DataFlow::ConfigSig
|
2023-03-08 15:04:45 +01:00 |
|
Jeroen Ketema
|
fb57914751
|
C++: Convert a number of data flow based queries to use ConfigSig
|
2023-03-07 18:21:52 +01:00 |
|
Mathias Vorreiter Pedersen
|
63690066c5
|
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
|
2023-03-07 13:06:43 +00:00 |
|
Jeroen Ketema
|
47930f94e2
|
Merge remote-tracking branch 'upstream/main' into merge-main
|
2023-03-06 15:20:39 +01:00 |
|
Jeroen Ketema
|
aa00424b75
|
C++: Fix experimental query that uses the deprecated freeCall predicate
|
2023-03-03 17:53:49 +01:00 |
|
Geoffrey White
|
7b596f4928
|
Merge pull request #10431 from ihsinme/ihsinme-patch-111
CPP: Add query for CWE-369: Divide By Zero.
|
2023-03-03 10:42:04 +00:00 |
|
Nicky Mouha
|
08f04d5386
|
Update IfStatementAdditionOverflow.ql
|
2023-02-23 17:50:02 -05:00 |
|
Nicky Mouha
|
ed75172bdd
|
Update IfStatementAdditionOverflow.ql
|
2023-02-21 18:11:22 -05:00 |
|
ihsinme
|
49af5ec536
|
Update DivideByZeroUsingReturnValue.ql
|
2023-02-19 21:41:28 +03:00 |
|
Nicky Mouha
|
f577a04eab
|
Update IfStatementAdditionOverflow.ql
|
2023-02-18 21:34:03 -05:00 |
|
Jeroen Ketema
|
7bd28183ba
|
Merge pull request #12151 from jketema/remove-experimental-dataflow
C++: Remove experimental copy of the use-use IR dataflow library
|
2023-02-10 18:08:14 +01:00 |
|
Jeroen Ketema
|
b023c6bb23
|
C++: Remove experimental copy of the use-use IR dataflow library
|
2023-02-10 16:20:33 +01:00 |
|
Jeroen Ketema
|
ecdeb9a970
|
C++: Revert semmle.code.cpp.dataflow to its old state
While here make sure all queries and tests use IR dataflow when appropriate.
|
2023-02-10 14:21:44 +01:00 |
|
Jeroen Ketema
|
1c35109675
|
C++: Add experimental tag to experimental query
|
2023-02-06 20:31:26 +01:00 |
|
Jeroen Ketema
|
868f07bc91
|
Merge branch 'main' into ihsinme-patch-102
|
2023-02-06 20:16:53 +01:00 |
|
ihsinme
|
065ca3c227
|
Update DivideByZeroUsingReturnValue.ql
|
2023-02-06 19:42:46 +03:00 |
|
Nicky Mouha
|
5a4a63f8a9
|
Create IfStatementAdditionOverflow.ql
|
2023-01-30 18:52:35 -05:00 |
|
Pierre
|
c3116b3f0f
|
Merge branch 'main' into turbo/experimental/combined
|
2023-01-11 18:02:55 +01:00 |
|
Tony Torralba
|
3fcc99e5cb
|
C++: Remove omittable exists variables
|
2023-01-10 13:36:01 +01:00 |
|
Geoffrey White
|
3b31da8a62
|
C++: Update the experimental query as well.
|
2023-01-05 12:48:17 +00:00 |
|
ihsinme
|
c790b0fed6
|
Update DivideByZeroUsingReturnValue.ql
|
2022-12-18 00:34:14 +03:00 |
|
turbo
|
4ec401a3f6
|
Tag all security queries in supported languages' experimental directories with an experimental tag
|
2022-12-14 17:15:50 +01:00 |
|