Anders Fugmann
c110508b4e
C++: Add tests to expose potential improvements available to SimpleRangeAnalysis
2021-09-02 21:20:33 +02:00
Cornelius Riemenschneider
7f13d4c356
C++: Improve EscapesTree analysis in the presence of temporary objects.
2020-11-25 10:41:15 +01:00
Cornelius Riemenschneider
e68352bcde
C++: Add testcase for false positive.
2020-11-25 10:40:33 +01:00
Geoffrey White
460fbea253
C++: Add some more cases.
2020-10-19 15:54:42 +01:00
Geoffrey White
6280b7d5d4
C++: Add the example code for IntMultToLong to the test.
2020-10-19 15:45:31 +01:00
Jonas Jensen
ad11f76ec6
C++: Always normalize bounds after a computation
...
This stops some cases of `-0.0` from propagating through the range
analysis, fixing a false positive on arvidn/libtorrent.
There seems to be no need for a corresponding change in the caller of
`getDefLowerBoundsImpl` since that predicate only contains computations
that cannot introduce negative zero.
2020-09-11 11:59:00 +02:00
Jonas Jensen
0c8e06ba68
C++: Tests for -0.0 in range analysis
2020-09-11 11:52:39 +02:00
Jonas Jensen
27345c64f3
C++: Also accept PointlessComparison test changes
2020-08-18 09:32:05 +02:00
Jonas Jensen
93d8d8eb1d
C++: Demonstrate range analysis MulExpr bugs
...
Unless these issues can be reproduced in far less contrived code, I
don't think they will cause problems in practice.
2020-08-12 12:10:23 +02:00
Jonas Jensen
1ee96a4b4f
C++: SimpleRangeAnalysis: unsigned multiplication
2020-08-12 10:03:04 +02:00
Mathias Vorreiter Pedersen
834ad92453
C++: Add test cases for unsigned multiplication and fix missing return value in existing tests
2020-07-14 16:57:47 +02:00
Geoffrey White
a4fa4c859a
C++: Fix rounding for >>.
2020-05-11 18:55:01 +01:00
Geoffrey White
b1c32deabc
C++: Add some tests with 64-bit values.
2020-05-11 18:54:50 +01:00
Geoffrey White
c8524522c8
C++: Add test cases.
2020-05-06 18:51:50 +01:00
Geoffrey White
2cee756587
C++: Support the mirror case with <=.
2020-03-16 13:22:00 +00:00
Geoffrey White
dcf2f7f19c
C++: Add some test cases for the mirror case, with <=.
2020-03-16 13:22:00 +00:00
Geoffrey White
3d8633f701
C++: Additional test cases for the recursive bit of UnsignedGEZero.
2020-03-16 13:22:00 +00:00
Mathias Vorreiter Pedersen
e1942bbee1
C++: Fix false positives
2020-03-13 17:09:57 +01:00
Mathias Vorreiter Pedersen
cc25298f67
C++: Demonstrate false positives when a const variable is initialized in a parameter list
2020-03-13 17:00:54 +01:00
Mathias Vorreiter Pedersen
100ace532f
C++: Fixed handling of false negative. Query now supports global variables
2020-01-07 22:57:21 +01:00
Mathias Vorreiter Pedersen
db08076fed
C++: Fixed false negative
2020-01-07 22:20:04 +01:00
Mathias Vorreiter Pedersen
229da0a9c0
C++: Add testcase demonstrating false negative
2020-01-07 22:12:34 +01:00
Mathias Vorreiter Pedersen
9ed1510a8c
C++: Improved query precision using SimpleRangeAnalysis
2020-01-06 14:16:52 +01:00
Mathias Vorreiter Pedersen
e926966e73
C++: Added more tests
2020-01-03 14:08:12 +01:00
Mathias Vorreiter Pedersen
cea78879b2
C++: Rename variables in tests to reflect their types
2020-01-03 14:07:19 +01:00
Mathias Vorreiter Pedersen
7dbb191531
C++: Improve query precision
2020-01-02 15:53:22 +01:00
Mathias Vorreiter Pedersen
cfb839a8f9
C++: Add test demonstrating the false positive
2020-01-02 15:48:01 +01:00
Geoffrey White
e77fefaf9e
Merge pull request #2295 from jbj/self-comparison-templates
...
C++: Suppress PointlessSelfComparison.ql on templates
2019-11-11 14:12:55 +00:00
Jonas Jensen
97cc0ebc8c
C++: Suppress PointlessSelfComparison on templates
...
It's a bit crude to suppress all results in instantiations, but we're
already using this kind of suppression in `PointlessComparison.ql`
(without the `Self`) because there is no convenient alternative. It
means we lose some good results but also suppress a new false positive
in Boost that surfaced after we added support for non-type template
parameters.
2019-11-11 14:00:00 +01:00
Jonas Jensen
281d512178
C++: Add tests for self-comparison template FP
2019-11-11 13:52:22 +01:00
Jonas Jensen
f3e691b5ec
Merge pull request #2075 from zlaski-semmle/zlaski/cpp434
...
[CPP-434] Detect signed overflow checks
2019-11-09 09:57:23 +01:00
Ziemowit Laski
2bad9394b7
[CPP-434] Squelch alerts for expressions inside macros; try to make Qhelp Jenkins-friendly.
2019-11-01 15:24:22 -07:00
Ziemowit Laski
6ee3d7d788
[CPP-434] Address more comments re .cpp test cases.
2019-10-25 15:50:00 -07:00
Ziemowit Laski
7204e13746
[CPP-434] Address comments re .cpp test cases.
2019-10-25 14:37:28 -07:00
Geoffrey White
e48936244d
CPP: Reword the query message.
2019-10-24 16:22:51 +01:00
Ziemowit Laski
ad5aa182df
[CPP-434] When analyzing overflow, discard any explicit casts.
...
Use the simple range analysis library to detect which
additions may in fact overflow.
2019-10-22 15:21:30 -07:00
Ziemowit Laski
06f63c5477
[CPP-434] Incremental changes to SignedOverflowCheck.cpp test suite.
2019-10-22 13:06:33 -07:00
Ziemowit Laski
2292518933
[CPP-434] Change query so it flags overflows that were cast to unsigned.
2019-10-21 17:04:46 -07:00
Ziemowit Laski
70441edacf
[CPP-434] Additional test case; improve QHelp by including themes from the BadAdditionOverflowCheck QHelp.
2019-10-17 16:41:17 -07:00
Ziemowit Laski
fb625c12ef
[CPP-434] Move SignedOverflowCheck test to BadAdditionOverflowCheck directory; add additional tests.
2019-10-16 14:31:11 -07:00
Geoffrey White
ff8e04aa99
CPP: Fix bug.
2019-10-14 11:00:43 +01:00
Geoffrey White
62625cc454
CPP: Extend the test.
2019-10-14 10:44:04 +01:00
Ziemowit Laski
5558922b31
[CPP-434] Drop the requirement that RHS not be cast to unsigned, since overflow occurs on LHS. Adjust test case.
2019-10-11 17:01:16 -07:00
Ziemowit Laski
33cd6de729
[CPP-434] Improved query and test suite.
2019-10-10 18:11:35 -07:00
Geoffrey White
b10988faec
CPP: Fix the query.
2019-10-10 09:15:19 +01:00
Geoffrey White
3f167a6f15
CPP: Add a test involving templates.
2019-10-10 09:15:19 +01:00
Geoffrey White
4fc73cab63
CPP: Add a test of ComparisonPrecedence.ql.
2019-10-10 09:15:19 +01:00
Ziemowit Laski
1ab965761b
[CPP-434] Incorporate test from BadAdditionOverflowCheck.
2019-10-09 17:30:30 -07:00
Ziemowit Laski
7fc47d496a
[CPP-434] Much improved query (producing only true positives on a run of 75 projects).
2019-10-09 16:40:19 -07:00
Ziemowit Laski
e617a05a1f
[CPP-434] One bad usage is undetected; adjust test accordingly.
2019-10-08 17:20:25 -07:00