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 |
Roberto Martelloni
|
41dee04e90
|
CWE mapping of assignBoolToFloat, strncatUsage, sizeArgumentAsChar, terminateStrncpy, bufferNotZeroTerminated, negativeArraySize, noExplicitConstructor, virtualDestructor
|
2016-08-14 18:23:41 +01:00 |
Daniel Marjamäki
|
f2e49b4db4
|
Fixed #7178 (Defect: False positive due to mistake in return type of function pointer.)
|
2016-08-14 17:19:14 +02:00 |
Daniel Marjamäki
|
c8667096e0
|
Fixed #7658 (False positive: Same iterator is used with different containers)
|
2016-08-14 10:49:48 +02:00 |
Robert Reif
|
73e1378af8
|
Fixed #7661 (False positive: Function parameter 'e' should be passed by reference.)
|
2016-08-13 21:25:57 +02:00 |
Daniel Marjamäki
|
2ed50fbf5a
|
Refactoring
|
2016-08-13 15:23:46 +02:00 |
Daniel Marjamäki
|
606e31602c
|
Fixed #7177 (Support compile_commands.json)
|
2016-08-13 10:50:03 +02:00 |
Robert Reif
|
fc1a755100
|
Fixed #7666 (Executable scope with unknown function.)
|
2016-08-09 14:02:06 +02:00 |
Daniel Marjamäki
|
bd21cd7c85
|
Fixed #6309 (FP: checkRedundantAssignment should not warn for pointer alias)
|
2016-08-08 21:43:00 +02:00 |
Daniel Marjamäki
|
c586ae8cbe
|
Revert 'project' - it is not ready yet
|
2016-08-07 17:10:37 +02:00 |
Bartlomiej Grzeskowiak
|
09a83f2cc8
|
Fixed #7567 ("(a | 7) > 6U" is always true)
|
2016-08-07 16:58:39 +02:00 |
Daniel Marjamäki
|
78fc307c73
|
1
|
2016-08-07 15:45:36 +02:00 |
Daniel Marjamäki
|
4dbdb50317
|
split
|
2016-08-07 15:35:41 +02:00 |
Daniel Marjamäki
|
70ccfa5947
|
fix loading of vcxproj files
|
2016-08-07 14:21:06 +02:00 |
Daniel Marjamäki
|
e0f4ce9358
|
vs
|
2016-08-07 13:55:27 +02:00 |
Daniel Marjamäki
|
f0727f2148
|
Merge branch 'master' into project
|
2016-08-06 21:05:29 +02:00 |
Daniel Marjamäki
|
09d6f4f0a4
|
1
|
2016-08-06 21:04:50 +02:00 |
Frank Zingsheim
|
47c063e13f
|
Fixed #7660 (cmake build does not handle simplecpp)
|
2016-08-06 18:21:54 +02:00 |
Daniel Marjamäki
|
a8df08f22b
|
Fixed #7659 (crash: Token::varId() : vxl: brdb_selection.cxx)
|
2016-08-06 18:07:41 +02:00 |
Daniel Marjamäki
|
b86c2689b3
|
TestPreprocessor: Fix output
|
2016-08-06 13:28:24 +02:00 |
Daniel Marjamäki
|
2f1c80560a
|
1.75: Set versions
|
2016-08-06 11:47:27 +02:00 |
Robert Reif
|
cdfe92b753
|
Fixed #7657 (False positive: Function parameter 'c' should be passed by reference.)
|
2016-08-06 10:27:00 +02:00 |
Daniel Marjamäki
|
8983997a88
|
Fix GCC warning
|
2016-08-06 10:22:58 +02:00 |
Daniel Marjamäki
|
3777db39db
|
Preprocessor: Mostly refactorings. Also added handling of --include.
|
2016-08-06 09:15:09 +02:00 |
Dmitry-Me
|
89e8f51a28
|
Explicit continue instead of init-set-check
|
2016-08-05 15:05:37 +03:00 |
Daniel Marjamäki
|
7d6c587580
|
Fixed #6113 (Tokenizer::simplifyFunctionPointer: wrong simplification of usage 'return (*f)();')
|
2016-08-04 19:10:08 +02:00 |
PKEuS
|
084fcc936c
|
Rephrased syntaxError message for empty configurations to improve readability:
Old: Invalid number of character 'c' when these macros are defined: ''.
New: Invalid number of character 'c' when no macros are defined.
|
2016-08-04 16:28:11 +02:00 |
PKEuS
|
ad96f7b519
|
Fixed wrong variable being used in CheckOther::checkPassByReference()
|
2016-08-04 15:30:59 +02:00 |
Daniel Marjamäki
|
9711064b74
|
Fixed #6646 (False positive uninitvar - loopvariable initialized inside loop)
|
2016-08-04 14:39:54 +02:00 |
amai2012
|
0bec604627
|
Repair CWE mapping for calling obsolete functions
|
2016-08-04 13:55:38 +02:00 |
Daniel Marjamäki
|
2566fd09da
|
Fixed #5803 (False positive: Same iterator is used with different containers - insert() from range of different container)
|
2016-08-04 09:35:16 +02:00 |
Robert Reif
|
55b3f0bf38
|
Fixed #752 (SymbolDatabase: Does not match function if redundant keywords mismatch (C++))
|
2016-08-04 09:06:32 +02:00 |
Dmitry-Me
|
7f30108f1d
|
Descriptive variable name
|
2016-08-03 18:15:08 +03:00 |
Robert Reif
|
b40edca62f
|
Fixed #7387 (SymbolDatabase: Wrong overloaded function is picked)
|
2016-08-02 23:34:11 +02:00 |
Robert Reif
|
b9030bcfcd
|
Fixed #7650 (SymbolDatabase: Wrong Token::type(), enum and class with same name)
|
2016-08-02 23:30:46 +02:00 |
Daniel Marjamäki
|
908e1b991e
|
Tokenizer: Refactoring simplifyPlatformTypes()
|
2016-08-02 19:44:18 +02:00 |
Daniel Marjamäki
|
9f59bd6dae
|
Try to fix travis hang
|
2016-08-02 19:23:45 +02:00 |
Robert Reif
|
b44f448acc
|
Fixed #7649 (SymbolDatabase: Wrong overloaded function is picked for char and wchar_t)
|
2016-08-02 18:54:01 +02:00 |
Daniel Marjamäki
|
f23287544a
|
Fixed #7196 (Improve check: deem sizeof(thing) as using the thing's members)
|
2016-08-02 18:50:04 +02:00 |
Daniel Marjamäki
|
cc62259103
|
Tokenizer: don't set varid on c++11 'template using' type.
|
2016-08-02 15:04:07 +02:00 |
Robert Reif
|
612e83d5af
|
SymbolDatabase: Small fix
|
2016-08-02 14:31:07 +02:00 |
Daniel Marjamäki
|
2187e8ba02
|
CheckUninitVar: Fixed FP when dereferencing multidimensional arrays. Refactoring of testing. The FP was spotted when looking at #7092
|
2016-08-02 14:27:51 +02:00 |
Daniel Marjamäki
|
99b23012aa
|
Refactoring, use Settings::platformString()
|
2016-08-02 10:53:51 +02:00 |
Robert Reif
|
891e21b478
|
Fixed #7458 (SymbolDatabase: Wrong overloaded function is picked)
|
2016-08-02 08:58:11 +02:00 |
Daniel Marjamäki
|
41526ef3a8
|
Fixed #6147 (FP unreadVariable: variable assignment in function call argument list)
|
2016-08-02 08:50:04 +02:00 |
Daniel Marjamäki
|
31484133c0
|
Fixed #7158 (Tokenizer::createLinks2(): does not set links for < > in 'enum { value = boost::mpl::at_c<B,C> };')
|
2016-08-01 22:26:11 +02:00 |
Daniel Marjamäki
|
e784901303
|
Fixed #6971 (False positive duplicateExpressionTernary - cast ignored)
|
2016-08-01 21:53:43 +02:00 |
Daniel Marjamäki
|
695b1f0ef3
|
Fixed #5692 (Preprocessor: ifdef symbol used indirectly in code leads to 'analysis failed')
|
2016-08-01 20:09:41 +02:00 |
PKEuS
|
da34883770
|
Improved message invalidscanf: Removed misleading example from verbose message
|
2016-08-01 18:42:27 +02:00 |
Dmitry-Me
|
b3877a8ba0
|
Cleanup variable names
* fix typo
* use camelCase instead of underscore
|
2016-08-01 14:33:56 +03:00 |
Daniel Marjamäki
|
1c51fbce7a
|
astyle formatting
[ci skip]
|
2016-08-01 13:01:01 +02:00 |
Daniel Marjamäki
|
095b2f73f7
|
Library: look for cfg files in more paths, include exepath even if CFGDIR is used.
|
2016-08-01 12:58:33 +02:00 |
Daniel Marjamäki
|
09b6568ea2
|
Fixed #7646 (podtypes do not get proper valuetype)
|
2016-07-31 19:47:34 +02:00 |
Daniel Marjamäki
|
8d89eefff9
|
Merge pull request #815 from boos/cwe-mapping-8
CWE mapping of invalidscanf, invalidScanfArgType_s, invalidScanfArgType_int, invalidScanfArgType_float, invalidPrintfArgType_s, invalidPrintfArgType_n, invalidPrintfArgType_p, invalidPrintfArgType_int, invalidPrintfArgType_uint, invalidPrintfArgType_sint, invalidPrintfArgType_float, wrongPrintfScanfParameterPositionError
|
2016-07-31 14:14:48 +02:00 |
Daniel Marjamäki
|
b6246ecc55
|
bump simplecpp and update Preprocessor to handle new simplecpp::Output enum constants
|
2016-07-31 12:10:30 +02:00 |
Roberto Martelloni
|
9ab4057ddc
|
CWE mapping of invalidscanf, invalidScanfArgType_s, invalidScanfArgType_int, invalidScanfArgType_float, invalidPrintfArgType_s, invalidPrintfArgType_n, invalidPrintfArgType_p, invalidPrintfArgType_int, invalidPrintfArgType_uint, invalidPrintfArgType_sint, invalidPrintfArgType_float, wrongPrintfScanfParameterPositionError
|
2016-07-31 10:49:36 +01:00 |
Daniel Marjamäki
|
66d0d7a0ad
|
Fixed #7553 (False positive with 1.74 'returning an integer in a function with pointer return type' when no integer is used)
|
2016-07-29 21:53:58 +02:00 |
Daniel Marjamäki
|
5611a71820
|
Fixed #7543 (False positive boolean result used in bitwise operation)
|
2016-07-29 18:46:43 +02:00 |
Daniel Marjamäki
|
89be630156
|
Fixed #7543 (False positive boolean result used in bitwise operation)
|
2016-07-29 17:24:22 +02:00 |
Daniel Marjamäki
|
a65ae3ce2e
|
Token: Allow dollar sign in identifiers
|
2016-07-29 13:42:11 +02:00 |
Daniel Marjamäki
|
5546f052ef
|
Preprocessor: the simplecpp begin() and end() has been renamed
|
2016-07-29 08:51:57 +02:00 |
PKEuS
|
452ecc7ceb
|
Improved check: Detect passedByValue even for arguments that are not declared as "const"
|
2016-07-28 19:37:10 +02:00 |
Daniel Marjamäki
|
0777ecd071
|
Fixed #7640 (Preprocessor::getConfigs: -U is not honored)
|
2016-07-28 19:22:59 +02:00 |
Daniel Marjamäki
|
57951a2681
|
one more fix for rules
|
2016-07-28 15:35:41 +02:00 |
Daniel Marjamäki
|
1a4ef60e7c
|
Fixed #7639 (rule support partially broken since simplecpp was introduced)
|
2016-07-28 13:40:52 +02:00 |
PKEuS
|
3f4fe8f578
|
Refactorized CheckBufferOverrun:
- Removed redundant code
- Apply non-simplified checking in test suite
|
2016-07-27 17:28:43 +02:00 |
PKEuS
|
13c11b8c1d
|
Fixed compilation with HAVE_RULES
|
2016-07-26 17:10:05 +02:00 |
PKEuS
|
eafed235a6
|
Attempt to fix build on Unix systems, ran AStyle.
|
2016-07-26 16:50:32 +02:00 |
PKEuS
|
9a6569fde1
|
Always set ErrorMessage::file0 to ensure that the source file that cppcheck is checking when an error occurs can be identified
Removed unused function and unused includes from preprocessor.h/cpp
|
2016-07-26 16:28:40 +02:00 |
Dmitry-Me
|
560e7d618d
|
Get rid of "magic" patterns set
* magic should match "knownPatterns" but it didn't
* two identical sets are of no use
|
2016-07-26 16:42:17 +03:00 |
Daniel Marjamäki
|
71f62950ed
|
Tokenizer::findGarbageCode: Make it less picky about 'UNKNOWN_MACRO if ..'
|
2016-07-26 14:35:11 +02:00 |
PKEuS
|
fc1603eb9b
|
MathLib, ValueType: Support integer suffix "i64"
|
2016-07-26 13:19:53 +02:00 |
Daniel Marjamäki
|
7ff9545b10
|
Fixed #7637 (FP syntax error assignment in switch)
|
2016-07-26 12:15:55 +02:00 |
Daniel Marjamäki
|
fd19ab4ed1
|
fix garbage code handling
|
2016-07-26 08:50:00 +02:00 |
Dmitry-Me
|
2b31afe2ab
|
Variable name consistent with surroundings
|
2016-07-26 09:46:50 +03:00 |
Daniel Marjamäki
|
383b815cca
|
Tokenizer: refactoring garbage code handling
|
2016-07-26 08:16:10 +02:00 |
Matthias Krüger
|
6fd8edd6e5
|
Symboldatabase::sizeOfType: fix crash; fixes #7615
|
2016-07-26 01:18:47 +02:00 |
PKEuS
|
045116f797
|
Optimized SymbolDatabase::findVariableType().
|
2016-07-25 18:33:22 +02:00 |
Dmitry-Me
|
64360d291d
|
Variable name consistent with surroundings
|
2016-07-25 17:04:18 +03:00 |
Daniel Marjamäki
|
2feb86a6af
|
Preprocessor: set platform info
|
2016-07-25 14:52:23 +02:00 |
Daniel Marjamäki
|
90faa80590
|
Preprocessor: Cleanup unused functions
|
2016-07-25 14:29:02 +02:00 |
Daniel Marjamäki
|
7ef02a7469
|
Cleanup Tokenizer
|
2016-07-25 12:12:11 +02:00 |
Daniel Marjamäki
|
adf16fae8b
|
Remove handling of ##, __FILE__, __LINE__ from tokenizer
|
2016-07-25 07:58:03 +02:00 |
Daniel Marjamäki
|
0767284ca1
|
Fixed #7630 (FP: dead store, modifying array, index var modified)
|
2016-07-25 07:35:33 +02:00 |
Daniel Marjamäki
|
cd3818088f
|
Remove unused function Tokenizer::tokenizeCondition
|
2016-07-24 14:37:43 +02:00 |
Daniel Marjamäki
|
e9fef003ac
|
Preprocessor: refactoring directives, they are now only set once for each file
|
2016-07-24 14:02:21 +02:00 |
Daniel Marjamäki
|
48fc19b34c
|
Remove unused function Preprocessor::preprocessCleanupDirectives()
|
2016-07-24 12:51:52 +02:00 |
PKEuS
|
2e2800f5bd
|
Fixed several MSVC warnings
|
2016-07-24 12:36:36 +02:00 |
PKEuS
|
f44d9d5c9b
|
Optimizations in CheckInternal:
- Run checks only on executable scopes
- Simplified patterns
|
2016-07-24 12:05:58 +02:00 |
Daniel Marjamäki
|
f931c0cf2b
|
Preprocessor::getConfigs: Handle invalid #else better
|
2016-07-23 14:40:01 +02:00 |
Daniel Marjamäki
|
ed4a47de45
|
Tokenizer: Improve syntax checking of switch,if,while
|
2016-07-22 16:54:24 +02:00 |
Dmitry-Me
|
224e55780e
|
Add const where const access is enough
|
2016-07-22 15:35:07 +03:00 |
PKEuS
|
12e3cf584c
|
Visual Studio solution:
- Fixed include paths
- Export simplecpp to cppcheck-core.dll
- Added /Zc:rvalueCast
|
2016-07-21 20:38:58 +02:00 |
Daniel Marjamäki
|
99307846cf
|
Preprocessor: simplecpp optimisations
|
2016-07-21 19:42:26 +02:00 |
Daniel Marjamäki
|
79ac409c7d
|
Preprocessor: Refactoring Preprocessor::getConfigs()
|
2016-07-21 19:11:49 +02:00 |
Daniel Marjamäki
|
b2f1b95e38
|
Bump simplecpp. Preprocessor: Warn about missing includes
|
2016-07-21 12:47:00 +02:00 |
Daniel Marjamäki
|
9899e81f2e
|
handle inline suppressions in included files
|
2016-07-21 07:57:23 +02:00 |
Daniel Marjamäki
|
e16f0e500c
|
Preprocessor: Parse comments and then remove them
|
2016-07-21 07:48:17 +02:00 |
Daniel Marjamäki
|
8a1936d5c9
|
update AdditionalIncludeDirectories in vcxproj files
|
2016-07-20 22:17:23 +02:00 |
Daniel Marjamäki
|
4ceba79f7f
|
Replace std::to_string, to hopefully make appveyor happier
|
2016-07-20 20:43:32 +02:00 |
Daniel Marjamäki
|
f1839ebfaf
|
Preprocessor: Fix crashes for invalid code
|
2016-07-20 20:39:03 +02:00 |
Daniel Marjamäki
|
03d2829fb9
|
Merge simplecpp branch
|
2016-07-20 12:21:00 +02:00 |
Daniel Marjamäki
|
a68da1a725
|
ValueType: Set valuetype for sizeof argument
|
2016-07-20 09:39:48 +02:00 |
Daniel Marjamäki
|
3eef225b36
|
Revert preprocessor fix for struct tag macros. There are performance problems.
|
2016-07-19 18:59:58 +02:00 |
Matthias Krüger
|
18d5a7317e
|
fix travis; fix [lib/preprocessor.cpp:2772]: (style) The scope of the variable 'noprescan' can be reduced.
|
2016-07-19 17:28:31 +02:00 |
Mavik
|
3e86c7b637
|
Fixed #5700 (Defect: False positives due to failure to expand struct tag macros)
|
2016-07-19 16:52:53 +02:00 |
Daniel Marjamäki
|
9bda97975a
|
Fixed #7037 (32bit (-m32): testsuite fails)
|
2016-07-19 12:14:55 +02:00 |
Daniel Marjamäki
|
83b982064d
|
Fixed #7579 (varid not set properly in 'int b[] = { m * a[0] };')
|
2016-07-18 15:27:08 +02:00 |
Daniel Marjamäki
|
f55040a987
|
Fix segfault when there is no ast generated in lambda function
|
2016-07-18 14:08:44 +02:00 |
Daniel Marjamäki
|
0ddeac0429
|
refactor (use ast) and improve CheckOther::checkRedundantAssignment (warn about global variables unless they are volatile, handle arrays in lhs better)
|
2016-07-18 12:43:23 +02:00 |
Daniel Marjamäki
|
b9443771fb
|
cleanup tests
|
2016-07-18 10:42:03 +02:00 |
Daniel Marjamäki
|
4f051bf9dd
|
Fixed #7599 (valueFlowAST: handle && and || better)
|
2016-07-17 21:51:20 +02:00 |
Daniel Marjamäki
|
0162f33d3f
|
CheckSizeof: allow division with sizeof(char) when byte count is expected.
|
2016-07-17 19:19:15 +02:00 |
Daniel Marjamäki
|
45ee29d5dc
|
Fixed #7604 (simplifyCalculation: expression '0 && x[2]' is not simplified properly)
|
2016-07-17 15:52:53 +02:00 |
PKEuS
|
801fd8f96a
|
Support trailing return types (C++11)
|
2016-07-17 15:47:50 +02:00 |
Daniel Marjamäki
|
91e38f3eb9
|
Fixed #7582 (false positive: Division by result of sizeof(). strncpy() expects a size in bytes)
|
2016-07-17 15:22:14 +02:00 |
PKEuS
|
7a183779e2
|
CheckOther::checkMemsetZeroBytes(): Support wmemset()
|
2016-07-16 21:53:25 +02:00 |
Daniel Marjamäki
|
b8ca9fc844
|
Tokenizer: alternative tokens for and,or,etc. context sensitive for both c and c++.
|
2016-07-16 21:29:56 +02:00 |
Daniel Marjamäki
|
920ac5a3f6
|
astyle formatting
[ci skip]
|
2016-07-16 21:21:24 +02:00 |
Daniel Marjamäki
|
6e3d5dc0d1
|
Fixed #7580 (False positive when using logical operator keywords 'and', 'or')
|
2016-07-16 20:21:31 +02:00 |
amai2012
|
920b402d35
|
Merge pull request #813 from boos/cwe-mapping-7
CWE mapping of incorrectStringCompare, literalWithCharPtrCompare, charLiteralWithCharPtrCompare, incorrectStringBooleanError, staticStringCompare, stringCompare, signConversion, unusedFunction, unusedVariable
|
2016-07-16 13:10:22 +02:00 |
Roberto Martelloni
|
25525e38a7
|
CWE mapping of incorrectStringCompare, literalWithCharPtrCompare, charLiteralWithCharPtrCompare, incorrectStringBooleanError, staticStringCompare, stringCompare, signConversion, unusedFunction, unusedVariable
|
2016-07-16 10:07:06 +01:00 |
PKEuS
|
0afecd8fee
|
Do not simplify name "CALLBACK" away on non-windows platforms (#7554)
|
2016-07-16 10:43:28 +02:00 |
Robert Reif
|
768c26805c
|
Fixed false positive: %Ld in format string (no. 1) requires 'long long' but the argument type is 'long long' (#7601).
|
2016-07-16 10:33:46 +02:00 |
Alexander Mai
|
e495bfb960
|
Use proper tokenizer variable
|
2016-07-10 22:24:28 +02:00 |
PKEuS
|
f869f7ebde
|
Fixed false positive reademptycontainer when end() is called (#7560)
|
2016-07-10 10:48:21 +02:00 |
Simon Martin
|
bae81fba05
|
Silent clang -Wshadow warning. (#812)
Add an optional extended description…
|
2016-07-09 19:07:58 +02:00 |
Alexander Mai
|
4eef5642c9
|
Avoid null pointer access in CheckBufferOverrun::runSimplifiedChecks
|
2016-07-09 19:00:59 +02:00 |
PKEuS
|
ded8d80b23
|
Library: Support arguments with default value. Fixed default value handling for <container> tags broken in last commit.
|
2016-07-09 12:44:17 +02:00 |
PKEuS
|
b5d3ecb942
|
Updated TinyXML, make use of second argument of XMLElement::Attribute()
|
2016-07-09 11:56:07 +02:00 |
Robert Reif
|
c1594bedbb
|
Fixed creation of SymbolDatabase for some template code (#7594)
|
2016-07-09 09:22:52 +02:00 |
PKEuS
|
44a19b527e
|
Use ValueFlow and SymbolDatabase to detect buffer overflows with new and malloc, improving support for enums (#7576)
|
2016-07-08 20:53:08 +02:00 |
Robert Reif
|
eca805ba3b
|
ValueFlow: Fixed constant folding of sizeof(enum) and sizeof(enumerator) (#7564)
|
2016-07-08 20:39:34 +02:00 |
PKEuS
|
a808549af0
|
Support lambdas in simplifyCompoundAssignment (#7571)
|
2016-07-08 20:10:33 +02:00 |
Roberto Martelloni
|
87372ccd58
|
CWE mapping of sizeofForArrayParameter, sizeofForPointer, sizeofDivisionMemfunc, sizeofwithnumericparameter, sizeofsizeof, sizeofCalculation, sizeofVoid, sizeofDereferencedVoidPointer, arithOperationsOnVoidPointer (#810)
|
2016-07-08 09:06:55 +02:00 |
Daniel Marjamäki
|
a87b4368cb
|
Revert "Preprocessor: Start replacing our Preprocessor code with simplecpp"
This reverts commit 9820783b60 .
There was Travis errors I'll need to look more at.
|
2016-07-07 23:45:42 +02:00 |
Daniel Marjamäki
|
9820783b60
|
Preprocessor: Start replacing our Preprocessor code with simplecpp
|
2016-07-07 22:58:56 +02:00 |
PKEuS
|
644a216394
|
Fixed two false positives related to char arrays initialized by a literal:
- Run check for writing to string literals on non-simplified token list (#7283)
- Run buffer overrun checking for string literals on non-simplified token list (https://sourceforge.net/p/cppcheck/discussion/general/thread/2c33dfc5/)
|
2016-07-07 19:38:15 +02:00 |
PKEuS
|
3bdcf68990
|
Fixed false positive in CheckUnusedVar::checkFunctionVariableUsage(): Bailout when break; is encountered
See also: https://sourceforge.net/p/cppcheck/discussion/general/thread/1c169dc5/
|
2016-07-07 18:27:31 +02:00 |
Simon Martin
|
40eacb19b1
|
Ticket #7565: Handle numbers with several C++14 integer separators.
|
2016-07-01 23:24:28 +02:00 |
umanamente
|
0f11007c19
|
Fixed #7083 (false positive: typedef and initialization with strings)
|
2016-06-21 22:42:46 +02:00 |
PKEuS
|
dde6f5eaea
|
Do not warn about alloca() in C89 mode (#7558)
|
2016-06-20 09:30:41 +02:00 |
PKEuS
|
721bc32b2d
|
Fixed crash in CheckVaarg::va_list_usage() (#7559)
|
2016-06-20 09:24:23 +02:00 |
Bartlomiej Grzeskowiak
|
a5cfa2b12c
|
- #7522 and #7428 revisited. ((a&7)>7U) is always false and ((X|7)>=6) is correct (X can be negative).
|
2016-06-17 12:12:53 +02:00 |
Daniel Marjamäki
|
d1f06ff47c
|
Fixed #7175 (False positive performance warning (buffer overwritten before its old content has been used))
|
2016-06-13 15:46:43 +02:00 |
PKEuS
|
53e2cabdbb
|
Properly support "break" in CheckVaarg::va_list_usage() (#7533)
Ran AStyle
|
2016-06-07 19:28:32 +02:00 |
PKEuS
|
321d2aeafb
|
Set version to 1.74.99/1.75 dev
|
2016-06-07 19:19:58 +02:00 |
Roberto Martelloni
|
f1c39dbda7
|
CWE mapping of stlIfStrFind, stlcstrReturn, stlcstrParam, stlSize, (#801)
StlMissingComparison, redundantIfRemove.
|
2016-06-05 18:24:06 +02:00 |
Daniel Marjamäki
|
e7f1318d4b
|
1.74: set version
|
2016-06-05 18:21:33 +02:00 |
Daniel Marjamäki
|
bab4f61bb2
|
astyle formatting
[ci skip]
|
2016-06-05 14:14:28 +02:00 |
Simon Martin
|
3c10b25b3e
|
Ticket #7117: Properly detect if a const ternary operator is in a template parameter list.
|
2016-06-05 14:13:32 +02:00 |
Robert Reif
|
583b340034
|
enum: set the return type of derived class functions returning enums defined in a base class.
|
2016-06-05 14:08:33 +02:00 |
Simon Martin
|
3095f47a7b
|
Ticket #7137: Properly detect C++14 digit separators. (#802)
Add an optional extended description…
|
2016-06-04 22:55:55 +02:00 |
PKEuS
|
9a61559eca
|
Fixed false positive va_list_usedBeforeStarted (#7527)
|
2016-06-02 09:32:45 +02:00 |
Daniel Marjamäki
|
3eb0e9b6c0
|
astyle formatting
[ci skip]
|
2016-05-30 09:17:40 +02:00 |
Daniel Marjamäki
|
c24a4b9189
|
Removed enum mismatch checker. Ticket #6960.
|
2016-05-29 18:00:37 +02:00 |
Robert Reif
|
f4dd43a71a
|
Fixed #7523 (Scope::findEnumerator(): does not find enum constant from other enum type)
|
2016-05-29 14:45:45 +02:00 |
Simon Martin
|
12a298b9cd
|
Ticket #7445: Properly represent integer types smaller than int in CheckIO::ArgumentInfo.
|
2016-05-28 15:36:13 +02:00 |
Daniel Marjamäki
|
18fc288de9
|
Fixed #5582 (Crash when there is OOM)
|
2016-05-28 13:24:19 +02:00 |
Daniel Marjamäki
|
2b2f12bcd5
|
Fixed #6758 (Preprocessor: handle #__VA_ARGS__)
|
2016-05-28 11:27:45 +02:00 |
Daniel Marjamäki
|
cee67730b1
|
Fixed #5746 (Cppcheck returns error-exitcode when globally suppressed error is encounted when running with multiple jobs.)
|
2016-05-27 20:13:51 +02:00 |
PKEuS
|
00e4f70fe3
|
Fixed false positives in CheckSizeof::checkSizeofForPointerSize() (#7518)
|
2016-05-26 21:25:29 +02:00 |
PKEuS
|
373ac52480
|
Mention exact function name in invalidscanf message (#5649)
|
2016-05-26 21:11:33 +02:00 |
Daniel Marjamäki
|
4b903a838f
|
Fixed #5522 (CheckLeakAutoVar: Don't treat 'x==p' as dereference of p)
|
2016-05-26 19:22:38 +02:00 |
Daniel Marjamäki
|
2417f72c5e
|
Silence Travis
|
2016-05-26 18:31:52 +02:00 |
Daniel Marjamäki
|
2a42f245a9
|
Fixed #7130 (Wrong assignmentInAssert when using lambda in predicate function)
|
2016-05-26 18:29:29 +02:00 |
Daniel Marjamäki
|
54be403f64
|
Fixed #7026 (Cppcheck does not recognizes the use of a variabile inside lambda function)
|
2016-05-26 18:07:56 +02:00 |
Daniel Marjamäki
|
38741868b5
|
Fixed #3989 (false positive: memory leak (inline function))
|
2016-05-26 17:42:27 +02:00 |
Daniel Marjamäki
|
8b088a472f
|
SymbolDatabase: Refactoring
|
2016-05-26 12:04:18 +02:00 |
Daniel Marjamäki
|
f45233682e
|
SymbolDatabase: Code cleanup
|
2016-05-26 12:00:03 +02:00 |
Robert Reif
|
66cacde3db
|
Fixed #7513 (value flow of array dimension with enum doesn't always work)
|
2016-05-26 11:25:50 +02:00 |
Daniel Marjamäki
|
50352c8d69
|
Fixed #3552 (Don't warn about missing ctor for class inside union)
|
2016-05-25 19:05:16 +02:00 |
PKEuS
|
c7b3836379
|
Small refactorizations:
- Optimized performance of several functions by adding pre-checks
- Simplified some code
- Fixed VS warning in testsymboldatabase.cpp
|
2016-05-25 15:30:49 +02:00 |
PKEuS
|
8c0eab3eb3
|
Optimization: Improved performance of CheckBufferOverrun::checkScope() when dealing with a large number of arrays (#5975)
-> checking time decreases from 1010s to 50s on the code snippet in #5975
-> Dropped a garbage code unit test
|
2016-05-25 14:42:00 +02:00 |
Daniel Marjamäki
|
ae97f53244
|
Fixed #6184 (ValueType: overloaded < operator)
|
2016-05-25 13:56:36 +02:00 |
Matthias Krüger
|
0556edd151
|
fix #7505 (crash on invalid code)
|
2016-05-25 13:14:34 +02:00 |
PKEuS
|
728d4242dc
|
Refactorizations in CheckBufferOverrun:
- Improved performance of CheckBufferOverrun::checkScope()
- Made some patterns less restrictive
|
2016-05-25 11:50:34 +02:00 |
PKEuS
|
cda246da75
|
Refactorized CheckUnusedVar::checkStructMemberUsage(): Reimplemented check based on symboldatabase
|
2016-05-25 11:13:31 +02:00 |
PKEuS
|
e22c177003
|
Optimized Tokenizer::setVarIdPass1(): Avoid costly std::stack<std::map<...>>::push/pop() operations for struct initializers
|
2016-05-24 23:15:09 +02:00 |
PKEuS
|
43bf1bb685
|
Refactorized CheckUnusedVar::checkStructMemberUsage(): Drastically reduced number of Token::findmatch() calls to improve performance
|
2016-05-24 23:10:39 +02:00 |
PKEuS
|
686cc6640e
|
Refactorization: Improved performance of Tokenizer::simplifyMicrosoftMemoryFunctions() and Tokenizer::simplifyMicrosoftStringFunctions()
- Added pre-check before doing complex Token::Match() calls
- Use std::map instead of std::set
|
2016-05-24 21:19:20 +02:00 |
PKEuS
|
f2ae295f1e
|
Support char literals in CheckCondition::checkIncorrectLogicOperator() (#5912)
|
2016-05-24 15:08:48 +02:00 |
Daniel Marjamäki
|
06a594a9e0
|
Fixed #6207 ('not' misinterpreted as alternative C token)
|
2016-05-24 13:33:21 +02:00 |
Daniel Marjamäki
|
684966f674
|
Fixed #7509 (ValueType: wrong type for container element - std::array)
|
2016-05-24 09:07:38 +02:00 |
Daniel Marjamäki
|
397480f929
|
Fixed #7376 (ValueType: wrong type for container element)
|
2016-05-23 18:53:59 +02:00 |
Daniel Marjamäki
|
37afc57a2a
|
Fixed #7455 (Suppressions: not working well with windows path separators)
|
2016-05-23 15:38:47 +02:00 |
Simon Martin
|
ce05d23bb7
|
No need to use std::min() in normalizeCharacterLiteral.
|
2016-05-22 22:59:32 +02:00 |
PKEuS
|
4bb99a7887
|
Improved CheckSizeof::checkSizeofForPointerSize():
- Support cast in front of malloc() call
- Support sizeof(type) pattern (#4428)
|
2016-05-22 22:29:52 +02:00 |
Daniel Marjamäki
|
beabe110fd
|
setVarIdStructMembers: Fixed code so loop will terminate properly
|
2016-05-22 21:42:10 +02:00 |
Daniel Marjamäki
|
710e066a9a
|
Fixed #6406 (VarId: struct member initialization)
|
2016-05-22 21:18:52 +02:00 |
PKEuS
|
64d2fd2f57
|
Added new attribute "arg" to <alloc> and <dealloc> to specify the argument that is allocated/deallocated.
This fixes several issues with allocation functions in windows.cfg, such as HeapAlloc() and VirtualAllocEx() (#7503)
|
2016-05-22 17:19:14 +02:00 |
PKEuS
|
851c6e0ed5
|
Improved buffer overflow checking for scanf: %c with a width (#3494)
|
2016-05-22 14:00:26 +02:00 |
Roberto Martelloni
|
dce7128f30
|
CWE mapping of duplicateExpression, duplicateBreak (CWE561), unreachableCode, unsignedLessThanZero, unsignedPositive, pointerLessThanZero, pointerPositive, varFuncNullUB, nanInArithmeticExpression, commaSeparatedReturn, (#797)
ignoredReturnValue
|
2016-05-22 13:17:38 +02:00 |
Daniel Marjamäki
|
06d5e73e88
|
Fixed #7471 (Tokenizer::prepareTernaryOpForAST: typedef with comma inside ?:)
|
2016-05-22 11:33:21 +02:00 |
Daniel Marjamäki
|
b7b92b2140
|
Fixed #6674 (false positive 'unusedPrivateFunction' - calling virtual function in subclass)
|
2016-05-21 20:07:35 +02:00 |
Daniel Marjamäki
|
c23c1f245c
|
Fixed #6989 (incorrect memleak error)
|
2016-05-21 14:03:28 +02:00 |
Daniel Marjamäki
|
a5dc76d50c
|
Refactoring, use ast instead of token list to find if variable is used in rhs
|
2016-05-21 13:45:08 +02:00 |
amai2012
|
b60b283c5b
|
Merge pull request #796 from simartin/ticket_7452_follow_up
Address comments in PR#794 and alternative fix for ticket #7500.
|
2016-05-21 09:20:23 +02:00 |
Alexander Mai
|
d492500f34
|
#5844 False positive: returnReference fp for inner lambda function
|
2016-05-20 23:46:56 +02:00 |
Simon Martin
|
eb1b3db04a
|
Address comments in PR#794 and alternative fix for ticket #7500.
|
2016-05-20 22:52:43 +02:00 |
Alexander Mai
|
303a85a930
|
#4195 segmentation fault of cppcheck (invalid code). Fix segfault which turned up after refactoring the enum handling code.
|
2016-05-17 22:19:23 +02:00 |
Alexander Mai
|
4f77a2b044
|
#7500 buffer overflow: encodeMultiChar lib/mathlib.cpp:343. Improve errors handling
|
2016-05-17 20:43:32 +02:00 |
Daniel Marjamäki
|
7453b641bd
|
Fixed #4839 (Variable (in array) is assigned a value that is never used)
|
2016-05-17 16:03:55 +02:00 |
Daniel Marjamäki
|
99fc13ee70
|
Fixed #6968 (unusedPrivateFunction not correct, called by inner class)
|
2016-05-16 20:52:50 +02:00 |
Daniel Marjamäki
|
7fffc09b17
|
MathLib: Add #include for VS2013
|
2016-05-16 20:30:53 +02:00 |
Daniel Marjamäki
|
65998f1d7c
|
CheckClass: previous change introduced false positives when Token::function() is wrong. Avoid those false positives.
|
2016-05-16 10:55:22 +02:00 |
Daniel Marjamäki
|
bce15b1ade
|
CheckClass: refactored the code, use symboldatabase instead of name comparisons when possible, fixed a FN.
|
2016-05-16 09:36:26 +02:00 |
amai2012
|
22542e7547
|
Merge pull request #794 from simartin/ticket_7452
Ticket #7452: Properly interpret escape sequences in character literals.
|
2016-05-15 20:35:50 +02:00 |
Daniel Marjamäki
|
2668cee3cf
|
Fixed #6397 (FP deallocuse - conditional deallocation and conditional return)
|
2016-05-15 20:27:44 +02:00 |
Simon Martin
|
3af30e728c
|
Ticket #7452: Properly interpret escape sequences in character literals.
|
2016-05-15 15:48:24 +02:00 |
Alexander Mai
|
9d1302d523
|
#7490 sizeof('a') should be sizeof(int) in C mode. Previous fix was hardcoding 4 for C.
|
2016-05-14 22:52:43 +02:00 |
Daniel Marjamäki
|
2cb03b3fd0
|
Fixed #7409 (Tokenizer: Links not set properly 'Data<T&&>')
|
2016-05-14 20:40:30 +02:00 |
Daniel Marjamäki
|
7591a57587
|
Removed redundant valuetype debug output
|
2016-05-14 20:11:57 +02:00 |
Daniel Marjamäki
|
5a1bea2a09
|
Fixed #7244 (False memory leak when POD is allocated with value initialization and pushed onto container)
|
2016-05-14 14:56:51 +02:00 |
Alexander Mai
|
251fc022fa
|
#7490 sizeof('a') should be 4 in C mode
|
2016-05-14 13:05:44 +02:00 |
Roberto Martelloni
|
afa8ad0ebe
|
CWE mapping of selfAssignment, wrongmathcall, unpreciseMathCall, memsetZeroBytes, memsetFloat, memsetValueOutOfRange, clarifyCalculation, clarifyStatement
|
2016-05-14 10:13:33 +01:00 |
Kamil Dudka
|
efe98883ab
|
checkleakautovar: do not miss 'throw' followed by ::
|
2016-05-13 21:37:49 +02:00 |
Robert Reif
|
5631c765a7
|
SymbolDatabase: better handling when array size is given with expression involving enum constants.
|
2016-05-13 11:40:19 +02:00 |
Daniel Marjamäki
|
1d21cf5755
|
Tokenizer::setVarId: Refactoring, use continue in loops
|
2016-05-12 18:58:24 +02:00 |
Daniel Marjamäki
|
372763c85e
|
Tokenizer: Refactoring, split up the big Tokenizer::setVarId() function
|
2016-05-12 18:20:20 +02:00 |
Daniel Marjamäki
|
b04285514f
|
Tokenizer: Refactoring; use early return
|
2016-05-12 15:51:30 +02:00 |
Daniel Marjamäki
|
613311cc57
|
Fixed #7493 (enumMismatch on Enum declaration)
|
2016-05-12 11:46:08 +02:00 |
Robert Reif
|
97bbb7da0d
|
Fixed #7476 (SymbolDatabase: Wrong data with single ; in line)
|
2016-05-12 11:35:02 +02:00 |
Daniel Marjamäki
|
99d0dbf39c
|
Tokenizer::setVarId: Refactoring, changed type name
|
2016-05-11 21:12:29 +02:00 |
Daniel Marjamäki
|
b965cf5491
|
Fixed #7444 (Tokenizer::varId: Wrong varid when there is anonumous union in class)
|
2016-05-11 20:43:23 +02:00 |
Daniel Marjamäki
|
bf8471e109
|
Fixed #7491 (Questionable enumMismatch)
|
2016-05-11 15:33:59 +02:00 |
Daniel Marjamäki
|
fb5e6d8a7d
|
Fixed #6960 (New check: enum variable is assigned mismatching value)
|
2016-05-10 20:22:35 +02:00 |
Daniel Marjamäki
|
f0fcb859c7
|
Tokenizer: use static keyword instead of anonymous namespace for variables
|
2016-05-10 16:17:52 +02:00 |
amai2012
|
3dea23c99e
|
Use new signature Tokenizer::createTokens
|
2016-05-09 17:14:51 +02:00 |
Daniel Marjamäki
|
8a13b5cd83
|
Fix Cppcheck warning
|
2016-05-09 13:08:00 +02:00 |
Daniel Marjamäki
|
9c8922541e
|
Avoid C++11 for-range to make AppVeyor happy
|
2016-05-09 13:05:08 +02:00 |
Robert Reif
|
381fa53ec6
|
SymbolDatabase: better handling of enum values
|
2016-05-09 12:40:56 +02:00 |
Daniel Marjamäki
|
eac3660f46
|
ValueType: Changed type info for enums to 'signed int', that is what checks wants to see mostly.
|
2016-05-09 11:11:13 +02:00 |
Daniel Marjamäki
|
1caa79c45f
|
Tokenizer::simplifyPointerConst: Remove simplification. Its purpose was to avoid crash for garbage code (#6900). This fixes #7485.
|
2016-05-08 21:32:34 +02:00 |
Daniel Marjamäki
|
e99a9b4742
|
SymbolDatabase: Fix cleanup (avoid dead pointers)
|
2016-05-08 18:34:23 +02:00 |
Daniel Marjamäki
|
6f1af2cf0a
|
ValueType: Set ValueType info in simplified token list
|
2016-05-08 17:57:26 +02:00 |
Daniel Marjamäki
|
7edb1bc2e2
|
Fixed #7484 (ValueType: crash with --debug --verbose)
|
2016-05-08 17:43:34 +02:00 |
Daniel Marjamäki
|
e355e4ac78
|
ValueType: Refactoring
|
2016-05-08 17:42:53 +02:00 |
Daniel Marjamäki
|
803b4d4cf8
|
ValueType: Better handling of nested types
|
2016-05-08 14:55:10 +02:00 |
Daniel Marjamäki
|
636e97c272
|
ValueType: Improved debug output for nested types
|
2016-05-08 13:15:20 +02:00 |
Daniel Marjamäki
|
f0953c6916
|
ValueType: better handling of nonstandard types
|
2016-05-08 11:55:25 +02:00 |
Daniel Marjamäki
|
b94eaeca6a
|
ValueFlow: For convenience, return constant folded value
|
2016-05-08 11:17:10 +02:00 |
Daniel Marjamäki
|
b26dd1ccab
|
ValueFlow: Handle enums
|
2016-05-07 20:18:07 +02:00 |
Daniel Marjamäki
|
ad2d3394c8
|
Tokenizer: Create syntax tree before creating symboldatabase
|
2016-05-07 19:56:28 +02:00 |
Daniel Marjamäki
|
be90080976
|
Fixed #7481 (False positive AssignmentAddressToInteger - pointer to enum)
|
2016-05-07 19:51:37 +02:00 |
Alexander Mai
|
4e9afac92f
|
Update Makefile. Replace another NULL by nullptr
|
2016-05-07 17:35:00 +02:00 |
amai2012
|
eba1b0881d
|
Minor refactoring: use nullptr (instead of 0/NULL), change signature of Tokenizer::createTokens
|
2016-05-07 16:30:54 +02:00 |
PKEuS
|
5d5886b464
|
Properly detect binary & in CheckCondition::clarifyCondition() (fixes false positives when self-checking cppcheck)
|
2016-05-06 17:39:41 +02:00 |
PKEuS
|
896582ce56
|
Fixes for CheckStl::string_c_str():
- Fixed false positive #7480
- Fixed false negative: Show performance message also for non-local objects
|
2016-05-06 17:25:00 +02:00 |
PKEuS
|
3366a74bb0
|
Refactorized CheckCondition::clarifyCondition():
- Reimplemented parts of the check based on ValueType
- Merged two loops
Fixed some type conversion messages
|
2016-05-06 15:22:45 +02:00 |
PKEuS
|
0bf85f9aa5
|
ValueType: Support integers defined in libraries (#7394)
|
2016-05-04 15:39:56 +02:00 |
PKEuS
|
6c3f0a7bb8
|
SymbolDatabase: Properly detect lambdas with return type (#7473)
|
2016-05-04 14:10:09 +02:00 |
PKEuS
|
f0fb7a8245
|
Simplify __attribute__ earlier (#7462)
|
2016-05-04 13:51:34 +02:00 |
PKEuS
|
17ccb0fbe6
|
CheckClass::checkMemsetType(): Skip arrays of pointers (#7456)
|
2016-05-04 13:38:36 +02:00 |
PKEuS
|
21b51dd235
|
Check64BitPortability::pointerassignment(): Skip over lambdas (#7451)
|
2016-05-04 13:23:50 +02:00 |
PKEuS
|
b65cacf4b1
|
Tokenizer::simplifyStaticConst(): Support "struct" and operator:: (#7403)
|
2016-05-04 12:33:19 +02:00 |
PKEuS
|
f23668dfcc
|
Fixed false positive doubleFree (#7401)
|
2016-05-04 12:14:42 +02:00 |
PKEuS
|
23202d9442
|
Fixed bailoutFunctionPar() for temlate functions (#7396)
|
2016-05-04 11:38:29 +02:00 |
PKEuS
|
b7d8cd69f6
|
Fixed false negatives in CheckStl::string_c_str():
- Support more complex patterns (#7385)
- Use same logic for string_c_strReturn() as for string_c_strError()
|
2016-05-04 11:10:12 +02:00 |
Roberto Martelloni
|
01aaa56740
|
CWE mapping of redundantCopy, redundantAssignment, constStatement, charBitOp, variableScope, redundantAssignInSwitch, redundantCopyInSwitch, switchCaseFallThrough
|
2016-04-29 18:01:37 +01:00 |
amai2012
|
a54ec615f3
|
Run astyle
|
2016-04-25 11:12:35 +02:00 |
amai2012
|
479f00030e
|
Restore compatibility with current C++ language set specification (VS2010)
|
2016-04-24 23:02:56 +02:00 |
amai2012
|
7a8a6695a4
|
Merge pull request #786 from prozak/master
- fix for #5749 defect: internal error
|
2016-04-24 22:19:02 +02:00 |
Daniel Marjamäki
|
0635ceb42a
|
Replaced C++11 auto keyword
|
2016-04-23 09:18:28 +02:00 |
Robert Reif
|
ee2be81fae
|
enums: Fix false negatives caused by new enum handling
|
2016-04-22 20:26:58 +02:00 |
PKEuS
|
7ff90e7fae
|
Set version to 1.73.99/1.74 dev
|
2016-04-22 16:55:19 +02:00 |
prozak
|
6592638022
|
- fix for #5749 defect: internal error
typedef expansion in cast operator was not processed correctly
|
2016-04-22 21:39:03 +08:00 |
Daniel Marjamäki
|
2a719bd194
|
Use simpleMatch for simple pattern
|
2016-04-22 06:52:37 +02:00 |
Daniel Marjamäki
|
dc2a92263a
|
Fixed #7426 (RFC: time to replace simplifyEnum?)
|
2016-04-22 06:02:54 +02:00 |
Daniel Marjamäki
|
00a584d8d1
|
astyle formatting
|
2016-04-22 06:01:34 +02:00 |
Bartlomiej Grzeskowiak
|
7e020e1d92
|
- fix for #7428 false negative: Statement is always false
|
2016-04-14 14:50:08 +02:00 |
Roberto Martelloni
|
e89cd1b8a4
|
CWE mapping of unsafeClassCanLeak, zerodivcond, invalidPointerCast, redundantCopy, redundantAssignment, comparisonFunctionIsAlwaysTrueOrFalse, checkCastIntToCharAndBack, cstyleCast, passedByValue, clarifyCondition, exceptThrowInDestructor, exceptDeallocThrow, exceptRethrowCopy, catchExceptionByValue, fflushOnInputStream, seekOnAppendedFile, publicAllocationError
CWE mapping of unsafeClassCanLeak, zerodivcond, invalidPointerCast, redundantCopy, redundantAssignment, comparisonFunctionIsAlwaysTrueOrFalse, checkCastIntToCharAndBack, cstyleCast, passedByValue, clarifyCondition, exceptThrowInDestructor, exceptDeallocThrow, exceptRethrowCopy, catchExceptionByValue, fflushOnInputStream, seekOnAppendedFile, publicAllocationError
|
2016-04-12 19:29:40 +02:00 |
Daniel Marjamäki
|
b6d3aefba6
|
1.73: Set versions
|
2016-04-08 20:46:59 +02:00 |
amai2012
|
f5e8a72dc2
|
#7438 Incorrect alloca() avoidance suggestion
|
2016-04-08 11:21:53 +02:00 |
Robert Reif
|
47634a0ada
|
Fixed #7420 ((debug) Executable scope 'foo' with unknown function.)
|
2016-03-22 14:10:20 +01:00 |
Daniel Marjamäki
|
ac8341e3de
|
keep type suffixes after constant folding using bit operations
|
2016-03-21 21:20:02 +01:00 |
Daniel Marjamäki
|
4e4873772d
|
Fixed #7395 (ValueType: Result type of assignment operators)
|
2016-03-21 19:51:09 +01:00 |
Daniel Marjamäki
|
072120d19f
|
TemplateSimplifier::templateParameters: Handling r-value arguments
|
2016-03-18 11:09:41 +01:00 |
Robert Reif
|
100c4276ea
|
Fixed #7424 (value type: wrong sign)
|
2016-03-18 10:30:57 +01:00 |
Dmitry-Me
|
12a5f2509b
|
These conditions are mutually exclusive
|
2016-03-03 18:01:15 +03:00 |
Dmitry-Me
|
3bcd0e0535
|
Reduce variable lifetime
|
2016-03-02 19:07:20 +03:00 |
Daniel Marjamäki
|
253bfe432c
|
Fixed #7410 (Tokenizer: function pointer with throw())
|
2016-02-29 08:02:02 +01:00 |
Daniel Marjamäki
|
c5c376513b
|
Fixed #7102 (Preprocessor: skip __cplusplus sections in headers when .c file is checked)
|
2016-02-29 07:34:06 +01:00 |
Alexander Mai
|
0533d7bf9c
|
Run astyle + minor refactoring
|
2016-02-27 16:03:50 +01:00 |
Roberto Martelloni
|
d3645d874e
|
Mapped toomanyconfigs ,AssignmentAddressToInteger
,AssignmentIntegerToAddress ,CastIntegerToAddressAtReturn
,CastAddressToIntegerAtReturn ,assertWithSideEffect ,assignmentInAssert
,uselessAssignmentArg ,uselessAssignmentPtrArg
,comparisonOfFuncReturningBoolError
,comparisonOfTwoFuncsReturningBoolError ,comparisonOfBoolWithBoolError
,incrementboolean ,comparisonOfBoolWithInt ,compareBoolExpressionWithInt
,negativeIndex ,pointerOutOfBounds ,arrayIndexThenCheck
,possibleBufferAccessOutOfBounds ,argumentSize
,arrayIndexOutOfBoundsCond ,noConstructor ,copyCtorPointerCopying
,noCopyConstructor ,uninitMemberVar ,operatorEqVarError
,unusedPrivateFunction ,memsetClassFloat ,mallocOnClassWarning
,operatorEq ,thisSubtraction ,operatorEqRetRefThis ,operatorEqToSelf
,useInitializationList ,duplInheritedMember ,assignIfError
,comparisonError ,multiCondition ,mismatchingBitAnd
,oppositeInnerCondition ,incorrectLogicOperator ,redundantCondition
,moduloAlwaysTrueFalse to their CWEs ids.
|
2016-02-26 23:53:52 +00:00 |
Alexander Mai
|
41dee7f970
|
#7399 CMake error: Cannot specify link libraries for target 'testrunner' (reported by user dbuchholz). Add comment to mathlib.h
|
2016-02-19 21:40:31 +01:00 |
Alexander Mai
|
5c2960713f
|
Correct false positives compareBoolExpressionWithInt (0U)
|
2016-02-19 21:38:54 +01:00 |
Robert Reif
|
0fc59d0228
|
#7069 False positive invalidPrintfArgType_uint - %lu with 0ul
|
2016-02-19 10:12:47 +01:00 |
Daniel Marjamäki
|
d964825c9f
|
ValueType: Add debug output that is shown when --verbose is used
|
2016-02-15 16:18:24 +01:00 |
Alexander Mai
|
17bb07d522
|
#6913 max-configs=1 buggs out includefile resolving in case of circular dependency. Use simplified paths for internal list of includes parsed already
|
2016-02-14 11:51:18 +01:00 |
Daniel Marjamäki
|
6c324013e7
|
Use MAXTIME in templatesimplifier
|
2016-02-12 12:05:32 +01:00 |
Daniel Marjamäki
|
cef6b35bb8
|
Improve MAXTIME handling
|
2016-02-11 16:10:52 +01:00 |
Dmitry-Me
|
1f27c4b76b
|
Merge pull request #771 from Dmitry-Me/charUsedAsArrayIndex
Portability warning when 'char' type is used as array index
|
2016-02-10 20:11:38 +03:00 |
Daniel Marjamäki
|
3da997e163
|
astyle formatting
[ci skip]
|
2016-02-08 10:44:04 +01:00 |
Daniel Marjamäki
|
1ab5805d98
|
Fixed #6616 (valueFlowForward: for loop, variable in 3rd expression is changed in loop body)
|
2016-02-08 10:43:41 +01:00 |
Dmitry-Me
|
c3399493ef
|
Portability warning when 'char' type is used as array index
|
2016-02-08 10:08:35 +03:00 |
Daniel Marjamäki
|
c63d5cb1ae
|
CheckLeakAutoVar: fix in VarInfo::erase for referenced.
|
2016-02-07 19:54:32 +01:00 |
Daniel Marjamäki
|
a361f0192d
|
More CheckLeakAutoVar debug output
|
2016-02-07 19:53:55 +01:00 |
Daniel Marjamäki
|
34b5e0ce99
|
Fixed #6873 (False positive uninitvar - variable initialized via pointer)
|
2016-02-07 18:48:57 +01:00 |
Daniel Marjamäki
|
5fef7cc050
|
Fixed #4973 (wrong enum simplification of shadow struct variable)
|
2016-02-07 15:15:20 +01:00 |
Daniel Marjamäki
|
6c1012a8d6
|
Fixed #4625 (wrong enum simplification in shadowed enum declaration)
|
2016-02-07 13:51:03 +01:00 |
Daniel Marjamäki
|
f781f13997
|
Fixed #6806 (wrong enum simplification in initialization list)
|
2016-02-07 13:34:03 +01:00 |
PKEuS
|
f8bf2b5776
|
Removed rest of variableHidingTypedef and variableHidingEnum checking
|
2016-02-06 20:55:41 +01:00 |
Daniel Marjamäki
|
42278dd133
|
Tokenizer: skip constant folding in normal token list for C code. In C++ code we should only fold constants in template arguments.
|
2016-02-06 17:25:51 +01:00 |
amai2012
|
d25258359a
|
#7251 Remove checks variableHidingTypedef and variableHidingEnum
|
2016-02-06 15:37:58 +01:00 |
Daniel Marjamäki
|
7bd034c009
|
Fixed #7369 (False positive knownConditionTrueFalse - assertions)
|
2016-02-06 14:37:44 +01:00 |
PKEuS
|
b3a0d418e6
|
Refactorization: Compare only as much characters as necessary in Preprocessor
Fixed internal message
|
2016-02-05 21:06:07 +01:00 |