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 |