Geoffrey White
342164ff71
CPP: Clean up / normalize some test code.
2018-11-20 09:50:59 +00:00
Jonas Jensen
cc28d04ba7
Merge pull request #405 from geoffw0/selfcompare
...
CPP: Fix false positives in PointlessSelfComparison.ql
2018-11-20 09:25:10 +01:00
Geoffrey White
33130b9800
CPP: Apply recommended fix.
2018-11-19 14:39:28 +00:00
Geoffrey White
6a14748af8
CPP: Add recommended test.
2018-11-19 14:25:11 +00:00
Aditya Sharad
f0715b09e1
Merge master into next.
2018-11-14 10:06:27 +00:00
Geoffrey White
1d464ae35d
CPP: Merge the ExprHasNoEffect tests.
2018-11-12 16:26:50 +00:00
Geoffrey White
2d665e51d0
CPP: Move the BitwiseSignCheck.ql test.
2018-11-12 16:07:03 +00:00
Jonas Jensen
1500237009
Merge remote-tracking branch 'upstream/master' into mergeback-20181112
2018-11-12 13:24:27 +01:00
Jonas Jensen
0caf0f1f15
Merge pull request #430 from geoffw0/exprtemplate
...
CPP: Exclude template code from ExprHasNoEffect.ql
2018-11-12 09:27:36 +01:00
Aditya Sharad
761e5efd60
Merge master into next.
...
JavaScript semantic conflicts fixed by referring to the `LegacyLanguage` enum.
C++ conflicts fixed by accepting Qltest output.
2018-11-09 18:49:35 +00:00
Geoffrey White
0e9c7fc085
Merge pull request #416 from raulgarciamsft/users/raulga/c6317
...
cpp: Incorrect not operator usage
2018-11-09 15:59:57 +00:00
Geoffrey White
5b09e11a52
CPP: Repair macro case.
2018-11-08 10:01:07 +00:00
Geoffrey White
d6f27f0b2d
CPP: Add a test of macros.
2018-11-08 09:58:59 +00:00
Raul Garcia
f9edaba5aa
Fixing typo.
...
Restricting to analyze only logical & and | operations
2018-11-07 13:26:09 -08:00
Geoffrey White
7bf9200a18
CPP: Fix (it looks like we already had a similar test, both are fixed.
2018-11-07 14:12:52 +00:00
Geoffrey White
73b186a695
CPP: Add test case.
2018-11-07 13:34:42 +00:00
Raul Garcia
5a35edfbe2
cpp: Incorrect not opeartor usage
...
Marked as Low precision as Linux kernel code mix the usage of logical operators and bit-wise opeartors.
warning C6317: incorrect operator: logical-not (!) is not interchangeable with ones-complement (~)
2018-11-06 12:49:33 -08: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
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
Jonas Jensen
006594fefe
C++: Round towards +/- Inf in range analysis
...
Original author: Kevin Backhouse
2018-10-26 11:53:51 +02: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
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
2f4da8841f
Changing the name (file & tags) to match the JS version.
2018-10-19 15:21:56 -07:00
Raul Garcia
e2fcaa9e20
Fixing typos & implementing the PR feedback
2018-10-18 14:44:24 -07:00
Ian Lynagh
894a37ccda
C++: Accept test changes
2018-10-18 12:36:42 +01:00
Raul Garcia
739804acb2
CPP : Ill-defined for-loop (C6293)
...
Superset of C6293, it looks for a mismatch between the initialization statement && condition and the direction of the iteration expression in a for loop.
2018-10-17 16:24:34 -07:00
Jonas Jensen
a10c3bcffb
C++: Suppress UnsignedGEZero in template inst.
...
It still runs on uninstantiated templates because its underlying
libraries do. It's not clear whether that leads to other false
positives, but that's independent of the change I'm making here.
2018-10-10 17:06:24 +02:00
Jonas Jensen
383dafac5c
C++: Test for UnsignedGEZero with templates
2018-10-10 17:04:35 +02:00
Geoffrey White
99816d77e3
CPP: Additional test case fixed in combination with typedef work.
2018-10-05 17:13:50 +01:00
Geoffrey White
94ff2e5693
CPP: Lets just not report when we're not sure.
2018-10-05 16:40:54 +01:00
Geoffrey White
2841897e3a
CPP: Make getAFormatterWideType more general and move it into FormattingFunction.qll.
2018-10-05 16:40:54 +01:00
Geoffrey White
89c56486b5
CPP: Test getDefaultCharType etc.
2018-10-05 16:40:54 +01:00
Geoffrey White
e2be19b555
CPP: New mechanism for string types in printf.qll.
2018-10-05 16:40:54 +01:00
Geoffrey White
1af6c10888
CPP: Add a test where different word sizes are present.
2018-10-05 16:40:54 +01:00
Geoffrey White
800555865a
CPP: More test cases.
2018-10-05 16:40:54 +01:00
Geoffrey White
2af56b89b1
CPP: Add a test where different wide types are present.
2018-10-05 15:32:36 +01:00
Geoffrey White
39f030b8f7
CPP: Annotate test.
2018-10-05 15:32:36 +01:00
Geoffrey White
e74721e3a4
CPP: Test fixes as a result of changes.
2018-10-05 15:32:36 +01:00
Robert Marsh
a3459ddf08
C++: add support for custom wide character sizes
...
Certain Microsoft projects, such as CoreCLR and ChakraCore, use a
library called the PAL, which enables two-byte strings in the printf
family of functions, even when built on a platform with four-byte
strings. This adds support for determining the size of a wide character
from the definitions of such functions, rather than assuming that they
match the compiler's wchar_t.
2018-10-05 15:32:35 +01:00
Jonas Jensen
364c9a6961
C++: Suppress pointless compare in template inst.
...
It still runs on uninstantiated templates because its underlying
libraries do. It's not clear whether that leads to other false
positives, but that's independent of the change I'm making here.
2018-10-03 14:48:11 +02:00
Jonas Jensen
2eea359f79
C++: Test for PointlessComparison with templates
2018-10-03 14:47:00 +02:00
Jonas Jensen
4ad4b19911
Merge pull request #189 from geoffw0/wrongtypedef
...
CPP: Permit more typedefs in WrongTypeFormatArguments.ql
2018-10-03 09:40:06 +02:00
Tobias Smolka
51dcdeff59
C++: support Decltype in suspicious-call-to-memset
2018-10-02 16:47:04 +02:00
Geoffrey White
4edc54df0c
CPP: Use unspecified types everywhere (for simplicity and robustness).
2018-09-24 17:17:41 +01:00
Geoffrey White
b15db5d1e5
CPP: Add a test case that we handle poorly.
2018-09-24 17:17:41 +01:00