IOBYTE
3a617fa04a
Fix #9472 (Syntax error on valid C++ code) ( #2363 )
...
There are probably a lot more valid code patterns that generates syntax
errors so I added "operator" to the error message to make it easier to
find them.
2019-11-15 07:03:57 +01:00
Daniel Marjamäki
7e0fc4fb00
Tokenizer: Detect more syntax errors when operator does not have operands
2019-11-14 21:18:31 +01:00
orbitcowboy
dbbb7f544a
test std.cfg: Improved strlen() tests.
2019-11-14 16:45:27 +01:00
orbitcowboy
ea92695e54
test std.cfg: Improved sscanf() tests.
2019-11-14 16:38:30 +01:00
orbitcowboy
ade54bef3f
test std.cfg: Added better tests.
2019-11-14 10:48:23 +01:00
IOBYTE
2eb575d990
Fix #9468 (Syntax error on valid C++) ( #2358 )
2019-11-14 09:26:21 +01:00
orbitcowboy
1d19f57c5e
std.cfg: No real changes. Updated wrong header for 'wcscmp' [ci skip]
2019-11-14 09:23:37 +01:00
orbitcowboy
356dc164b7
README: Added License-badge
2019-11-14 09:02:19 +01:00
orbitcowboy
dd30f37642
std.cfg: Merged 'wcscmp' and 'strcmp' configurations and added better tests.
2019-11-14 08:43:31 +01:00
orbitcowboy
20e2c513b6
test std.cfg: Added better test cases for toupper() and tolower().
2019-11-14 08:31:00 +01:00
IOBYTE
f88ae21d8f
Fix #9467 (False positive on local variable when template specialization is used) ( #2357 )
2019-11-13 21:34:27 +01:00
Georgy Komarov
da163ae0e8
misra.py: Add regression test for R21.1 crash ( #2356 )
2019-11-13 20:36:31 +01:00
orbitcowboy
09eaa412b1
std.cfg: Improved cfg for 'mbstowcs'
2019-11-13 16:55:17 +01:00
orbitcowboy
aa5c42ffc5
test std.cfg: Addressed comments from 177eed122a (comments)
2019-11-13 15:07:57 +01:00
Sebastian
2b1a1a2a38
misra.py: Fix mutable default argument in "misra_17_2()" ( #2355 )
...
PyCharm inspection warns for argument `visited=set()` with
"Default argument is mutable".
According to different sources one should nearly never use mutable
default arguments:
https://docs.python-guide.org/writing/gotchas/#mutable-default-arguments
https://dev.to/florimondmanca/python-mutable-defaults-are-the-source-of-all-evil-6kk
2019-11-13 14:45:34 +01:00
orbitcowboy
177eed122a
std.cfg: Added 'indirect' flag for destination argument of 'mbstrtowc' function.
2019-11-13 14:34:02 +01:00
Paul Fultz II
7841430793
Fix issue 9428: FP uninitvar for pointer passed to sscanf ( #2344 )
...
* Add indirect to library cfg files
* Check indirect for non null arguments
* Reenable subfunction analysis
* Use indirect 1 when using not-null
* Parse correct string name
* Update documentation
* Make attribute optional
2019-11-13 12:46:54 +01:00
orbitcowboy
83095129d2
wxwidgets.cfg: Added support for 'EVT_MAXIMIZE'-event.
2019-11-13 08:19:50 +01:00
Georgy Komarov
dbe23f878b
misra.py: Fix R21.1 crash on C++ code ( #2354 )
...
Variables from cppcheckdata.Variable have no nameToken if they are
objects of user-defined classes.
2019-11-13 07:58:26 +01:00
Daniel Marjamäki
49d6bfbd7b
Fixed crash in harfbuzz found by daca@home
2019-11-12 18:22:11 +01:00
Sebastian
9e0ae11ca2
Donate CPU client: Fix TortoiseSVN analysis ( #2353 )
...
- Keep Visual Studio Solution/Project files
- Remove Linux library configurations
- Use correct path to solution file
2019-11-12 15:34:04 +01:00
Sebastian
3e0ecc8bed
misra.py: Fix typos, PEP 8 and Inspection warnings ( #2352 )
2019-11-12 15:32:05 +01:00
versat
c04589faf3
donate_cpu_lib.py: Prepare using new configs mfc.cfg, microsoft_atl.cfg
...
This will especially improve analysis of Windows projects like
TortoiseSVN which has been added with fb8b9b12cb
2019-11-12 12:15:50 +01:00
Sebastian
4398cf0dec
addons/namingng.py: Fix some PEP 8 and Inspections warnings ( #2351 )
2019-11-12 09:47:48 +01:00
Sebastian
bd5d82c9bd
cppcheckdata.py: Fix PEP 8 and Inspection warnings ( #2350 )
2019-11-12 09:30:43 +01:00
Daniel Marjamäki
f5a6aa530d
Fixed #9417 (FP uninitvar - member initialized in operator())
2019-11-11 15:00:53 +01:00
Sebastian
1daf076d63
pylintrc_travis: Add check for bad-indentation, fix issues in misra.py ( #2349 )
2019-11-11 13:53:19 +01:00
orbitcowboy
02adb60f08
test std.cfg: Added a regression test for std::vsprintf(). The first argument is allowed to be a null pointer.
2019-11-11 09:29:16 +01:00
Rikard Falkeborn
38dea4719b
Fix #9166 (print proper types in invalidCast message) ( #2347 )
...
* Fix #9166 (print proper types in invalidCast message)
* Use ValueType->str()
* astyle
* Set default sign to avoid issues on different platforms
2019-11-11 07:17:50 +01:00
Rikard Falkeborn
af170c8e3f
Add regression test for #8923 ( #2348 )
...
This was fixed in 5a32d2d017
. Add a regression test
with array arguments.
2019-11-11 07:15:24 +01:00
Daniel Marjamäki
5bf53cc2b4
std.cfg: first parameter for vsprintf can be NULL
2019-11-10 19:09:34 +01:00
Daniel Marjamäki
eaa5bfcadd
Remove 'unsafeClassDivZero' warning. The software verification will cover this better.
2019-11-10 16:49:34 +01:00
Daniel Marjamäki
fcc5fad3ed
Fixed #9113 (false positive: (error) Buffer is accessed out of bounds)
2019-11-10 16:42:48 +01:00
Daniel Marjamäki
fb8b9b12cb
donate-cpu: adjust options for TortoiseSVN
2019-11-10 13:36:34 +01:00
Paul Fultz II
6f29e299fc
Fix issue 9439: false positive: unique_ptr and nullPointerRedundantCheck ( #2346 )
2019-11-10 09:44:59 +01:00
Paul Fultz II
c1da6c7dd2
Fix issue 9461: False positive: Reference to temporary returned using trailing return type ( #2345 )
2019-11-10 09:44:04 +01:00
Rikard Falkeborn
2d326c011d
Add regression test for #9028 ( #2343 )
...
Ticket #9028 was fixed in 5800692fa1
, add a test case where the
class definition is seen.
2019-11-10 08:28:46 +01:00
Rikard Falkeborn
11319a397a
ValueFlow: Add test with hexadecimal floating point literal ( #2342 )
2019-11-10 08:27:55 +01:00
Daniel Marjamäki
8c9b717773
donate-cpu-server: tweaks for package http://cppcheck.sf.net/tortoisesvn.tgz
2019-11-09 19:30:15 +01:00
Sebastian
b93321e038
donate-cpu.py: Add shebang, warn when run under Python 2 ( #2336 )
...
Add shebang to run the client via Python 3 by default.
Add warning if Python 2 is used.
As discussed in the forum https://sourceforge.net/p/cppcheck/discussion/development/thread/86813a8a53/ switching to Python 3 has some benefits.
2019-11-09 18:18:57 +01:00
IOBYTE
0fed6f0091
fix clang testsuite crash ( #2341 )
2019-11-09 18:00:21 +01:00
Daniel Marjamäki
81fff2edf1
Fixed #9464 (Import compile database; only check given configuration)
2019-11-09 17:51:42 +01:00
Georgy Komarov
16e8016259
misra.py: Fix R21.1 FalsePositive on standard functions and errno ( #2339 )
...
Rule 21.1 now doesn't report errors on usage of library functions
started from underscore (e.g. `_exit') and valid errno assignment.
See added tests for examples.
2019-11-08 17:20:37 +01:00
Paul Fultz II
c75bbbe253
Fix issue 9404: False positive: Either the condition 'if(x)' is redundant or there is possible null pointer dereference: a->x ( #2322 )
...
* Fix issue 9404: False positive: Either the condition 'if(x)' is redundant or there is possible null pointer dereference: a->x
* Use simpleMatch
* Add a test case for the FP
* Check if expression is changed
* Check for no return scope
* Use simpleMatch
2019-11-08 08:11:41 +01:00
Georgy Komarov
ba217815cb
misra.py: Fix R16.3 FN in last case/default statement ( #2325 )
...
Fix R16.3 state machine which doesn't report errors in last case/default
statemenet. See added tests for examples.
Issue on trac: https://trac.cppcheck.net/ticket/8548
2019-11-08 08:06:10 +01:00
Rikard Falkeborn
1fcbd696be
Token::ConcatStr(): Handle mixed string literals ( #2337 )
...
Improve handling of adjacent string literals of different types.
Example of adjacent string literals: "ab" L"cd".
In C89, C++98 and C++03, this is undefined. As of C99 and C++11, this is
well defined and the two string literals are concatenated to L"abcd".
C11 and C++11 introduces the utf16, utf32 and (C++ only) utf8 string
types. Concatenating any of these with a regular c-string works exactely
as the wide string example above. The result of having two adjacent
string literals with different prefix is implementation defined, unless
one is an UTF-8 string literal and the other is a wide string literal.
In this case the behaviour is undefined.
Ignore the undefined and ill-formed programs (this behaviour is unchanged)
and make sure that concatenating a plain c string literal with a prefixed
one works correct (in C99 and C++11 and later versions). It also makes the
behaviour consistent since previously, "ab" L"cd" would result in "abcd"
while L"ab" "cd" would result in L"abcd".
It also means the somewhat awkward updatePropertiesConcatStr() test can
be removed since the added tests would not work if update_properties()
was not called in concatStr().
Since the prefix is stored in the token, testing the type of the string
is not relevant in TestSimplifyTokens. It is tested extensively in
TestToken::stringTypes().
2019-11-08 08:03:45 +01:00
Paul Fultz II
650408a210
Improve librarys config of substr to improve checking cases in issue 8021 ( #2338 )
2019-11-08 08:02:33 +01:00
orbitcowboy
c358688c68
Formatted code. There are no functional changes. [ci skip]
2019-11-07 11:29:37 +01:00
orbitcowboy
7a19be4da1
wxwidgets.cfg: Added support for more interfaces.
2019-11-07 11:28:58 +01:00
Paul Fultz II
2e955d0f22
Fix issue 9453: False positive: danglingLifetime, address of array argument ( #2335 )
2019-11-07 09:33:17 +01:00