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 |