Commit Graph

7095 Commits

Author SHA1 Message Date
Geoffrey White
a3dfa3140c CPP: Make Handlers always begin a BasicBlock. 2018-11-01 15:27:43 +00:00
Pavel Avgustinov
d5c8ea38b1 SuspiciousCallToMemset: Simplify pointer indirection computation 2018-11-01 14:34:04 +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
092db18f96 CPP: Also update reachable for ControlFlowNodes. 2018-10-30 14:28:47 +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
6e940d7bf2 CPP: Improve nonReturningFunction. 2018-10-30 14:25:38 +00:00
Geoffrey White
1a6229621c CPP: Tidy up query formatting a little. 2018-10-30 14:25:37 +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
Aditya Sharad
256b829201 Merge rc/1.18 into master. 2018-10-30 11:21:50 +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
Aditya Sharad
5e7b7818df Version: Bump to 1.18.1 release. 2018-10-29 18:02:58 +00: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
fc6b791f58 CPP: Speed it up. 2018-10-29 16:52:44 +00:00
Geoffrey White
55465c3eae CPP: Add some comments to the QL. 2018-10-29 16:39:49 +00:00
Geoffrey White
3ccbeb0c65 CPP: Fix issue. 2018-10-29 16:34:57 +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
Dave Bartolomeo
459b05d875 C++: Rename a couple predicates based on PR feedback 2018-10-26 14:38:34 -07:00
Jonas Jensen
47096bbc5f Merge pull request #318 from geoffw0/overflowstatic
CPP: Speed up OverflowStatic.ql
2018-10-26 20:19:41 +02:00
Robert Marsh
306b711e76 Merge pull request #368 from geoffw0/buffersize
CPP: Improve memberMayBeVarSize
2018-10-26 09:59:45 -07:00
Geoffrey White
2f517deb77 CPP: BinaryArithmeticOperation -> AddExpr. 2018-10-26 13:40:56 +01:00
Jonas Jensen
a3505e008b C++: Fix range analysis rounding for negative zero 2018-10-26 13:40:17 +02:00
Jonas Jensen
cbe16e56d7 C++: Pull rounding functions out to new predicates 2018-10-26 12:47:25 +02: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
c9ed0396c5 CPP: Support builtin offsetof. 2018-10-25 16:41:37 +01:00
Aditya Sharad
56ee5ff99a Merge master into next.
`master` up to and including cfe0b8803a.
2018-10-25 15:32:47 +01:00
Geoffrey White
2dcec4dce3 CPP: Don't require alloc in memberMayBeVarSize. 2018-10-25 15:01:00 +01:00
Geoffrey White
035823cff0 CPP: Fix array size bug in memberMayBeVarSize. 2018-10-25 15:01:00 +01: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
Geoffrey White
69785fcae6 CPP: Include offsetof type calculations in memberMayBeVarSize. 2018-10-25 09:09:29 +01: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
Raul Garcia
a04eb53189 Documentation bug fix.
Encoding the "<" character
2018-10-24 15:22:53 -07:00
Geoffrey White
ec205e995b CPP: Include sizeof(expr) expressions in isDynamicallyAllocatedWithDifferentSize. 2018-10-24 16:17:04 +01:00
Jonas Jensen
3c6bed4de6 C++: FP fix for "operator= doesn't return *this" 2018-10-24 15:44:00 +02:00
Jonas Jensen
7affbe4a7d Merge pull request #341 from geoffw0/av_114
CPP: Improve AV Rule 114.ql's understanding of return types.
2018-10-24 09:39:51 +02:00
Dave Bartolomeo
f278f4fa47 C++: Operands as IPA types
@rdmarsh2 has been working on various queries and libraries on top of the IR, and has pointed out that having to always refer to an operand of an instruction by the pair of (instruction, operandTag) makes using the IR a bit clunky. This PR adds a new `Operand` IPA type that represents an operand of an instruction. `OperandTag` still exists, but is now an internal type used only in the IR implementation.
2018-10-23 14:58:44 -07:00
Jonas Jensen
640de0c947 Merge pull request #304 from geoffw0/resource-released
CPP: Fix false positive in AV Rule 79.ql
2018-10-23 20:24:23 +02:00
semmledocs-ac
1f390f2f77 Merge pull request #326 from rdmarsh2/rdmarsh/cpp/dead-code-goto
C++: new query for dead code after goto or break
2018-10-23 16:55:14 +01:00
Geoffrey White
dda7069890 CPP: Look for destructors in the template. 2018-10-23 13:05:43 +01:00
Geoffrey White
905336a625 CPP: Refine fix. 2018-10-23 13:05:42 +01:00
Geoffrey White
b861df0887 CPP: Fix issue when destructor body is missing. 2018-10-23 13:05:42 +01:00
Aditya Sharad
c88db424fa Merge pull request #343 from geoffw0/av-35-1.18
CPP: Fix hasXMacro performance.
2018-10-23 10:24:16 +01:00
Geoffrey White
de1556042a CPP: Fix hasXMacro performance. 2018-10-22 19:43:04 +01:00
Robert Marsh
f674d43ab1 Merge pull request #329 from geoffw0/overflowdest
CPP: Improve Overflowdest.ql
2018-10-22 10:51:41 -07:00
Robert Marsh
7bcc4379fc C++: accept loops with arbitrary labels or cases 2018-10-22 09:59:49 -07:00