Daniel Marjamäki
|
3eef225b36
|
Revert preprocessor fix for struct tag macros. There are performance problems.
|
2016-07-19 18:59:58 +02:00 |
Daniel Marjamäki
|
4cc4ebd5cd
|
Travis: run slow unit test on travis that is too slow to run on development machines
|
2016-07-19 17:10:49 +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
|
ca929f0f1b
|
Try to fix #7608 (Assertion failed in test/testvarid.cpp at line 1988)
|
2016-07-19 11:59:37 +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
|
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
|
72ead10d93
|
cleanup tests
|
2016-07-18 10:52:38 +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
|
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 |
Daniel Marjamäki
|
6e3d5dc0d1
|
Fixed #7580 (False positive when using logical operator keywords 'and', 'or')
|
2016-07-16 20:21:31 +02: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 |
PKEuS
|
f869f7ebde
|
Fixed false positive reademptycontainer when end() is called (#7560)
|
2016-07-10 10:48:21 +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 |
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 |
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 |
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
|
3916cd628e
|
windows.cfg: Fixed configuration of _tfopen_s/_wfopen_s (
|
2016-06-02 09:41:01 +02:00 |
PKEuS
|
9a61559eca
|
Fixed false positive va_list_usedBeforeStarted (#7527)
|
2016-06-02 09:32:45 +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
|
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
|
be755af762
|
Removed todo testcase for #5783
|
2016-05-26 18:47:36 +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 |
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
|
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
|
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 |
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
|
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 |
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 |
Alexander Mai
|
d492500f34
|
#5844 False positive: returnReference fp for inner lambda function
|
2016-05-20 23:46:56 +02:00 |
orbitcowboy
|
b1b0c920e3
|
Removed sprintf_s from windows.cfg.
|
2016-05-19 08:22:40 +02:00 |
orbitcowboy
|
46adf180d7
|
cfg: Added support for fopen_s and sprintf_s functions. Fixed a wrong tests.
|
2016-05-18 09:31:26 +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
|
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 |
Alexander Mai
|
4816394511
|
#5970 false positive in Uninitialized variable: d - casting struct var to char*. It got fixed since 1.72, add regression test
|
2016-05-14 22:36:54 +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
|
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 |
Kamil Dudka
|
efe98883ab
|
checkleakautovar: do not miss 'throw' followed by ::
|
2016-05-13 21:37:49 +02:00 |
Daniel Marjamäki
|
df6a66deed
|
SymbolDatabase: Add test that makes sure enum constant values are calculated properly. Related with ticket #7493.
|
2016-05-12 12:07:40 +02:00 |
Daniel Marjamäki
|
613311cc57
|
Fixed #7493 (enumMismatch on Enum declaration)
|
2016-05-12 11:46:08 +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
|
a167a2d242
|
TestSymbolDatabase: Add some tests for the new enum handling
|
2016-05-09 18:34:24 +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
|
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
|
b26dd1ccab
|
ValueFlow: Handle enums
|
2016-05-07 20:18:07 +02:00 |
Daniel Marjamäki
|
be90080976
|
Fixed #7481 (False positive AssignmentAddressToInteger - pointer to enum)
|
2016-05-07 19:51:37 +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 |