Mathias Vorreiter Pedersen
|
2a02ce137a
|
C++: Fix join orders in 'exprIsSubLeftOrLess'.
Before:
Tuple counts for UnsignedDifferenceExpressionComparedZero::exprIsSubLeftOrLess#ff/2@i3#a5071w3a after 24s:
304220 ~2% {2} r1 = JOIN UnsignedDifferenceExpressionComparedZero::exprIsSubLeftOrLess#ff#prev_delta WITH Expr::BinaryOperation#class#f#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.0 'sub'
190061335 ~24% {2} r2 = JOIN r1 WITH DataFlowUtil::localFlowStep#ff ON FIRST 1 OUTPUT Lhs.1 'sub', Rhs.1 'n'
3956 ~0% {2} r3 = JOIN r1 WITH DataFlowUtil::localFlowStep#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'sub', Rhs.1 'n'
407983 ~1% {2} r4 = JOIN Expr::BinaryOperation#class#f#join_rhs WITH UnsignedDifferenceExpressionComparedZero::exprIsSubLeftOrLess#ff#prev ON FIRST 1 OUTPUT Rhs.1 'n', Lhs.0 'sub'
380823 ~0% {2} r5 = JOIN r4 WITH DataFlowUtil::TExprNode#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'sub', Rhs.1
0 ~0% {2} r6 = JOIN r5 WITH UnsignedDifferenceExpressionComparedZero::isGuarded#fff#prev_delta ON FIRST 2 OUTPUT Rhs.2, Lhs.0 'sub'
0 ~0% {2} r7 = JOIN r6 WITH DataFlowUtil::TExprNode#ff ON FIRST 1 OUTPUT Lhs.1 'sub', Rhs.1 'n'
3956 ~0% {2} r8 = r3 UNION r7
190065291 ~24% {2} r9 = r2 UNION r8
...
After:
Tuple counts for UnsignedDifferenceExpressionComparedZero::interestingSubExpr#f/1@654e29g3 after 228ms:
370 ~2% {2} r1 = ComparisonOperation::RelationalOperation::getGreaterOperand_dispred#fb AND NOT Exclusions::isFromMacroDefinition#b(Lhs.1 'sub')
370 ~0% {2} r2 = SCAN r1 OUTPUT In.1 'sub', In.0
370 ~3% {3} r3 = JOIN r2 WITH Expr::Expr::getFullyConverted_dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0 'sub'
210 ~1% {2} r4 = JOIN r3 WITH SimpleRangeAnalysis::SimpleRangeAnalysisCached::exprMightOverflowNegatively#f ON FIRST 1 OUTPUT Lhs.2 'sub', Lhs.1
210 ~0% {3} r5 = JOIN r4 WITH Expr::Expr::getFullyConverted_dispred#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.0 'sub', Rhs.1
210 ~1% {3} r6 = JOIN r5 WITH ComparisonOperation::RelationalOperation::getLesserOperand_dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'sub', Lhs.2
59 ~2% {4} r7 = JOIN r6 WITH Expr::Expr::getValue_dispred#ff ON FIRST 1 OUTPUT Lhs.1 'sub', Lhs.2, Rhs.1, toInt(Rhs.1)
17 ~0% {4} r8 = SELECT r7 ON In.3 = 0
17 ~0% {2} r9 = SCAN r8 OUTPUT In.1, In.0 'sub'
8 ~0% {2} r10 = JOIN r9 WITH Expr::Expr::getUnspecifiedType_dispred#bb ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'sub'
8 ~0% {1} r11 = JOIN r10 WITH Type::IntegralType::isUnsigned_dispred#f ON FIRST 1 OUTPUT Lhs.1 'sub'
return r11
Tuple counts for UnsignedDifferenceExpressionComparedZero::exprIsSubLeftOrLess#ff/2@i2#61800weu after 1ms:
8 ~0% {2} r1 = JOIN UnsignedDifferenceExpressionComparedZero::exprIsSubLeftOrLess#ff#prev_delta WITH UnsignedDifferenceExpressionComparedZero::interestingSubExpr#f ON FIRST 1 OUTPUT Lhs.1, Lhs.0 'sub'
0 ~0% {2} r2 = JOIN r1 WITH DataFlowUtil::localFlowStep#ff ON FIRST 1 OUTPUT Lhs.1 'sub', Rhs.1 'n'
1 ~0% {2} r3 = JOIN r1 WITH DataFlowUtil::localFlowStep#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'sub', Rhs.1 'n'
0 ~0% {3} r4 = JOIN UnsignedDifferenceExpressionComparedZero::isGuarded#fff#prev_delta WITH UnsignedDifferenceExpressionComparedZero::interestingSubExpr#f ON FIRST 1 OUTPUT Lhs.1, Lhs.0 'sub', Lhs.2
0 ~0% {3} r5 = JOIN r4 WITH DataFlowUtil::TExprNode#ff ON FIRST 1 OUTPUT Lhs.1 'sub', Rhs.1 'n', Lhs.2
0 ~0% {2} r6 = JOIN r5 WITH UnsignedDifferenceExpressionComparedZero::exprIsSubLeftOrLess#ff#prev ON FIRST 2 OUTPUT Lhs.2, Lhs.0 'sub'
0 ~0% {2} r7 = JOIN r6 WITH DataFlowUtil::TExprNode#ff ON FIRST 1 OUTPUT Lhs.1 'sub', Rhs.1 'n'
1 ~0% {2} r8 = r3 UNION r7
1 ~0% {2} r9 = r2 UNION r8
...
|
2022-01-10 17:28:14 +00:00 |
|
Mathias Vorreiter Pedersen
|
f2d6bcd767
|
C++: Fix join order in 'isGuarded'.
Before:
Tuple counts for UnsignedDifferenceExpressionComparedZero::isGuarded#bff/3@ec24001m after 1.7s:
97431 ~0% {2} r1 = JOIN UnsignedDifferenceExpressionComparedZero::isGuarded#bff#join_rhs WITH project#BasicBlocks::Cached::basic_block_member ON FIRST 1 OUTPUT Rhs.1, Lhs.0 'sub'
11809769 ~1% {2} r2 = JOIN r1 WITH Guards::GuardCondition::controls_dispred#fff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'sub', Rhs.1
11809769 ~0% {4} r3 = JOIN r2 WITH project#BasicBlocks::Cached::basic_block_member ON FIRST 1 OUTPUT Lhs.1, Rhs.1, false, Lhs.0 'sub'
629277 ~4% {7} r4 = JOIN r3 WITH Guards::GuardCondition::ensuresLt_dispred#ffffff_045123#join_rhs ON FIRST 3 OUTPUT Lhs.3 'sub', Lhs.0, Lhs.1, false, Rhs.3 'left', Rhs.4 'right', Rhs.5
628120 ~4% {7} r5 = SELECT r4 ON In.6 >= 0
628120 ~1% {3} r6 = SCAN r5 OUTPUT In.0 'sub', In.4 'left', In.5 'right'
return r6
After:
Tuple counts for UnsignedDifferenceExpressionComparedZero::isGuarded#fff/3@i2#a5071x3a after 392ms:
103763 ~0% {2} r1 = SCAN UnsignedDifferenceExpressionComparedZero::exprIsSubLeftOrLess#ff#prev_delta OUTPUT In.0 'sub', 26
103763 ~0% {1} r2 = JOIN r1 WITH exprs ON FIRST 2 OUTPUT Lhs.0 'sub'
97431 ~0% {3} r3 = JOIN r2 WITH project#BasicBlocks::Cached::basic_block_member ON FIRST 1 OUTPUT Rhs.1, false, Lhs.0 'sub'
629277 ~0% {7} r4 = JOIN r3 WITH Guards::GuardCondition::ensuresLt_dispred#ffffff_450123#join_rhs ON FIRST 2 OUTPUT Lhs.2 'sub', Lhs.0, false, Rhs.2, Rhs.3 'left', Rhs.4 'right', Rhs.5
628120 ~0% {7} r5 = SELECT r4 ON In.6 >= 0
628120 ~1% {6} r6 = SCAN r5 OUTPUT In.0 'sub', In.1, In.3, In.4 'left', In.5 'right', In.6
628120 ~1% {6} r7 = r6 AND NOT UnsignedDifferenceExpressionComparedZero::isGuarded#fff#prev(Lhs.0 'sub', Lhs.3 'left', Lhs.4 'right')
628120 ~0% {5} r8 = SCAN r7 OUTPUT In.2, In.1, In.0 'sub', In.3 'left', In.4 'right'
628120 ~1% {3} r9 = JOIN r8 WITH Guards::GuardCondition::controls_dispred#fff ON FIRST 2 OUTPUT Lhs.2 'sub', Lhs.3 'left', Lhs.4 'right'
return r9
|
2022-01-10 17:03:40 +00:00 |
|
Mathias Vorreiter Pedersen
|
173cefd7e4
|
C++: Respond to PR reviews.
|
2022-01-06 15:39:40 +00:00 |
|
Mathias Vorreiter Pedersen
|
f5062c7d80
|
C++: Remove a bunch of bad self joins from 'cpp/toctou-race-condition'.
|
2022-01-05 15:28:53 +00:00 |
|
Mathias Vorreiter Pedersen
|
23b8b776ab
|
C++: Add change-note.
|
2022-01-05 10:12:20 +00:00 |
|
Mathias Vorreiter Pedersen
|
37c72cae3e
|
Merge branch 'main' into promote-arithmetic-uncontrolled
|
2022-01-05 08:12:47 +00:00 |
|
github-actions[bot]
|
1dfcf427aa
|
Release preparation for version 2.7.5
|
2022-01-04 14:44:56 +00:00 |
|
Mathias Vorreiter Pedersen
|
e31185fea4
|
C++: add change-note for cpp/ambiguously-signed-bit-field.
|
2022-01-04 14:31:19 +00:00 |
|
László Várady
|
6496bf8c1d
|
C++: relax ambiguously-signed-bit-field by allowing GLib's gboolean
The gboolean type of GLib (a widely used C library) is a typedef to int.
It is meant to represent a simple true/false value.
Resolves #7491
|
2022-01-04 14:22:48 +00:00 |
|
Geoffrey White
|
344e380fa3
|
Merge pull request #6949 from ihsinme/ihsinme-patch-073
CPP: Add query for CWE-266 Incorrect Privilege Assignment
|
2022-01-04 11:37:17 +00:00 |
|
Dave Bartolomeo
|
ded3c52a34
|
Merge pull request #7407 from github/post-release-prep/codeql-cli-2.7.4
Post-release preparation for codeql-cli-2.7.4
|
2022-01-03 17:09:58 -05:00 |
|
github-actions[bot]
|
1334d207fa
|
Post-release version bumps
|
2022-01-03 20:11:15 +00:00 |
|
Mathias Vorreiter Pedersen
|
aa92fe8c90
|
Merge pull request #7338 from geoffw0/clrtxt2
C++: Improvements to cpp/cleartext-transmission
|
2021-12-20 16:05:12 +01:00 |
|
Mathias Vorreiter Pedersen
|
bbb936154a
|
C++: Increase the precision of 'cpp/uncontrolled-arithmetic' to high.
|
2021-12-20 14:03:13 +01:00 |
|
Mathias Vorreiter Pedersen
|
95fa93b274
|
C++: Only recognize signed integers as sinks in 'cpp/uncontrolled-arithmetic' in the case of overflow.
|
2021-12-20 14:02:44 +01:00 |
|
Nick Rolfe
|
28912c508f
|
Fix non-US spelling of 'behavior'
|
2021-12-17 15:29:31 +00:00 |
|
Anders Schack-Mulligen
|
3adc0b57ed
|
Merge pull request #7426 from MathiasVP/fix-join-order-in-http-string-literal-charpred
C++: Fix join-order in `HttpStringLiteral` charpred
|
2021-12-17 11:21:38 +01:00 |
|
Mathias Vorreiter Pedersen
|
53a1f935b7
|
C++: Fix join-order in 'HttpStringLiteral' charpred.
|
2021-12-16 17:12:50 +00:00 |
|
Geoffrey White
|
b142a79a35
|
C++: Remove unnecessary additional taint step.
|
2021-12-15 14:35:54 +00:00 |
|
Geoffrey White
|
f82683cdf4
|
C++: Clean up QLDoc.
|
2021-12-15 14:08:43 +00:00 |
|
Geoffrey White
|
4891a649a2
|
C++: Newlines.
|
2021-12-15 13:52:47 +00:00 |
|
Mathias Vorreiter Pedersen
|
8208f92f59
|
An alternative design for 'cpp/cleartext-transmission'.
|
2021-12-15 13:52:15 +00:00 |
|
Geoffrey White
|
9363d64166
|
Merge pull request #7395 from MathiasVP/fix-fp-in-pointless-self-comparison
C++: Fix FP in `cpp/comparison-of-identical-expressions`
|
2021-12-15 10:47:57 +00:00 |
|
github-actions[bot]
|
59da2cdf69
|
Release preparation for version 2.7.4
|
2021-12-14 21:35:09 +00:00 |
|
Mathias Vorreiter Pedersen
|
310353060e
|
C++: Also fix the FP in 'cpp/comparison-canceling-subexpr'.
|
2021-12-14 17:08:10 +00:00 |
|
Dave Bartolomeo
|
a62f181d42
|
Move new change notes to appropriate packs
|
2021-12-14 12:05:15 -05:00 |
|
Mathias Vorreiter Pedersen
|
b2082cc3da
|
C++: Fix false positive in 'cpp/cpp/comparison-of-identical-expressions'.
|
2021-12-14 16:39:25 +00:00 |
|
Sergey
|
0f0bd34958
|
Update IncorrectPrivilegeAssignment.ql
|
2021-12-13 20:35:13 +03:00 |
|
Paolo Tranquilli
|
a089898220
|
C++: remove reason from OverrunWrite output
|
2021-12-13 11:28:02 +00:00 |
|
Paolo Tranquilli
|
85de6dd667
|
C++: make BufferWrite changes backward compatible
|
2021-12-13 11:28:02 +00:00 |
|
Paolo Tranquilli
|
aa68c51797
|
C++: preserve Printf and BufferWrite API
|
2021-12-13 11:28:02 +00:00 |
|
Paolo Tranquilli
|
598f283715
|
C++: add reason to buffer write estimations
|
2021-12-13 11:28:02 +00:00 |
|
Andrew Eisenberg
|
66c1629974
|
Merge pull request #7285 from github/post-release-prep-2.7.3-ddd4ccbb
Post-release preparation 2.7.3
|
2021-12-10 09:59:45 -08:00 |
|
Geoffrey White
|
23d4d035e5
|
C++: Different approach to sensitive exprs.
|
2021-12-09 18:33:50 +00:00 |
|
Geoffrey White
|
122f6385e6
|
C++: Improve recognition of stdin, stdout etc.
|
2021-12-07 20:42:35 +00:00 |
|
Geoffrey White
|
6896b20dcd
|
C++: Redesign and fix results that appear to be encrypted.
|
2021-12-07 20:42:13 +00:00 |
|
Geoffrey White
|
511bee7a1a
|
C++: Fix results that flow to/from encryption routines.
|
2021-12-07 15:44:18 +00:00 |
|
Erik Krogh Kristensen
|
3c59aa319e
|
Merge pull request #7245 from erik-krogh/explicit-this-all-the-places
All langs: apply the explicit-this patch to all remaining code
|
2021-12-07 10:40:26 +01:00 |
|
Mathias Vorreiter Pedersen
|
4765772725
|
C++: Fix performance of 'cpp/unused-static-function'.
|
2021-12-06 16:41:10 +00:00 |
|
Mathias Vorreiter Pedersen
|
6b1ac73a46
|
Merge pull request #7177 from ihsinme/ihsinme-patch-6141
fix request for cpp exceptions
|
2021-12-06 09:24:59 +00:00 |
|
Geoffrey White
|
2b349b3024
|
Merge pull request #7295 from geoffw0/cwe260
C++: Add CWE tags to some queries.
|
2021-12-02 14:41:34 +00:00 |
|
Geoffrey White
|
3043ac850c
|
C++: Update security-severity tags.
|
2021-12-02 14:04:49 +00:00 |
|
Geoffrey White
|
eccba57536
|
C++: Add CWE-327 tag to cpp/boost/use-of-deprecated-hardcoded-security-protocol.
|
2021-12-02 12:32:14 +00:00 |
|
Geoffrey White
|
7aa6c62050
|
C++: Add CWE-326 tag to cpp/boost/tls-settings-misconfiguration.
|
2021-12-02 12:29:42 +00:00 |
|
Geoffrey White
|
913d8361ba
|
C++: Add CWE-260 tag to cpp/cleartext-storage-file.
|
2021-12-02 11:54:51 +00:00 |
|
github-actions[bot]
|
87b968f337
|
Post-release preparation 2.7.3
|
2021-12-02 00:46:55 +00:00 |
|
Mathias Vorreiter Pedersen
|
9f8326a3fa
|
Merge pull request #7243 from geoffw0/sslquery2
C++: New query for SSL certificates not checked
|
2021-12-01 15:02:19 +00:00 |
|
github-actions[bot]
|
337ce65fe5
|
Release preparation for version 2.7.3
|
2021-11-30 20:39:35 +00:00 |
|
Geoffrey White
|
4b221bd964
|
C++: Use guard.controls.
|
2021-11-30 15:44:48 +00:00 |
|
Dave Bartolomeo
|
5ed9029143
|
Move change notes to correct directories
|
2021-11-29 16:31:11 -05:00 |
|