Daniel Marjamäki
|
c687933e9f
|
value flow: improved handling of for loops
|
2014-01-10 18:19:24 +01:00 |
Daniel Marjamäki
|
3eebc8a9f1
|
test1
|
2014-01-10 16:51:58 +01:00 |
Daniel Marjamäki
|
acb103e214
|
value flow: skip scopes that don't contain variable
|
2014-01-10 16:13:39 +01:00 |
Daniel Marjamäki
|
d085705e8f
|
value flow: assume that value of global const variable is not changed
|
2014-01-10 05:47:56 +01:00 |
Daniel Marjamäki
|
752e9d0fb7
|
Tokenizer::varId: Fixed wrong varid for shadow types with same names as class members
|
2014-01-09 21:44:29 +01:00 |
Daniel Marjamäki
|
1be30bf022
|
ast: fixed handling of templates
|
2014-01-09 17:14:16 +01:00 |
XhmikosR
|
96b62c6ccb
|
Fix the C4800 warnings.
|
2014-01-09 16:58:42 +02:00 |
Daniel Marjamäki
|
04cb56e070
|
ast: fixed trouble with 'ab=a+(b/(c))+d;' where the '(c)' could be mistaken for a cast
|
2014-01-08 21:49:42 +01:00 |
Daniel Marjamäki
|
4f11086505
|
Tokenizer: Don't remove parentheses in 'a?b:(c>0?d:e)'
|
2014-01-08 20:53:33 +01:00 |
Daniel Marjamäki
|
644004573b
|
Preprocessor: fixed 8.0E+007 in macros
|
2014-01-08 18:05:14 +01:00 |
Daniel Marjamäki
|
7c4a7ac3d5
|
value flow: starting to refactor CheckNullPointer::nullPointerDeRefThenCheck
|
2014-01-08 17:37:39 +01:00 |
Daniel Marjamäki
|
9c50deda64
|
value flow: reverted TestOther, don't use value flow in test cases yet
|
2014-01-08 16:18:50 +01:00 |
Daniel Marjamäki
|
a2fe1ebe92
|
value flow: pass result of bool operator to function
|
2014-01-08 16:17:47 +01:00 |
Daniel Marjamäki
|
6d22c9deaa
|
value flow: if unsigned variable is compared against 1 with either >= or <= then assume it can have the value 0
|
2014-01-08 06:53:17 +01:00 |
Daniel Marjamäki
|
1e3c43e708
|
value flow: improved bailouts in ?:
|
2014-01-08 06:39:15 +01:00 |
Daniel Marjamäki
|
dfee044925
|
value flow: Fixed wrong value in subfunction after conditional return
|
2014-01-08 06:04:51 +01:00 |
Daniel Marjamäki
|
1fb0b1750c
|
value flow: Fixed FP in ?:
|
2014-01-07 19:46:13 +01:00 |
Daniel Marjamäki
|
740f72fdbd
|
value flow: simple handling of for loops
|
2014-01-07 19:20:56 +01:00 |
Martin Ettl
|
fa04273473
|
Merge branch 'master' of https://github.com/danmar/cppcheck
|
2014-01-06 18:51:15 +01:00 |
Daniel Marjamäki
|
a6320a35e0
|
value flow: added experimental subfunction handling
|
2014-01-06 16:37:52 +01:00 |
Daniel Marjamäki
|
58fb2e756b
|
Value flow: added bailout on }
|
2014-01-06 11:27:56 +01:00 |
Daniel Marjamäki
|
d172e9bb29
|
value flow: Fixed testing
|
2014-01-06 10:09:49 +01:00 |
Daniel Marjamäki
|
c4fa3bb137
|
value flow: added bailouts for global variables and assignments
|
2014-01-06 07:44:58 +01:00 |
Daniel Marjamäki
|
c32d0f1992
|
CheckInternal: Improved checking of multiCompare patterns. The multiCompare pattern can contain any %cmd% until there is non-%cmd% used. For instance %var%|%num% is handled ok.
|
2014-01-05 23:03:36 +01:00 |
Daniel Marjamäki
|
4620284cbf
|
astyle formatting
|
2014-01-05 22:06:11 +01:00 |
Daniel Marjamäki
|
62c608141d
|
CheckInternal: Improved checking of multiCompare patterns
|
2014-01-05 21:15:41 +01:00 |
Graham Whitted
|
86201c13cb
|
Fixed #5097 (TemplateSimplifier::expandTemplate assertion failure)
|
2014-01-05 19:19:52 +01:00 |
Alexander Mai
|
77362fd671
|
Fixed #5289 (Crash: Stack overflow in isImplicitlyVirtual_rec when checking SVN)
|
2014-01-05 19:10:16 +01:00 |
Daniel Marjamäki
|
29c64cc34c
|
Merge pull request #209 from simartin/ticket_5266
Ticket #5266: Properly tokenize "complex" static variable declarations.
|
2014-01-05 04:44:22 -08:00 |
Daniel Marjamäki
|
deb3699bd8
|
value flow: Updated Visual Studio files
|
2014-01-05 09:52:37 +01:00 |
Daniel Marjamäki
|
d8270c710a
|
Add new experimental value flow analysis
|
2014-01-04 20:57:02 +01:00 |
Daniel Marjamäki
|
f1054a50f6
|
Merge pull request #208 from simartin/ticket_5201
Ticket #5201: Get rid of internal error when checking valid C input for leaks
|
2014-01-04 05:18:44 -08:00 |
PKEuS
|
574c27b1b2
|
Removed VS9 solution
|
2014-01-04 10:55:27 +01:00 |
Simon Martin
|
d2cf9fd77c
|
Ticket #5266: Properly tokenize "complex" static variable declarations.
|
2014-01-04 10:49:27 +01:00 |
Simon Martin
|
6019f45249
|
Ticket #5201: Get rid of internal error when checking valid C input for memory leaks.
|
2014-01-03 23:27:56 +01:00 |
Daniel Marjamäki
|
7125682d1a
|
Fixed #5274 (TokenList: macro handling)
|
2014-01-03 18:53:37 +01:00 |
Robert Reif
|
cbe3862599
|
Fixed #5264 (Size specifier in printf functions is wrong for some types)
|
2014-01-03 15:58:45 +01:00 |
Zachary Blair
|
7a6386bc4b
|
Fixed #4867 (Memory Leak: Return value of malloc)
|
2014-01-03 10:12:32 +01:00 |
Daniel Marjamäki
|
372c29c24e
|
Fixed #5284 (duplicateExpression falsely reported by members of a union in some circumstances)
|
2014-01-02 16:58:07 +01:00 |
Daniel Marjamäki
|
2f91539d1d
|
Preprocessor: don't insert macroChar inside .1 and 1. tokens
|
2014-01-02 11:21:23 +01:00 |
Daniel Marjamäki
|
a1b0d190df
|
Fixed #3688 (false positive: (inconclusive, posix) (warning) The buffer 'cBuffer' is not zero-terminated after the call to readlink().)
|
2014-01-02 10:46:19 +01:00 |
Martin Ettl
|
5a5277f2fa
|
Tokenizer::simplifyVarDecl: Fixed crash when checking garbage code.
|
2014-01-01 19:15:32 +01:00 |
Martin Ettl
|
0dccd3a632
|
Tokenizer:simplifyFlowControl(): Fixed crash on garbage code.
|
2014-01-01 19:04:02 +01:00 |
Daniel Marjamäki
|
d62055277d
|
Fixed #4787 (False Positive: Unused private function)
|
2014-01-01 18:36:51 +01:00 |
Alexander Mai
|
5539e9ea0f
|
Fixed #5279 (False positive: warning (uninitMemberVar): Member variable 'ToDoubleArray::mfNaN' is not initialized in the constructor. (modified #5170 example))
|
2014-01-01 18:34:39 +01:00 |
Daniel Marjamäki
|
cd65d8e54f
|
Fixed #5169 (Preprocessor::removeComments : Bad handling of __asm)
|
2014-01-01 12:44:59 +01:00 |
Daniel Marjamäki
|
32be4094e7
|
Symbol database: only put variables in variable list
|
2013-12-31 17:51:56 +01:00 |
PKEuS
|
621cf6e777
|
Support arrays as template parameters in TemplateSimplifier::templateParameters
|
2013-12-31 13:59:32 +01:00 |
PKEuS
|
6f76dfcb22
|
Forward declare tinyxml type used in library.h to avoid problems with dynamic linked configuration.
|
2013-12-31 12:30:17 +01:00 |
Daniel Marjamäki
|
7e71c41ba7
|
Preprocessor: Don't insert macroChar inside 1.f and 1.e+7 as that mess it up later. Thanks ettlmartin for telling me about this.
|
2013-12-31 10:24:14 +01:00 |
Daniel Marjamäki
|
99703e1a3f
|
Preprocessor: make sure 1E-7, 1E+7, 1e+7 in macros is output as a single token. Putting a macroChar before the 7 mess it up later.
|
2013-12-30 18:03:24 +01:00 |
PKEuS
|
4f0121ee2f
|
Splitted simplification out of tokenize()
|
2013-12-30 17:45:28 +01:00 |
Daniel Marjamäki
|
582baa5648
|
Preprocessor: make sure 1e-7 is output as a single token. puttin a macroChar before the 7 mess it up later.
|
2013-12-29 21:51:01 +01:00 |
Daniel Marjamäki
|
41e4194573
|
Tokenizer: set links for <> in 'a=new b<c>;' code
|
2013-12-29 15:37:27 +01:00 |
Daniel Marjamäki
|
e13aa0dbc3
|
Fixed #5275 (FP mismatchAllocDealloc: user defined opendir()/closedir() on non-POSIX system)
|
2013-12-29 09:51:29 +01:00 |
Daniel Marjamäki
|
4b72f01e99
|
clarify calculation: Fixed FP for 'a = (*p ? 1 : 2)'
|
2013-12-28 11:02:39 +01:00 |
Daniel Marjamäki
|
e0eb000ac3
|
AST: Fixed problem with decrement
|
2013-12-27 14:40:59 +01:00 |
Daniel Marjamäki
|
872b6e8fcc
|
Fixed VS compiler warning. Using 'struct' for class. Thanks XhmikosR for reporting.
|
2013-12-26 17:48:25 +01:00 |
Daniel Marjamäki
|
742a6935ea
|
Calculation in sizeof: Fixed FP for sizeof(Fred**)
|
2013-12-26 13:52:58 +01:00 |
Daniel Marjamäki
|
29e74222fb
|
Sizeof calculation: Fixed FP for sizeof(int*[2])
|
2013-12-26 13:41:21 +01:00 |
Daniel Marjamäki
|
5d5e347418
|
AST: better handling of 'sizeof(void*)'
|
2013-12-25 22:08:53 +01:00 |
Daniel Marjamäki
|
915cb6c757
|
Fixed #5261 (AST: cast not handled well (a::b&)x)
|
2013-12-25 21:19:28 +01:00 |
Daniel Marjamäki
|
aa65799c19
|
pointerArithBool: Updated error message
|
2013-12-25 19:56:00 +01:00 |
Daniel Marjamäki
|
6182394966
|
Uninitialized variables: Fixed false positive taking value of pointer that is allocated but not initialized
|
2013-12-25 14:00:27 +01:00 |
Daniel Marjamäki
|
26dfddac6b
|
UninitVar: Fixed false positive when checking if allocated pointer is null
|
2013-12-24 12:48:17 +01:00 |
Daniel Marjamäki
|
4c44e62159
|
AST: Refactored CheckOther::clarifyCalculation
|
2013-12-24 10:07:20 +01:00 |
Daniel Marjamäki
|
753559fff3
|
Uninitialized variables: Don't warn about try/catch exception variables
|
2013-12-24 07:39:15 +01:00 |
Daniel Marjamäki
|
042d3afb80
|
CheckOther::checkDuplicateExpression: Readded warnings when there is a expression between the duplicate expressions 'X || Y || X'
|
2013-12-24 07:21:46 +01:00 |
Daniel Marjamäki
|
ac30a84c3a
|
Refactoring: Replaced CheckOther::checkCCTypeFunctions with configuration
|
2013-12-23 19:58:33 +01:00 |
Daniel Marjamäki
|
a3dd65caee
|
Fixed #5126 (new check: missing pointer dereference or pointer overflow 'if (p+1)')
|
2013-12-23 18:39:05 +01:00 |
Daniel Marjamäki
|
661784a170
|
Fixed #5255 (False positive (error) Uninitialized variable: ptr2 - calling a static member function)
|
2013-12-23 16:50:27 +01:00 |
Daniel Marjamäki
|
e2fa6a291c
|
Uninitialized variables: Fixed false negatives for loop variables / pointer dereference
|
2013-12-23 12:27:00 +01:00 |
Daniel Marjamäki
|
596b4bd405
|
astyle formatting
|
2013-12-23 12:26:12 +01:00 |
Daniel Marjamäki
|
e747b6c49b
|
Merge pull request #202 from simartin/ticket_5214
Ticket #5214: Added test case (ticket already fixed in mainline).
|
2013-12-23 02:49:25 -08:00 |
Daniel Marjamäki
|
76b907fe65
|
Fixed #5252 (Improve check: use Library to validate function arguments in invalidFunctionUsage)
|
2013-12-23 10:06:45 +01:00 |
Daniel Marjamäki
|
be03d4718a
|
Library: Added <valid> element that is used to define valid input values for functions
|
2013-12-22 19:10:14 +01:00 |
Simon Martin
|
02dc49624d
|
Ticket #5214: Don't read out of bounds upon invalid ternary operator.
|
2013-12-22 18:13:52 +01:00 |
Daniel Marjamäki
|
e2bc99aa24
|
Fixed #5154 (Tokenizer: wrong handling of msvc 'for each')
|
2013-12-17 06:34:27 +01:00 |
Daniel Marjamäki
|
762806499f
|
Fixed #5182 (Tokenizer::simplifyEnum: template function call as enum value)
|
2013-12-16 07:07:00 +01:00 |
Daniel Marjamäki
|
92305ed1f9
|
Fixed #5170 (False positive: warning (uninitMemberVar): Member variable 'ToDoubleArray::mfNaN' is not initialized in the constructor.)
|
2013-12-15 14:07:29 +01:00 |
Daniel Marjamäki
|
7938692b01
|
Fixed #5212 (Tokenizer::simplifyEnum bad simplification of enum value (1<<0)|(1<<1))
|
2013-12-15 07:47:04 +01:00 |
Daniel Marjamäki
|
f599e3184c
|
Fixed #5174 (Tokenizer: member function 'abort' returns)
|
2013-12-14 11:12:48 +01:00 |
Daniel Marjamäki
|
fdcb6634df
|
Fixed #5190 (FP Use const reference to avoid data copying)
|
2013-12-14 08:46:18 +01:00 |
Daniel Marjamäki
|
57ecdd693c
|
Fixed #5149 (false positive: (error) Dereferencing 'memory' after it is deallocated / released)
|
2013-12-14 07:37:24 +01:00 |
Daniel Marjamäki
|
80dec5a976
|
Uninitialized variables: Fixed FP when taking address of uninitialized variable
|
2013-12-13 20:10:22 +01:00 |
Daniel Marjamäki
|
7fe923bfc5
|
Uninitialized variables: Fixed FP when the variable is initialized in do-while condition
|
2013-12-13 13:27:01 +01:00 |
Daniel Marjamäki
|
3e6fbc6517
|
Fixed uninitialized variable FP after realloc if it fails. Related with ticket: #5240
|
2013-12-13 07:15:59 +01:00 |
Daniel Marjamäki
|
35189e80f2
|
Uninitialized variables: Fixed false positive for '*p=..'
|
2013-12-12 15:33:31 +01:00 |
Daniel Marjamäki
|
1b86615a69
|
Uninitialized variables: Fixed false positive for 'p=malloc; if (p) {}'
|
2013-12-12 11:44:07 +01:00 |
Daniel Marjamäki
|
4e7594748d
|
Uninitialized variables: Fixed false positive for 'p=malloc; if (python tools/daca2.py b)'
|
2013-12-12 09:17:41 +01:00 |
Daniel Marjamäki
|
9f62740e1d
|
Fixed #5236 (varid 0: vlc: src/misc/objects.c:126)
|
2013-12-12 08:44:00 +01:00 |
Daniel Marjamäki
|
a4f9cb78d5
|
Uninitialized variables: Fixed false positives when passing allocated pointer to function
|
2013-12-11 05:54:42 +01:00 |
Daniel Marjamäki
|
ef15e40de5
|
Uninitialized variables: error when passing uninit pointer to function
|
2013-12-10 18:36:16 +01:00 |
Daniel Marjamäki
|
5ba02d2fdd
|
AST: Always use AST
|
2013-12-09 18:06:19 +01:00 |
Daniel Marjamäki
|
be5c00d215
|
Uninitialized variables: check function arguments
|
2013-12-09 15:58:42 +01:00 |
Daniel Marjamäki
|
f686cd6516
|
astyle formatting
|
2013-12-04 20:54:37 +01:00 |
Daniel Marjamäki
|
14a00046a3
|
Fixed #5207 (Struct uninitialized members useage is not giving error (malloc).)
|
2013-12-04 20:32:20 +01:00 |
Simon Martin
|
fe75686595
|
Ticket #5203: Don't crash when checking buffer overrun for invalid code.
|
2013-11-30 07:40:32 +01:00 |
Daniel Marjamäki
|
0c5282b1af
|
Fixed #5081 (False positive: (error) Uninitialized variable: f (handling of C-cast not correct))
|
2013-11-28 16:04:47 +01:00 |
Daniel Marjamäki
|
771dc2e1ad
|
AST: Improved handling when calling function through function pointer hidden within parantheses '(a.f)(1,2)'
|
2013-11-27 06:17:00 +01:00 |