Robert Reif
f25d205999
Fixed #7767 (SymbolDatabase: function not analysed when unknown macros are in front of function definition)
2016-10-22 22:29:18 +02:00
Daniel Marjamäki
8a0f3009ff
ValueFlow: inner and outer function return values
2016-10-22 17:22:57 +02:00
Daniel Marjamäki
77cd6c194f
ValueFlow: Set 'known' property for function return values
2016-10-22 12:24:15 +02:00
Daniel Marjamäki
86a620a3b4
ValueFlow: Better handling of function return value when there are 0 parameters
2016-10-20 16:10:55 +02:00
Daniel Marjamäki
a85eacc157
cstyleCast: don't warn about '(const Variable *)nullptr'
2016-10-18 22:56:33 +02:00
Daniel Marjamäki
efa3aba32a
Remove Tokenizer::simplifyNull()
2016-10-18 21:44:02 +02:00
Daniel Marjamäki
9cea2d6dfa
Tokenizer: Removed simplifications of standard functions that should be handled through configuration.
2016-10-18 19:25:58 +02:00
Dmitry-Me
d2e667ae7b
Put apostrophes consistent with other similar messages
2016-10-18 15:45:08 +03:00
Daniel Marjamäki
fae4a4dacf
Fixed #7668 (ValueFlow: return value from abs)
2016-10-17 13:05:19 +02:00
Daniel Marjamäki
1b7766c7bd
astyle formatting
2016-10-16 19:03:14 +02:00
Daniel Marjamäki
90ed7634b8
MathLib: fix for octal char literal '\200'
2016-10-16 13:42:20 +02:00
Daniel Marjamäki
5175bf88d6
Platform: Fix type limits calculations. sizeof=>bit
2016-10-16 12:00:33 +02:00
Daniel Marjamäki
c70987b727
ValueType: fix type of integer literals
2016-10-16 11:36:22 +02:00
Daniel Marjamäki
7fb812f415
Fixed #7752 (ValueFlow: no conditional value, probably because condition is in ternary operator and/or in function call.)
2016-10-16 07:15:28 +02:00
Daniel Marjamäki
ad74421526
Fixed #7756 (ValueFlow: fix bug in valueAfterAssign, same variable in lhs and rhs)
2016-10-15 19:09:50 +02:00
Daniel Marjamäki
d09a8dde57
Improved char literal handling. In the 'normal' tokenlist these should not be simplified to integer literals.
2016-10-12 10:20:24 +02:00
Miika-Petteri Matikainen
26816ed954
Fixes preprocessor regression causing hang
...
Cppcheck 1.76 introduced a regression in preprocessor which causes
the following code to hang:
$ cat > test.c << EOF
#ifndef Y
#else
#endif
EOF
$ cppcheck -D BAR --force test.c
Checking test.c ...
^C
This used to work with version 1.75. Git bisect reveals that this
regression was caused by commit:
ff036c8742
This commit fixes the regression by avoiding infinite loop in
hasDefine(). If cfg is empty string "", we can skip the whole loop
and exit early.
2016-10-11 19:56:13 +03:00
orbitcowboy
fe08abb76f
Improved Doxygen comments. There are no functional changes.
2016-10-11 13:51:46 +02:00
PKEuS
1715969f6f
Support prefix-increment/decrement in CheckAutoVariables::assignFunctionArg() ( #3177 )
2016-10-10 21:34:40 +02:00
PKEuS
1227a3f596
Improved check: Complain if a variable is modified but not used again
2016-10-10 21:27:40 +02:00
Harald Scheidl
04421f5601
check if AST is not null before accessing it
2016-10-09 18:21:23 +02:00
Daniel Marjamäki
e0e53cbd66
alwaysTrueFalse: Don't warn when condition is 0 or 1
2016-10-09 15:20:43 +02:00
Daniel Marjamäki
af5dd2c29e
New check: Pointer overflow (null pointer subtracted)
2016-10-09 15:15:29 +02:00
Harald Scheidl
58eb644003
Improved Check: Warn about number and char literals in boolean expressions ( #7750 )
2016-10-09 13:21:00 +02:00
Daniel Marjamäki
0e785e435e
charLiteralWithCharPtrCompare: Improved warning to catch any char literal
2016-10-09 11:39:20 +02:00
PKEuS
e417e15567
Set version to 1.76.99/1.77 dev
2016-10-09 10:33:03 +02:00
PKEuS
54959d1932
CheckLeakAutoVar: Distinguish between new and new[] ( #888 )
2016-10-09 10:28:19 +02:00
Daniel Marjamäki
0afe745c94
1.76: Update version
2016-10-08 18:40:36 +02:00
PKEuS
e1a21a8bb1
Fixed internal warnings
2016-10-08 11:34:25 +02:00
Harald Scheidl
9f1b70fa04
new can initialize memory, don't warn in this case ( #7623 )
2016-10-08 10:03:09 +02:00
Daniel Marjamäki
bcbc8ef017
Fixed #7747 (Syntax error when setting the bitcount of an enum defined inside a struct)
2016-10-04 15:57:43 +02:00
Daniel Marjamäki
02402eeea4
Make simplifyBitfields() a bit more strict
2016-10-04 15:33:50 +02:00
Boris Egorov
a32f61ae4a
Fixed #7139 (ValueFlow: Missed shift operation in for expression)
2016-10-04 13:09:33 +07:00
Harald Scheidl
ba6cda9c86
Fixed #7740 (Tokenizer::setVarId: Function declaration does not start with 'return')
2016-10-03 10:02:18 +02:00
PKEuS
4df8bf9c39
Added missing #include "config.h" in pathmatch.h
2016-10-02 15:51:21 +02:00
PKEuS
29e1fe136a
Fixed Visual Studio build after pathmatch.h/cpp was moved to lib, fixed compiler errors about getcwd
2016-10-02 15:48:03 +02:00
Daniel Marjamäki
fff8aa8590
dmake: pathmatch was moved from cli to lib
2016-10-02 13:32:39 +02:00
Daniel Marjamäki
03d6d34396
Fixed #4399 (Exclude directory with absolute path does not work)
2016-10-02 13:02:29 +02:00
Daniel Marjamäki
3605457cbe
CLI: Fix exclude of absolute path. #4399
2016-10-02 12:38:44 +02:00
Daniel Marjamäki
91d97c556d
Path: Add methods Path::isAbsolute() and Path::getCurrentPath()
2016-10-02 12:06:55 +02:00
Simon Martin
3f415673e4
Ticket #7541 : Properly keep track of namespace definition end markers when there are multiple of them.
2016-10-01 20:46:33 +02:00
orbitcowboy
ee0602cd21
Merge pull request #832 from simartin/ticket_7068
...
Ticket #7068 : Treat "memset(&this->member, ..." as member initialization
2016-10-01 15:36:32 +02:00
Simon Martin
dc61b6342d
Ticket #7068 : Treat "memset(&this->member, ..." as member initialization.
2016-10-01 13:46:58 +02:00
Daniel Marjamäki
6f133a397b
Fixed #3492 (GUI: after edit project recheck use old settings)
2016-10-01 13:08:58 +02:00
Daniel Marjamäki
9dcad7115a
Fixed #7743 (--config-exclude no longer supported)
2016-09-30 08:00:06 +02:00
Boris Egorov
0154d39bf6
Show struct member in unsignedLessThanZeroError warning
...
Before:
[/tmp/test.c:8]: (style) Checking if unsigned variable '.' is less than zero.
[/tmp/test.c:12]: (style) Checking if unsigned variable '.' is less than zero.
After:
[/tmp/test.c:8]: (style) Checking if unsigned variable 'd.n' is less than zero.
[/tmp/test.c:12]: (style) Checking if unsigned variable 'd.n' is less than zero.
2016-09-22 08:03:30 +07:00
Matthias Krüger
2f39ed6f88
redundantPointerOpError: put pointer name into single quotes in the error message.
2016-09-16 22:18:24 +02:00
Daniel Marjamäki
6b55acd7af
CheckIO: Changed severity for '.. aka' warnings to portability. If type is compatible then it's just a possible portability issue.
2016-09-11 17:05:01 +02:00
Simon Martin
f816fb811e
Ticket #7680 : Properly handle ::delete during memory leak checks.
2016-09-10 14:55:50 +02:00
Daniel Marjamäki
ac1a869d60
unused struct members: don't warn about packed structs ( #3088 )
2016-09-05 17:27:12 +02:00
Daniel Marjamäki
4d22ada078
Fixed #5839 (False positive: Function can be const, if this is passed to functor)
2016-09-04 16:36:04 +02:00
Daniel Marjamäki
ce7bfba416
Refactoring CheckClass::checkConst. Use continue.
2016-09-04 16:06:54 +02:00
Daniel Marjamäki
54db79305b
Redo refactoring of CheckClass::checkConst.
2016-09-04 16:02:59 +02:00
Daniel Marjamäki
530a05e40e
Refactoring CheckClass::checkConst. Use continue.
2016-09-04 15:38:56 +02:00
Daniel Marjamäki
03a6282ab3
Fixed #7338 (Library: method in base class)
2016-09-04 14:14:21 +02:00
Daniel Marjamäki
60f22bd4ee
Fixed #7477 (False positive 'Assigned value is never used' in multithreaded context)
2016-09-03 20:38:36 +02:00
Daniel Marjamäki
b97bdb5300
bump simplecpp to rev b50ced8ac14f8debab9e85e78036f881ff2b3965
2016-09-03 12:29:45 +02:00
Roberto Martelloni
28f1222dc2
CWE mapping of useAutoPointerMalloc, uselessCallsCompare, uselessCallsSwap, uselessCallsSubstr, uselessCallsEmpty, uselessCallsRemove, derefInvalidIterator, reademptycontainer, multiplySizeof, divideSizeof, stringLiteralWrite, incorrectStringCompare, literalWithCharPtrCompare, charLiteralWithCharPtrCompare, incorrectStringBooleanError, staticStringCompare, stringCompare, signConversion, truncLongCastAssignment, truncLongCastReturn, unusedFunction, unusedVariable, unusedAllocatedMemory, unreadVariable, unassignedVariable, unusedStructMember, postfixOperator, va_start_wrongParameter ( #824 )
...
Add an optional extended description…
2016-09-03 00:31:35 +02:00
Daniel Marjamäki
0e48625ff4
Fixed false positive when self-checking Cppcheck 'boolean result used in bitwise operation' when using boolean variables.
2016-08-29 04:09:36 +02:00
Daniel Marjamäki
24c6d92667
astyle formatting
...
[ci skip]
2016-08-29 04:08:38 +02:00
Daniel Marjamäki
939b42df06
Fixed #7134 (False positive redundantAssignment - assignment to local variable of unknown type)
2016-08-29 03:48:08 +02:00
Daniel Marjamäki
18cab009c1
Fix Token::Match pattern
2016-08-28 19:25:57 +02:00
Daniel Marjamäki
254e5675ff
Fixed #7573 (Tokenizer: FP caused by constant folding)
2016-08-28 19:11:05 +02:00
Daniel Marjamäki
fee0e4edfa
Fixed #7177 (MathLib: Does not handle '\xF6' properly)
2016-08-28 11:37:05 +02:00
Robert Reif
bf7ef56ef5
Fixed #7713 (False positive: %hhu in format string (no. 1) requires 'unsigned char' but the argument type is 'signed int'.)
2016-08-26 19:47:36 +02:00
orbitcowboy
87409ea6b3
Running astyle; Improved testing of std::find; std.cfg: Added support for istream::read and ifstream::read.
2016-08-25 19:17:07 +02:00
Roberto Martelloni
1db24ee070
CWE mapping of signedCharArrayIndex, unknownSignCharArrayIndex, suspiciousCase, suspiciousEqualityComparison, duplicateBranch, duplicateExpressionTernary, suspiciousSemicolon, incompleteArrayFill, redundantPointerOp, unusedLabelSwitch, unusedLabel, unknownEvaluationOrder, stlIfFind, useAutoPointerCopy
2016-08-25 15:40:23 +01:00
amai2012
ece478979b
Merge pull request #821 from boos/cwe-mapping-11
...
CWE mapping of invalidLengthModifierError, leakUnsafeArgAlloc, nullPointerDefaultArg, nullPointerRedundantCheck, raceAfterInterlockedDecrement.
2016-08-24 20:44:06 +02:00
Roberto Martelloni
01ee9ee5e6
CWE mapping of invalidLengthModifierError, leakUnsafeArgAlloc, nullPointerDefaultArg, nullPointerRedundantCheck, raceAfterInterlockedDecrement.
2016-08-24 15:37:14 +01:00
Dmitry-Me
667038a402
Merge overlapping patterns
2016-08-24 15:10:39 +03:00
Robert Reif
6043a27065
Fixed #7710 (%h and %hh printf type size specifiers not supported)
2016-08-24 12:47:11 +02:00
Daniel Marjamäki
706877df2d
astyle formatting
...
[ci skip]
2016-08-24 12:43:45 +02:00
amai2012
7cc2124176
Fix crash in parsing solution/project
2016-08-24 12:17:54 +02:00
amai2012
c0401c2ef5
Merge pull request #820 from boos/cwe-mapping-10
...
CWE mapping of functionConst, functionStatic, initializerList, badBitmaskCheck, knownConditionTrueFalse, invalidTestForOverflow, unhandledExceptionSpecification, coutCerrMisusage, invalidPrintfArgType_int
2016-08-24 09:48:01 +02:00
Roberto Martelloni
4c6f4f6708
CWE mapping of functionConst, functionStatic, initializerList, badBitmaskCheck, knownConditionTrueFalse, invalidTestForOverflow, unhandledExceptionSpecification, coutCerrMisusage,
...
invalidPrintfArgType_int
2016-08-23 16:48:36 +01:00
Dmitry-Me
cd6aa27010
Clarify loop logic
...
* clearer variable names
* don't rely on npos being outside indices range - explicitly break the loop instead
2016-08-23 18:27:07 +03:00
Frank Zingsheim
8c8a534117
SymbolDatabase: stronger type matching
2016-08-21 16:11:23 +02:00
Frank Zingsheim
7c9a69357e
Fixed #7696 (cppcheck 1.75 runs very slowly with style and/or performance checks)
2016-08-21 16:07:05 +02:00
Daniel Marjamäki
bea35ee04c
GUI: Select configuration that is checked
2016-08-21 15:57:38 +02:00
Daniel Marjamäki
a94628d8fc
Settings: Make Settings::_terminated static. All threads and subchecks are terminated
2016-08-21 15:57:19 +02:00
Daniel Marjamäki
d9ebdc6a10
Preprocessor: fix handling of -U in Preprocessor::getConfigs()
2016-08-21 15:01:04 +02:00
Daniel Marjamäki
ff036c8742
Fixed #7700 (Using -D to force a configuration still checks the configuration as well as configurations that are not relevant)
2016-08-21 13:53:44 +02:00
Daniel Marjamäki
19c105cdf9
Fixed #7677 (skipping of configurations broken?)
2016-08-21 12:31:26 +02:00
PKEuS
e0838ff194
Fixed crash on garbage code ( #7699 )
2016-08-21 11:06:48 +02:00
Daniel Marjamäki
363605906f
Fixed #7695 (Running with -U_WIN32 still checks related configurations)
2016-08-21 07:45:15 +02:00
Robert Reif
62ac40fc5e
Fixed #7706 ((debug) Executable scope 'foo' with unknown function.)
2016-08-20 22:43:27 +02:00
Robert Reif
1dd1f6dd6a
Fixed #7673 ((debug) Executable scope 'foo' with unknown function.)
2016-08-20 17:56:48 +02:00
Daniel Marjamäki
fe2fa4d343
GUI: Only check current platform when checking sln/vcxproj file
2016-08-20 13:47:25 +02:00
Daniel Marjamäki
f1d0498418
ImportProject: Fix crash when there is condition $(Configuration.Contains('X'))
2016-08-20 13:00:47 +02:00
Daniel Marjamäki
079051a4e4
ImportProject: UseOfMfc => define __AFXWIN_H__
2016-08-20 12:20:04 +02:00
Daniel Marjamäki
8a66535399
Fixed #7694 (ValueType: 1.23L)
2016-08-20 08:44:53 +02:00
Robert Reif
b56c765a45
Fixed #7703 ((debug) Executable scope 'foo' with unknown function.)
2016-08-20 07:43:15 +02:00
Robert Reif
f1b5ac30a7
Fixed 7698 (FP syntaxError with enum (1.75 regression))
2016-08-19 19:09:52 +02:00
Robert Reif
1e999e0cfe
Fixed #7697 ((debug) Executable scope 'B' with unknown function.)
2016-08-19 19:06:15 +02:00
Daniel Marjamäki
789aef7fde
Fixed #4920 (Microsoft ATL/MFC CString::Format argument checking)
2016-08-19 17:36:27 +02:00
Daniel Marjamäki
305609f4fb
Fixed #7688 (setTokenValue: crash when there is no 2nd operand for ternary operator)
2016-08-17 18:44:41 +02:00
Daniel Marjamäki
499e52c976
astyle formatting
...
[ci skip]
2016-08-15 18:04:55 +02:00
Daniel Marjamäki
1f98af654a
ValueFlow: better handling of ? when condition result is known
2016-08-15 14:19:35 +02:00
amai2012
453b5577cd
Merge pull request #819 from boos/cwe-mapping-9
...
CWE mapping of assignBoolToFloat, strncatUsage, sizeArgumentAsChar, terminateStrncpy, bufferNotZeroTerminated, negativeArraySize, noExplicitConstructor, virtualDestructor
2016-08-15 09:20:59 +02:00
Daniel Marjamäki
62362cd06d
ValueFlow: improve handling of unary minus
2016-08-14 22:19:06 +02:00