Jonas Jensen
fd4967e6f1
C++: Fix SnprintfOverflow issues
...
Requiring strict inclusion between types turned out to cause false
positives in `SnprintfOverflow`, which relied indirectly on
`RangeAnalysisUtils::linearAccessImpl` to identify acceptable bounds
checks. This query was particularly affected because `snprintf` returns
`int` (signed) but takes `size_t` (unsigned), so conversions are bound
to happen.
2019-04-09 11:05:14 +02:00
Jonas Jensen
93286aabdf
C++: Test for FP introduced by relOp changes
2019-04-08 11:19:57 +02:00
Geoffrey White
d4c931cf11
CPP: Permit %Ld and similar.
2019-04-03 11:46:48 +01:00
Geoffrey White
b3fd7ab757
CPP: Add test cases.
2019-04-03 11:46:30 +01:00
Geoffrey White
c8caca3305
CPP: Add test cases for %ls, %hs.
2019-03-29 11:19:20 +00:00
Geoffrey White
66e87fc34c
CPP: Detect Microsoft compilations even more reliably.
2019-03-29 11:18:32 +00:00
Geoffrey White
eef050dd47
CPP: Improve deduction of %S types in FormattingFunction.qll.
2019-03-29 11:18:31 +00:00
Geoffrey White
975a0bbf0d
CPP: Handle %s/%c/%S/%C correctly on non-MS platforms.
2019-03-29 11:18:31 +00:00
Geoffrey White
648cdbab6c
CPP: Add FormattingFunction.getFormatCharType() and test.
2019-03-29 11:18:31 +00:00
Geoffrey White
162c9981bd
CPP: Add some test cases.
2019-03-29 11:18:31 +00:00
Geoffrey White
69f87d8eee
CPP: Fix ODASA-3654.
2019-03-26 12:54:44 +00:00
Geoffrey White
bd138238b0
CPP: Add a test of ODASA-3654.
2019-03-26 12:37:32 +00:00
Geoffrey White
9f9712047c
CPP: Add a few more tests of '%c'.
2019-03-06 10:23:45 +00: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
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
Dave Bartolomeo
aa267c8302
C++: Force LF for .c,.cpp,.h,.hpp
2018-09-23 16:23:52 -07:00
Nick Rolfe
3444fb7b88
C++: remove all uses of deprecated 'extractor_flags'
2018-08-07 09:48:27 +01:00
Pavel Avgustinov
b55526aa58
QL code and tests for C#/C++/JavaScript.
2018-08-02 17:53:23 +01:00