Robert Marsh
9d2d381e68
C++: test fixes for sign analysis
2018-11-06 12:02:39 -08:00
Robert Marsh
554fea46c7
C++: Sign analysis for casts and unsigned integers
2018-11-06 12:02:38 -08:00
Robert Marsh
d1ae939c9c
C++: use guards and operands in sign analysis
2018-11-06 12:02:38 -08:00
Robert Marsh
a3c6b8e575
C++: port sign analysis library from Java
2018-11-06 12:02:38 -08:00
Dave Bartolomeo
62a5aef0de
Merge pull request #410 from jbj/range-analysis-tests
...
C++: Tests for two range analysis bugs
2018-11-06 10:51:12 -08:00
Geoffrey White
ee4cfe8eb7
CPP: Update expected output for changes elsewhere.
2018-11-06 17:58:33 +00:00
Geoffrey White
e6e0d69b7d
CPP: Re-apply effect of discover_walk.
2018-11-06 17:53:18 +00:00
Geoffrey White
301c133bef
CPP: More descriptive.
2018-11-06 17:53:18 +00:00
Geoffrey White
2042c9c863
CPP: Extend the CPP-205 test (results prior to discover_walk).
2018-11-06 17:53:18 +00:00
Geoffrey White
9c97176896
CPP: Tabs/spaces.
2018-11-06 17:01:30 +00:00
Jonas Jensen
9382c9d528
C++: Regression tests for AV Rule 82
...
Without the last commit, this addition to the test gives the following
results:
```
+| AV Rule 82.cpp:176:14:176:22 | operator= | Assignment operator in class Forgivable does not return a reference to *this. |
+| AV Rule 82.cpp:181:14:181:22 | operator= | Assignment operator in class Forgivable does not return a reference to *this. |
```
2018-11-06 16:13:44 +01:00
Aditya Sharad
553c2f5d34
Merge master into next.
...
As of 2846d80f1c .
2018-11-06 11:52:51 +00:00
Jonas Jensen
4a02b3946d
C++: Tests for two range analysis bugs
2018-11-06 11:57:41 +01:00
Dave Bartolomeo
3133bf6675
C++: Fix test expectation
2018-11-05 14:19:59 -08:00
Dave Bartolomeo
0c796de831
C++: Fork AV Rule 78 into NonVirtualDestructorInBaseClass
...
AV Rule 78 has proved too noisy for use on lgtm.com. However, if we make the rule less noisy by, say, allowing a protected destructor to be non-virtual, we're no longer actually enforcing AV Rule 78. Instead, I've copied AV Rule 78 into NonVirtualDestructorInBaseClass.ql, given the new query the `@id` that AV Rule 78 had, and given AV Rule 78 a new JSF-specific `@id`. The new rule allows non-public non-virtual destructors, which is the problem originally reported by an lgtm.com user.
2018-11-05 14:16:35 -08:00
Geoffrey White
3cb4211c78
CPP: Exclude code in macro invocations.
2018-11-05 15:07:22 +00:00
Geoffrey White
b4adfec2ef
CPP: Add test case.
2018-11-05 14:19:16 +00:00
Geoffrey White
a3dfa3140c
CPP: Make Handlers always begin a BasicBlock.
2018-11-01 15:27:43 +00:00
Jonas Jensen
ea601b2dc0
Merge pull request #352 from dave-bartolomeo/dave/Operands
...
C++: Operands as IPA types
2018-11-01 10:12:38 +01:00
Aditya Sharad
b896899f4c
Merge master into next.
...
master as of dc3c5a684c
Version numbers resolved in favour of `next`.
C++ expected output file updated to accept test output.
2018-10-31 10:47:31 +00:00
Geoffrey White
1092cb97e5
CPP: Have reachability flow to the Handler as well as the CAtchBlock of an exception.
2018-10-30 14:27:22 +00:00
Geoffrey White
6427e9658b
CPP: Remove successor edges from non-returning functions from the control flow graph.
2018-10-30 14:25:32 +00:00
Geoffrey White
44f5e26fb0
CPP: More test cases.
2018-10-30 14:20:48 +00:00
Geoffrey White
f2ba627291
CPP: Extend the c++_exceptions test.
2018-10-30 14:11:48 +00:00
Geoffrey White
a346f412bc
CPP: Add test cases.
2018-10-30 14:11:36 +00:00
Geoffrey White
bfb5731b19
Merge pull request #377 from ian-semmle/fix_member_function_indices
...
C++: Accept test changes following fix_member_function_indices
2018-10-30 08:57:04 +00:00
Jonas Jensen
3340e79aad
Merge pull request #371 from ian-semmle/av85
...
C++: Fix AV Rule 85
2018-10-30 08:40:43 +01:00
Robert Marsh
fda75abcd7
Merge pull request #381 from geoffw0/comments
...
CPP: Fix false positive in EmptyBlock.ql
2018-10-29 15:35:08 -07:00
semmle-qlci
a4371ca824
Merge pull request #338 from geoffw0/hresult
...
Approved by dave-bartolomeo
2018-10-29 17:04:54 +00:00
Geoffrey White
3ccbeb0c65
CPP: Fix issue.
2018-10-29 16:34:57 +00:00
Geoffrey White
630233fc3e
CPP: Additional test cases.
2018-10-29 16:34:43 +00:00
Ian Lynagh
5359f5d044
C++: Accept test changes following fix_member_function_indices
2018-10-29 15:30:56 +00:00
Ian Lynagh
94347aef9b
C++: AV Rule 85: Check templates rather than instantiations
2018-10-29 15:04:30 +00:00
Nick Rolfe
9a412c9202
C++: handle __uuidof(0)
2018-10-29 12:57:55 +00:00
semmle-qlci
7d37cf4bb3
Merge pull request #374 from jbj/range-analysis-rounding
...
Approved by kevinbackhouse
2018-10-29 10:28:15 +00:00
Geoffrey White
35a5bca98a
Merge pull request #376 from ian-semmle/functionName
...
C++: Simplify a test's query
2018-10-26 17:24:11 +01:00
Ian Lynagh
09959cbbfc
C++: Simplify a test's query
...
This test predated Function.getFullSignature()
2018-10-26 15:08:18 +01:00
Jonas Jensen
a3505e008b
C++: Fix range analysis rounding for negative zero
2018-10-26 13:40:17 +02:00
Ian Lynagh
01d27d331e
C++: Accept test changes
2018-10-26 11:07:18 +01:00
Jonas Jensen
006594fefe
C++: Round towards +/- Inf in range analysis
...
Original author: Kevin Backhouse
2018-10-26 11:53:51 +02:00
Geoffrey White
fa55e31f7a
Merge pull request #362 from jbj/return-this-noreturn
...
C++: Fix "Overloaded assignment does not return 'this'" for non-returning functions
2018-10-26 09:30:36 +01:00
Geoffrey White
91dad02b7e
Merge pull request #370 from ian-semmle/update_comment
...
C++: Update a comment
2018-10-26 08:55:12 +01:00
Ian Lynagh
d6afbd8bb0
C++: Update a comment
2018-10-25 21:18:37 +01:00
Aditya Sharad
56ee5ff99a
Merge master into next.
...
`master` up to and including cfe0b8803a .
2018-10-25 15:32:47 +01:00
Jonas Jensen
354f8bd0ff
C++: Test of range analysis 64-bit rounding issue
2018-10-25 16:18:22 +02:00
Ian Lynagh
eef8719a40
C++: Fix AV Rule 85
...
We have to be careful to avoid giving alerts to functions that might be
correctly defined, but we can't see the definition as it wasn't
instantiated.
2018-10-25 14:26:31 +01:00
Jonas Jensen
5cbfdd1029
C++: Cover more cases of returning *this
2018-10-25 10:41:56 +02:00
Jonas Jensen
d144f0d154
C++: Test for unreachable return statement
...
This test shows that the previous fix did not solve the problem where a
bad return statement exists but is unreachable.
2018-10-25 09:42:15 +02:00
semmle-qlci
cfe0b8803a
Merge pull request #332 from raulgarciamsft/users/raulga/c6293a
...
Approved by dave-bartolomeo
2018-10-25 00:59:35 +01:00
Jonas Jensen
3c6bed4de6
C++: FP fix for "operator= doesn't return *this"
2018-10-24 15:44:00 +02:00