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